Page 1 of 1

นับวันที่ซ้ำกันให้เป็น1วันที่ตรงกับช่องที่มีข้อมูล

Posted: Mon May 20, 2019 9:32 am
by apinyapipat
{=COUNT(IF(V2=B3:B7,IF(F3:T7<>"",F1:T1),""))}
ผมใช้สูตร array นับได้แค่จำนวนข้อมูลทั้งหมด ที่ตรงกับวันที่ ที่ไม่ใช่ค่าว่าง สิ่งที่ผมต้องการคือ อยากให้ช่วงวันที่ที่มีชื่อซ้ำกัน3ช่อง
คือ1ใน3ช่อง ตรงกับข้อมูลที่ไม่ใช่ค่าว่างแค่1ช่อง ก็ให้นับเป็น1จำนวน(หรือ1วัน)

Re: นับวันที่ซ้ำกันให้เป็น1วันที่ตรงกับช่องที่มีข้อมูล

Posted: Mon May 20, 2019 9:44 am
by snasui
:D ตัวอย่างสูตรครับ

เซลล์ W3 คีย์

=SUM(IF(FREQUENCY(IF(F3:T3,MATCH($F$1:$T$1,$F$1:$T$1,0)),ROW(INDIRECT("1:"&COLUMNS($F$1:$T$1)))),1))

Ctrl+Shift+Enter > Copy ลงด้านล่าง

Re: นับวันที่ซ้ำกันให้เป็น1วันที่ตรงกับช่องที่มีข้อมูล

Posted: Mon May 20, 2019 9:48 am
by apinyapipat
ขอบคุณคับ เด๋วผมไปทำตามที่ท่านแนะนำได้ผล
อย่างไร จะมาแจ้งให้ทราบนะคับ

Re: นับวันที่ซ้ำกันให้เป็น1วันที่ตรงกับช่องที่มีข้อมูล

Posted: Mon May 20, 2019 10:02 am
by snasui
apinyapipat wrote: Mon May 20, 2019 9:48 am ขอบคุณคับ เด๋วผมไปทำตามที่ท่านแนะนำ ได้ผล
อย่างไร จะมาแจ้งให้ทราบนะคับ
:D คำว่า "คับ", "เด๋ว" ผิดกฎการใช้บอร์ดข้อ 1 ด้านบน :roll: แก้ไขให้ถูกต้องด้วยครับ

Re: นับวันที่ซ้ำกันให้เป็น1วันที่ตรงกับช่องที่มีข้อมูล

Posted: Mon May 20, 2019 2:04 pm
by apinyapipat
ครับ พอดีพึ่งเข้ามาดู ขอโทษนะครับ กำลังหาวิธีแก้อยู่ครับ หาแล้วครับ แก้ไขตรงไหนหรอครับ ปุ่มที่เป็นตัวดินสอไม่มีเลยครับ
ต้องขอโทษด้วยครับ แก้ไขไม่ทันแล้วครับ น่าจะหมดเวลาการแก้ไข โพสต์รอบหน้าผมจะระวังให้มากขึ้นครับ

Re: นับวันที่ซ้ำกันให้เป็น1วันที่ตรงกับช่องที่มีข้อมูล

Posted: Mon May 20, 2019 2:54 pm
by apinyapipat
กระทู้ซ้ำครับ

Re: นับวันที่ซ้ำกันให้เป็น1วันที่ตรงกับช่องที่มีข้อมูล

Posted: Mon May 20, 2019 3:00 pm
by apinyapipat
snasui wrote: Mon May 20, 2019 9:44 am :D ตัวอย่างสูตรครับ

เซลล์ W3 คีย์

=SUM(IF(FREQUENCY(IF(F3:T3,MATCH($F$1:$T$1,$F$1:$T$1,0)),ROW(INDIRECT("1:"&COLUMNS($F$1:$T$1)))),1))

Ctrl+Shift+Enter > Copy ลงด้านล่าง
ทำได้แล้วครับ แต่ยังขาด เรื่องของการลิ้ง รหัส/รปภ ที่อยู่ด้านขวามือ 008 009 010 อยากให้พอเปลี่ยนรหัส/รปภ แล้วให้นับข้อมูล ตามรหัส/รปภ ที่อยู่ทางด้านซ้ายมือครับ เช่น เปลี่ยนรหัสด้านขวา จาก008 ที่อยู่แถวบนสุด ให้เป็น 010 อยู่แถวบนสุดแทน

Re: นับวันที่ซ้ำกันให้เป็น1วันที่ตรงกับช่องที่มีข้อมูล

Posted: Mon May 20, 2019 4:28 pm
by Bo_ry
W3
=SUM(SIGN(FREQUENCY(IF(INDEX($F$3:$T$9,MATCH(V3,$B$3:$B$9,),),F$1:T$1),F$1:T$1)))

กด Ctrl+Shift+Enter

Re: นับวันที่ซ้ำกันให้เป็น1วันที่ตรงกับช่องที่มีข้อมูล

Posted: Mon May 20, 2019 6:18 pm
by snasui
apinyapipat wrote: Mon May 20, 2019 3:00 pm ทำได้แล้วครับ แต่ยังขาด เรื่องของการลิ้ง รหัส/รปภ ที่อยู่ด้านขวามือ 008 009 010 อยากให้พอเปลี่ยนรหัส/รปภ แล้วให้นับข้อมูล ตามรหัส/รปภ ที่อยู่ทางด้านซ้ายมือครับ เช่น เปลี่ยนรหัสด้านขวา จาก008 ที่อยู่แถวบนสุด ให้เป็น 010 อยู่แถวบนสุดแทน
:D ตัวอย่างการปรับสูตรครับ

