Page 1 of 1

พอจะมีเทคนิคการใช้ vlookup ดึงข้อมูลที่ซ้ำกันมากกว่า 2

Posted: Thu Mar 15, 2012 10:39 pm
by akung
คือปกติ vlookup จะดึงข้อมูลมาได้แค่ 1 record เท่านั้น แต่ว่าข้อมูลจริงที่เราต้องการให้โชว์มีมากกว่า 1 Record Excel พอจะมีวิธีดึงข้อมูลมาโชว์ Record ทั้งหมดที่เราต้องการจะโชว์หรือเปล่าครับ

Re: พอจะมีเทคนิคการใช้ vlookup ดึงข้อมูลที่ซ้ำกันมากกว่า 2

Posted: Thu Mar 15, 2012 11:24 pm
by snasui
:D มีครับ ลองแนบตัวอย่างไฟล์ Excel มาด้วยจะได้สะดวกในการตอบครับ

Re: พอจะมีเทคนิคการใช้ vlookup ดึงข้อมูลที่ซ้ำกันมากกว่า 2

Posted: Fri Mar 16, 2012 8:32 am
by ChoBkuN
รอติดตาม อยากรู้เหมือนกันครับ ^ ^

Re: พอจะมีเทคนิคการใช้ vlookup ดึงข้อมูลที่ซ้ำกันมากกว่า 2

Posted: Fri Mar 16, 2012 8:33 am
by akung
ผมแนบไฟล์ตัวอย่างมาแล้วครับรบกวนขอเทคนิดด้วยครับ ขอบคุณครับ

Re: พอจะมีเทคนิคการใช้ vlookup ดึงข้อมูลที่ซ้ำกันมากกว่า 2

Posted: Fri Mar 16, 2012 9:00 am
by snasui
:lol: ช่วยแสดงตัวอย่างคำตอบทีต้องการมาด้วยครับ

คีย์ค่าใด ที่ชีทไหน เซลล์ไหน ต้องการคำตอบเป็นอย่างไร จะได้เข้าใจตรงกันครับ

Re: พอจะมีเทคนิคการใช้ vlookup ดึงข้อมูลที่ซ้ำกันมากกว่า 2

Posted: Fri Mar 16, 2012 9:37 am
by akung
snasui wrote::lol: ช่วยแสดงตัวอย่างคำตอบทีต้องการมาด้วยครับ

คีย์ค่าใด ที่ชีทไหน เซลล์ไหน ต้องการคำตอบเป็นอย่างไร จะได้เข้าใจตรงกันครับ
แนบไฟล์ใหม่ให้แล้วครับ ข้อมูลที่ต้องการอยู่ใน Sheet ดึงข้อมูล ครับ

Re: พอจะมีเทคนิคการใช้ vlookup ดึงข้อมูลที่ซ้ำกันมากกว่า 2

Posted: Fri Mar 16, 2012 9:51 am
by snasui
:D ลองตามนี้ครับ

ที่ชีทดึงข้อมูล
  1. เซลล์ A4 คีย์สูตรเพื่อนับข้อมูลใน A3 ว่าพบกี่รายการ
    =COUNTIF(ข้อมูล!$A$2:$A$12,A3)
    Enter
  2. เซลล์ B3 คีย์สูตรเพื่อ List รายการที่พบ
    =IF(ROWS(B$3:B3)>$A$4,"",INDEX(ข้อมูล!B$2:B$12,SMALL(IF(ข้อมูล!$A$2:$A$12=$A$3,ROW(ข้อมูล!$A$2:$A$12)-ROW(ข้อมูล!$A$2)+1),ROWS(B$3:B3))))
    Ctrl+Shift+Enter > Copy ไปทางขวาและลงด้านล่าง
ดูไฟล์แนบประกอบครับ

Re: พอจะมีเทคนิคการใช้ vlookup ดึงข้อมูลที่ซ้ำกันมากกว่า 2

