Page 1 of 1

ต้องการให้จับคู่รายการที่ทำการยกเลิก

Posted: Wed Jun 13, 2018 5:29 pm
by niwat2811
รบกวนสอบถามผู้รู้ครับ ต้องการจับคู่รายการที่ทำการยกเลิก
โดยดูจากเลขที่บัญชีเดียวกันและมีรายการบวกและลบที่เท่ากัน
ให้แสดงค่า Error ใน Column C โดยจับคู่อย่างไรก็ได้ ไม่สนใจบรรทัดที่ต้องแสดงผล
คำตอบที่ต้องการอยู่ในไฟล์แนบ ขอบคุณครับ

Re: ต้องการให้จับคู่รายการที่ทำการยกเลิก

Posted: Wed Jun 13, 2018 6:28 pm
by DhitiBank
ลองแบบนี้ครับ

D2
=IF(COUNTIF(D$1:D1,MATCH(1,INDEX(($A$2:$A$13=A2)*($B$2:$B$13=-B2),0),0)),0,MATCH(1,INDEX(($A$2:$A$13=A2)*($B$2:$B$13=-B2),0),0))
Enter >> คัดลอกลงล่าง จะแสดงตำแหน่งการจับคู่ครับ

C2
=IF(D2>0,"Error","")

Re: ต้องการให้จับคู่รายการที่ทำการยกเลิก

Posted: Thu Jun 14, 2018 2:26 pm
by niwat2811
สูตรที่ให้มาสามารถใช้ได้ตรงตามความต้องการ ขอบคุณครับ

Re: ต้องการให้จับคู่รายการที่ทำการยกเลิก

Posted: Fri Jan 25, 2019 10:23 am
by niwat2811
รบกวนขออนุญาตสอบถามเพิ่มเติมครับ เนื่องจากว่าถ้าเกิดใน 1 เลขที่บัญชีมีรายการยกเลิกมากกว่า 1 ครั้ง
จะแสดงรายการยกเลิกไม่ถูกต้องครับ จากตัวอย่างคอลัมภน์ A แถบสีน้ำเงินคือเลขที่บัญชีที่มีการทำการยกเลิก 2 ครั้ง
แต่แสดงค่ามาแค่ครั้งเดียวครับ ไม่ทราบว่าควรปรับสูตรอย่างไรถึงจะแสดงรายการอย่างถูกต้องโดยให้มีการจับคู่ทุกครั้ง
ที่มีการยกเลิกในแต่ละบัญชี ขอบคุณครับ

Re: ต้องการให้จับคู่รายการที่ทำการยกเลิก

Posted: Fri Jan 25, 2019 1:07 pm
by DhitiBank
คงต้องใช้สูตรอาร์เรย์ครับ ที่ D2 ปรับเป็น

=IF(COUNTIF(D$1:D1,MATCH(1,INDEX(($A$2:$A$89=A2)*($B$2:$B$89=-B2)*IF(COUNTIFS($A$1:$A1,$A2,$B$1:$B1,$B2),ROW($A$2:$A$89)-ROW($A$2)+1>LOOKUP(2,1/(($A$1:$A1=$A2)*($B$1:$B1=$B2)),$D$1:$D1),1),0),0)),0,MATCH(1,INDEX(($A$2:$A$89=A2)*($B$2:$B$89=-B2)*IF(COUNTIFS($A$1:$A1,$A2,$B$1:$B1,$B2),ROW($A$2:$A$89)-ROW($A$2)+1>LOOKUP(2,1/(($A$1:$A1=$A2)*($B$1:$B1=$B2)),$D$1:$D1),1),0),0))

กด Ctrl+Shift ค้างไว้แล้ว Enter > คัดลอกลงล่างครับ

Re: ต้องการให้จับคู่รายการที่ทำการยกเลิก

Posted: Fri Jan 25, 2019 1:28 pm
by niwat2811
ขอบคุณครับสำหรับคำตอบ
แต่ยังคงไม่ได้ตามต้องการ ที่บรรทัดที่ 3 แสดงค่าเป็น #N/A
และที่บรรทัด 69 และ 70 ยังไม่แสดงค่าเป็น Error ครับ
ส่วนบรรทัดอื่นๆ แสดง Error ได้ถูกต้องครับ
ไม่ทราบว่าต้องปรับสูตรเพิ่มเติมอย่างไรครับ

Re: ต้องการให้จับคู่รายการที่ทำการยกเลิก

Posted: Fri Jan 25, 2019 2:05 pm
by DhitiBank
ปรับอีกรอบครับ
D2
=IFERROR(MATCH(1,INDEX(($A$2:$A$89=A2)*($B$2:$B$89=-B2)*IF(COUNTIFS($A$1:$A1,$A2,$B$1:$B1,$B2),ROW($A$2:$A$89)-ROW($A$2)+1>MAX(IF($A$1:$A1=$A2,IF($B$1:$B1=$B2,$D$1:$D1))),1),0),0),0)

กด 3 ปุ่มเหมือนเดิมครับ

Re: ต้องการให้จับคู่รายการที่ทำการยกเลิก

Posted: Fri Jan 25, 2019 2:18 pm
by niwat2811
ขอบคุณครับสำหรับคำตอบ สูตรที่ให้มาสามารถใช้ได้ตรงตามความต้องการครับ

Re: ต้องการให้จับคู่รายการที่ทำการยกเลิก

Posted: Fri Jan 25, 2019 2:44 pm
by Bo_ry
อีกแบบ
D2
=IFERROR(AGGREGATE(15,6,(ROW($A$2:$A$89)-ROW($A$1))/($A$2:$A$89=A2)/($B$2:$B$89=-B2),COUNTIFS(A$2:A2,A2,B$2:B2,B2)),)