Page 1 of 1

รบกวนช่วยอธิบายการทำงานของสูตร unique ข้อมูลให้ด้วยครับ

Posted: Tue Oct 03, 2023 12:14 pm
by Redwing
สวัสดีครับ

ผมกำลังหาวิธี unique ข้อมูลอยู่ พอดีไปเจอสูตรนี้ แต่ไม่เข้าใจการทำงานของสูตรครับ
รบกวนขอความกรุณาช่วยอธิบายการทำงานให้ด้วยครับ

ขอบคุณมากครับ

Image

Re: รบกวนช่วยอธิบายการทำงานของสูตร unique ข้อมูลให้ด้วยครับ

Posted: Tue Oct 03, 2023 11:16 pm
by norkaz
...


จากสูตรเดิม

D3

=INDEX($B$3:$B$15,MATCH(0,COUNTIF($D$2:D2,$B$3:$B$15),0))

Ctrl + Shift + Enter

Copy ลงไป

ถ้าใช้ INDEX(....,0) ครอบหน้า COUNTIF จะช่วยให้ไม่ต้องกดสูตรแบบ Array เต็มรูป
Ctrl + Shift + Enter

=INDEX($B$3:$B$15,MATCH(0,INDEX(COUNTIF($D$2:D2,$B$3:$B$15),0),0))
Enter -> Copy ลงไป


การเขียนสูตรในลักษณะนี้ เป็นการยืม
"ผลลัพธ์ จากแถวด้านบน มาเป็นสะพานให้ ด้านล่าง"
เพื่ออ่านค่า ให้ได้คำตอบ ของแถวนั้น

และคำตอบของแถวนั้น จะเป็นสะพาน ให้แถวถัดๆ ไปเรื่อยๆ

เช่น

D2 เป็นสะพาน ในสูตรของ D3
ผลลัพธ์ D3 เป็นสะพาน ในสูตรของ D4
ผลลัพธ์ D4 เป็นสะพาน ในสูตรของ D5

ท่านเจ้าของคำถาม ลองแกะไปแบบนี้ ---

" ทำไปทีละแถว "

ในที่นี้ได้ตัด INDEX(....,0) ออกไป เพื่อให้คงสูตรเดิมตามที่ได้สอบถามมา

D3
=COUNTIF(D2:D2,B2:B15)

มีค่าเท่ากับ

={0;0;0;0;0;0;0;0;0;0;0;0;0;0}

ใช้ MATCH ไปครอบ

=MATCH(0,COUNTIF(D2:D2,B2:B15),0)

มีค่าเท่ากับ

=MATCH(0,{0;0;0;0;0;0;0;0;0;0;0;0;0;0},0)

Ctrl + Shift + Enter

เจอ 0 ตัวแรก ผลลัพธ์ = 1

ใช้ INDEX ไปครอบ

=INDEX(B3:B15,MATCH(0,{0;0;0;0;0;0;0;0;0;0;0;0;0;0},0))

Ctrl + Shift + Enter

ดึงค่าที่ 1มาแสดง = Jhonson

=============

D4
=COUNTIF(D2:D3,B3:B15)

มีค่าเท่ากับ

={1;1;1;0;0;0;0;0;0;0;0;0;0}

ใช้ MATCH ไปครอบ

=MATCH(0,COUNTIF(D2:D3,B3:B15),0)

มีค่าเท่ากับ

=MATCH(0,{1;1;1;0;0;0;0;0;0;0;0;0;0},0)

Ctrl + Shift + Enter

เจอ 0 ตัวแรก ผลลัพธ์ = 4

ใช้ INDEX ไปครอบ

=INDEX(B3:B15,MATCH(0,{1;1;1;0;0;0;0;0;0;0;0;0;0},0))

Ctrl + Shift + Enter

ดึงค่าที่ 4 มาแสดง = Dave

============

D5
=COUNTIF(D2:D4,B3:B15)

มีค่าเท่ากับ
={1;1;1;1;1;0;0;0;0;0;0;0;0}

ใช้ MATCH ไปครอบ

=MATCH(0,COUNTIF(D2:D4,B3:B15),0)

มีค่าเท่ากับ

=MATCH(0,{1;1;1;1;1;0;0;0;0;0;0;0;0},0)

Ctrl + Shift + Enter

เจอ 0 ตัวแรก ผลลัพธ์ = 6

ใช้ INDEX ไปครอบ

=INDEX(B3:B15,MATCH(0,COUNTIF(D2:D4,B3:B15),0))

Ctrl + Shift + Enter

ดึงค่าที่ 6 มาแสดง = Deepanshu

=======

D6 D7 D8 D9 ... และแถวอื่นๆ อธิบายในลักษณะเดียวกัน


**สนับสนุนฟอรั่ม กรุณาคลิกโฆษณาที่หน้าเพจ***

แมวใหญ่ Bigcat9
RCA พระราม9 กรุงเทพฯ