Posted: Fri Mar 16, 2012 10:27 am
by akung
ตัวอย่างที่แนบมา เหมือนจะลืมใส่สูตรครับ ผมลองทำตามที่อธิบายแล้วเหมือนจะแปลกครับ รบกวนด้วยครับ :)

Re: พอจะมีเทคนิคการใช้ vlookup ดึงข้อมูลที่ซ้ำกันมากกว่า 2

Posted: Fri Mar 16, 2012 10:31 am
by tupthai
ถ้าอยากใช้ vlookup ลองตามนี้ครับ
ผมใช้วิธีปรับตารางช่วยครับ
ที่ชีทข้อมูล
คอลัมน์ A
A2=COUNTIF($C$2:C2,C2)
Enter>copy ลงด้านล่าง
คอลัมน์ B
=A2&C2
Enter>copy ลงด้านล่าง

ที่ชีทดึงข้อมูล
คอลัมน์ B
ใส่ลำดับที่

C3=VLOOKUP($B3&$A$3,ข้อมูล!$B$2:$F$12,MATCH(C$2,ข้อมูล!$B$1:$F$1,0),0)
Enter>copy ไปทางขวา และ ลงด้านล่างครับ
:D

Re: พอจะมีเทคนิคการใช้ vlookup ดึงข้อมูลที่ซ้ำกันมากกว่า 2

Posted: Fri Mar 16, 2012 11:31 am
by snasui
:D แนบมาให้ใหม่แล้วสามารถดาวน์โหลดได้จากความเห็นเดิมเลยครับ :aru:

Re: พอจะมีเทคนิคการใช้ vlookup ดึงข้อมูลที่ซ้ำกันมากกว่า 2

Posted: Fri Mar 16, 2012 12:02 pm
by akung
snasui wrote::D แนบมาให้ใหม่แล้วสามารถดาวน์โหลดได้จากความเห็นเดิมเลยครับ :aru:
ขอบคุณมากครับ

Re: พอจะมีเทคนิคการใช้ vlookup ดึงข้อมูลที่ซ้ำกันมากกว่า 2

Posted: Sat Mar 17, 2012 1:47 pm
by akung
tupthai wrote:ถ้าอยากใช้ vlookup ลองตามนี้ครับ
ผมใช้วิธีปรับตารางช่วยครับ
ที่ชีทข้อมูล
คอลัมน์ A
A2=COUNTIF($C$2:C2,C2)
Enter>copy ลงด้านล่าง
คอลัมน์ B
=A2&C2
Enter>copy ลงด้านล่าง

ที่ชีทดึงข้อมูล
คอลัมน์ B
ใส่ลำดับที่

C3=VLOOKUP($B3&$A$3,ข้อมูล!$B$2:$F$12,MATCH(C$2,ข้อมูล!$B$1:$F$1,0),0)
Enter>copy ไปทางขวา และ ลงด้านล่างครับ
:D
ขอบคุณครับ

Re: พอจะมีเทคนิคการใช้ vlookup ดึงข้อมูลที่ซ้ำกันมากกว่า 2

Posted: Fri Oct 27, 2017 11:01 am
by Sheikhoung
สวัสดีครับ ผมเพิ่งจะเข้ามาในนี้เป็นครั้งแรก อยากจะได้ความรู้เพิ่มเติมอ่ะครับว่ากับสูตรการทำงานที่อาจารย์เขียนให้ ถ้าผมจะขอความอนุเคราะห์ช่วยอธิบายให้หน่อยได้ไหมอ่ะครับว่าสูตรที่เขียนมานี้ การทำงานเป็นอย่างไรอะครับ

"คอลัมน์ A
A2=COUNTIF($C$2:C2,C2)
Enter>copy ลงด้านล่าง
คอลัมน์ B
=A2&C2
Enter>copy ลงด้านล่าง