W3 คีย์

=SUM(IF(FREQUENCY(IF(INDEX($F$3:$T$7,MATCH(V3,$B$3:$B$7,0),0),MATCH($F$1:$T$1,$F$1:$T$1,0)),ROW(INDIRECT("1:"&COLUMNS($F$1:$T$1)))),1))

สูตรจะยืดหยุ่นกับประเภทข้อมูลใน F1:T1 ไม่จำเป็นต้องเป็น Number แต่ต้องไม่ใช่ค่า Error ครับ

Re: นับวันที่ซ้ำกันให้เป็น1วันที่ตรงกับช่องที่มีข้อมูล

Posted: Mon May 20, 2019 6:24 pm
by apinyapipat
=SUM(IF(FREQUENCY(IF(INDEX($F$3:$T$7,MATCH(V3,$B$3:$B$7,0),0),MATCH($F$1:$T$1,$F$1:$T$1,0)),ROW(INDIRECT("1:"&COLUMNS($F$1:$T$1)))),1))

สูตรจะยืดหยุ่นกับประเภทข้อมูลใน F1:T1 ไม่จำเป็นต้องเป็น Number แต่ต้องไม่ใช่ค่า Error ครับ
ขอบคุณอย่างสูงครับ เว็ปนี้ดีจริงๆครับ ให้ทั้งความรู้และช่วยเหลือคนที่พึ่งเริ่มศึกษา excel

Re: นับวันที่ซ้ำกันให้เป็น1วันที่ตรงกับช่องที่มีข้อมูล

Posted: Mon May 20, 2019 6:54 pm
by apinyapipat
ขอบคุณ คุณBo_ry กับ ท่านอาจารย์ เป็นอย่างสูงครับ

Re: นับวันที่ซ้ำกันให้เป็น1วันที่ตรงกับช่องที่มีข้อมูล

Posted: Mon May 20, 2019 9:23 pm
by apinyapipat
snasui wrote: Mon May 20, 2019 6:18 pm
apinyapipat wrote: Mon May 20, 2019 3:00 pm ทำได้แล้วครับ แต่ยังขาด เรื่องของการลิ้ง รหัส/รปภ ที่อยู่ด้านขวามือ 008 009 010 อยากให้พอเปลี่ยนรหัส/รปภ แล้วให้นับข้อมูล ตามรหัส/รปภ ที่อยู่ทางด้านซ้ายมือครับ เช่น เปลี่ยนรหัสด้านขวา จาก008 ที่อยู่แถวบนสุด ให้เป็น 010 อยู่แถวบนสุดแทน
:D ตัวอย่างการปรับสูตรครับ

W3 คีย์

=SUM(IF(FREQUENCY(IF(INDEX($F$3:$T$7,MATCH(V3,$B$3:$B$7,0),0),MATCH($F$1:$T$1,$F$1:$T$1,0)),ROW(INDIRECT("1:"&COLUMNS($F$1:$T$1)))),1))

สูตรจะยืดหยุ่นกับประเภทข้อมูลใน F1:T1 ไม่จำเป็นต้องเป็น Number แต่ต้องไม่ใช่ค่า Error ครับ
สูตรที่ทั้ง2ท่านให้มา ผมยังขาดอีกนิดนึงครับ (คือผมลองทำความเข้าใจแล้วลองหาข้อมูลเพื่อจะทำเอง แต่เกินความสามารถผมจริงๆครับ)
คือ ช่วงข้อมูล F3:T7 พอใส่เป็นTEXTแล้วมันขึ้น #VALUE! เพราะผมต้องใช้TEXT ด้วยครับ ผมต้องใช้คำว่า "สด" ในการคำนวณ
รบกวน หน่อยนะครับ ขอบคุณมากครับ

Re: นับวันที่ซ้ำกันให้เป็น1วันที่ตรงกับช่องที่มีข้อมูล

Posted: Mon May 20, 2019 9:40 pm
by Bo_ry
เพิ่มตรงนี้
=SUM(SIGN(FREQUENCY(IF(INDEX($F$3:$T$9,MATCH(V3,$B$3:$B$9,),)<>0,F$1:T$1),F$1:T$1)))
หรือ
=SUM(SIGN(FREQUENCY(IF(INDEX($F$3:$T$9,MATCH(V3,$B$3:$B$9,),)<>"",F$1:T$1),F$1:T$1)))

Re: นับวันที่ซ้ำกันให้เป็น1วันที่ตรงกับช่องที่มีข้อมูล

Posted: Mon May 20, 2019 11:42 pm
by apinyapipat
Bo_ry wrote: Mon May 20, 2019 9:40 pm เพิ่มตรงนี้
=SUM(SIGN(FREQUENCY(IF(INDEX($F$3:$T$9,MATCH(V3,$B$3:$B$9,),)<>0,F$1:T$1),F$1:T$1)))
หรือ
=SUM(SIGN(FREQUENCY(IF(INDEX($F$3:$T$9,MATCH(V3,$B$3:$B$9,),)<>"",F$1:T$1),F$1:T$1)))
สมบูรณ์แบบแล้วครับ ขอบคุณ ท่าน Bo_ry และทุกท่าน เป็นอย่างสูงครับ (ถ้าผมลองศึกษาและทำเอง3วันก็คงจะทำไม่ได้จริงๆครับ)