ที่ชีทดึงข้อมูล
คอลัมน์ B
ใส่ลำดับที่

C3=VLOOKUP($B3&$A$3,ข้อมูล!$B$2:$F$12,MATCH(C$2,ข้อมูล!$B$1:$F$1,0),0)
Enter>copy ไปทางขวา และ ลงด้านล่างครับ
"

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

Re: พอจะมีเทคนิคการใช้ vlookup ดึงข้อมูลที่ซ้ำกันมากกว่า 2

Posted: Fri Oct 27, 2017 11:16 am
by snasui
Sheikhoung wrote:COUNTIF($C$2:C2,C2)
:D เป็นการนับข้อมูลตามเงื่อนไข โดยนับว่าช่วงเซลล์ $C$2:C2 มีค่าตามเซลล์ C2 อยู่เท่าไร สังเกตเครื่องหมาย $ จะเป็นการ Lock เซลล์ หากคัดลอกลงไปด้านล่าง 1 บรรทัดมันจะเป็น $C$2:C3, C3 จะแปลว่า ช่วงเซลล์ $C$2:C3 มีค่าตามเซลล์ C3 อยู่เท่าไร เช่นนี้ครับ
Sheikhoung wrote:=A2&C2
เป็นการนำค่าในเซลล์ A2 เชื่อมกับ C2
Sheikhoung wrote:VLOOKUP($B3&$A$3,ข้อมูล!$B$2:$F$12,MATCH(C$2,ข้อมูล!$B$1:$F$1,0),0)
เป็นการค้นหาค่า $B3&$A$3 จากตาราง ข้อมูล!$B$2:$F$12 แล้วนำคอลัมน์ที่เป็นลัพธ์ของสูตร MATCH(C$2,ข้อมูล!$B$1:$F$1,0) มาแสดง
Sheikhoung wrote:MATCH(C$2,ข้อมูล!$B$1:$F$1,0)
หมายถึงให้หาว่า C$2 อยู่ในลำดับที่เท่าไรของ ข้อมูล!$B$1:$F$1

ฟังก์ชั่นพวกนี้เป็นฟังก์ชั่นพื้นฐานทั่วไป ควรศึกษาให้เข้าใจ ใช้ให้เป็น เพราะใช้บ่อยในการทำงานกับ Excel ครับ

ศึกษา Countif ได้ที่ Countif
ศึกษา Match ได้ที่ Match
ศึกษา Vlookup ได้ที่ Vlookup

Re: พอจะมีเทคนิคการใช้ vlookup ดึงข้อมูลที่ซ้ำกันมากกว่า 2

Posted: Fri Oct 27, 2017 4:05 pm
by Sheikhoung
ขอบพระคุณครับ.. :D :D

Re: พอจะมีเทคนิคการใช้ vlookup ดึงข้อมูลที่ซ้ำกันมากกว่า 2

Posted: Sun Nov 29, 2020 11:18 am
by RS.TOP
อาจารย์ครับ ผมสนใจการดึงข้อมูลที่ซ้ำกันมาแสดง ตามที่อาจารย์ได้ตอบไปด้านต้น
แต่อยากทำความเข้าใจกับสูตรที่ให้มาครับ
ขอความกรุณาอาจารย์ช่วยอธิบายสูตรแบบระเอียดด้วยครับ

"เซลล์ B3 คีย์สูตรเพื่อ List รายการที่พบ
=IF(ROWS(B$3:B3)>$A$4,"",INDEX(ข้อมูล!B$2:B$12,SMALL(IF(ข้อมูล!$A$2:$A$12=$A$3,ROW(ข้อมูล!$A$2:$A$12)-ROW(ข้อมูล!$A$2)+1),ROWS(B$3:B3))))"

ขอขอบพระคุณล่วงหน้าครับ

Re: พอจะมีเทคนิคการใช้ vlookup ดึงข้อมูลที่ซ้ำกันมากกว่า 2

Posted: Sun Nov 29, 2020 12:32 pm
by snasui
:D จากสูตร

=IF(ROWS(B$3:B3)>$A$4,"",INDEX(ข้อมูล!B$2:B$12,SMALL(IF(ข้อมูล!$A$2:$A$12=$A$3,ROW(ข้อมูล!$A$2:$A$12)-ROW(ข้อมูล!$A$2)+1),ROWS(B$3:B3))))

แปลว่า หาก ROWS(B$3:B3)>$A$4 เป็นจริง ให้แสดงค่าว่าง หากไม่เป็นจริงให้แสดงผลลัพธ์ของ INDEX(ข้อมูล!B$2:B$12,SMALL(IF(ข้อมูล!$A$2:$A$12=$A$3,ROW(ข้อมูล!$A$2:$A$12)-ROW(ข้อมูล!$A$2)+1),ROWS(B$3:B3)))

จากสูตร

INDEX(ข้อมูล!B$2:B$12,SMALL(IF(ข้อมูล!$A$2:$A$12=$A$3,ROW(ข้อมูล!$A$2:$A$12)-ROW(ข้อมูล!$A$2)+1),ROWS(B$3:B3)))

แปลว่า จากช่วงข้อมูล ข้อมูล!B$2:B$12 ให้นำค่าในลำดับที่ SMALL(IF(ข้อมูล!$A$2:$A$12=$A$3,ROW(ข้อมูล!$A$2:$A$12)-ROW(ข้อมูล!$A$2)+1),ROWS(B$3:B3)) มาแสดง นั่นแสดงว่าผลลัพธ์ของส่วนนี้จะต้องเป็นตัวเลขถึงจะใช้เป็นค่าลำดับได้

จากสูตร

SMALL(IF(ข้อมูล!$A$2:$A$12=$A$3,ROW(ข้อมูล!$A$2:$A$12)-ROW(ข้อมูล!$A$2)+1),ROWS(B$3:B3))

แปลว่า ให้หาค่าที่น้อยที่สุดจาก IF(ข้อมูล!$A$2:$A$12=$A$3,ROW(ข้อมูล!$A$2:$A$12)-ROW(ข้อมูล!$A$2)+1) ในลำดับที่ได้ค่ามาจาก ROWS(B$3:B3) หากส่วนนี้ให้ผลลัพธ์เป็น 1 แปลว่าให้หาค่าที่น้อยที่สุดในลำดับที่ 1 เป็นต้น

จากสูตร

IF(ข้อมูล!$A$2:$A$12=$A$3,ROW(ข้อมูล!$A$2:$A$12)-ROW(ข้อมูล!$A$2)+1)

แปลว่า หากข้อมูล!$A$2:$A$12=$A$3 เป็นจริง ให้แสดงผลลัพธ์ของ ROW(ข้อมูล!$A$2:$A$12)-ROW(ข้อมูล!$A$2)+1 แต่หากไม่เป็นจริงให้แสดงผลลัพธ์เป็น False

คำแปลของ ROW(ข้อมูล!$A$2:$A$12)-ROW(ข้อมูล!$A$2)+1 แปลว่าให้แสดงค่าลำดับโดยเริ่มจากเลข 1 สิ้นสุดในหมายเลข 11 (เลข 11 คือ จำนวนบรรทัดของ ROW(ข้อมูล!$A$2:$A$12)) ดูเพิ่มเติมที่นี่่ครับ https://snasui.com/wordpress/vlookup-multiple-values/

Re: พอจะมีเทคนิคการใช้ vlookup ดึงข้อมูลที่ซ้ำกันมากกว่า 2

Posted: Sun Nov 29, 2020 2:35 pm
by RS.TOP
ขอขอบพระคุณมากครับ อาจารย์ ตอนนี้ผมนำมาประยุกต์ใช้กับชีทงานของผมเรียบร้อยครับ :D :cp: