:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

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

ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
akung
Member
Member
Posts: 159
Joined: Sun Mar 11, 2012 10:20 am

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

#1

Post by akung »

คือปกติ vlookup จะดึงข้อมูลมาได้แค่ 1 record เท่านั้น แต่ว่าข้อมูลจริงที่เราต้องการให้โชว์มีมากกว่า 1 Record Excel พอจะมีวิธีดึงข้อมูลมาโชว์ Record ทั้งหมดที่เราต้องการจะโชว์หรือเปล่าครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

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

#2

Post by snasui »

:D มีครับ ลองแนบตัวอย่างไฟล์ Excel มาด้วยจะได้สะดวกในการตอบครับ
User avatar
ChoBkuN
Member
Member
Posts: 239
Joined: Tue Nov 29, 2011 3:43 pm

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

#3

Post by ChoBkuN »

รอติดตาม อยากรู้เหมือนกันครับ ^ ^
akung
Member
Member
Posts: 159
Joined: Sun Mar 11, 2012 10:20 am

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

#4

Post by akung »

ผมแนบไฟล์ตัวอย่างมาแล้วครับรบกวนขอเทคนิดด้วยครับ ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

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

#5

Post by snasui »

:lol: ช่วยแสดงตัวอย่างคำตอบทีต้องการมาด้วยครับ

คีย์ค่าใด ที่ชีทไหน เซลล์ไหน ต้องการคำตอบเป็นอย่างไร จะได้เข้าใจตรงกันครับ
akung
Member
Member
Posts: 159
Joined: Sun Mar 11, 2012 10:20 am

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

#6

Post by akung »

snasui wrote::lol: ช่วยแสดงตัวอย่างคำตอบทีต้องการมาด้วยครับ

คีย์ค่าใด ที่ชีทไหน เซลล์ไหน ต้องการคำตอบเป็นอย่างไร จะได้เข้าใจตรงกันครับ
แนบไฟล์ใหม่ให้แล้วครับ ข้อมูลที่ต้องการอยู่ใน Sheet ดึงข้อมูล ครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

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

#7

Post 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 ไปทางขวาและลงด้านล่าง
ดูไฟล์แนบประกอบครับ
You do not have the required permissions to view the files attached to this post.
akung
Member
Member
Posts: 159
Joined: Sun Mar 11, 2012 10:20 am

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

#8

Post by akung »

ตัวอย่างที่แนบมา เหมือนจะลืมใส่สูตรครับ ผมลองทำตามที่อธิบายแล้วเหมือนจะแปลกครับ รบกวนด้วยครับ :)
User avatar
tupthai
Bronze
Bronze
Posts: 302
Joined: Sat Feb 04, 2012 2:49 pm

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

#9

Post 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
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

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

#10

Post by snasui »

:D แนบมาให้ใหม่แล้วสามารถดาวน์โหลดได้จากความเห็นเดิมเลยครับ :aru:
akung
Member
Member
Posts: 159
Joined: Sun Mar 11, 2012 10:20 am

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

#11

Post by akung »

snasui wrote::D แนบมาให้ใหม่แล้วสามารถดาวน์โหลดได้จากความเห็นเดิมเลยครับ :aru:
ขอบคุณมากครับ
akung
Member
Member
Posts: 159
Joined: Sun Mar 11, 2012 10:20 am

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

#12

Post 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
ขอบคุณครับ
Sheikhoung
Member
Member
Posts: 2
Joined: Fri Oct 27, 2017 10:40 am

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

#13

Post 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 ไปทางขวา และ ลงด้านล่างครับ
"

ผมนำสูตรมาปรับใช้งานกับส่วนงานที่ผมต้องการได้แล้วครับ แต่ว่าอยากได้ความเข้าใจมากกว่านี้อ่ะครับว่าหลักการทำงานเป็นอย่างไรบ้างครับ ขอบคุณอาจารย์ล่วงหน้าครับผม
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

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

#14

Post 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
RS.TOP
Member
Member
Posts: 28
Joined: Sun Apr 12, 2020 10:21 pm
Excel Ver: Microsoft 365 enterprise

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

#16

Post 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))))"

ขอขอบพระคุณล่วงหน้าครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

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

#17

Post 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/
RS.TOP
Member
Member
Posts: 28
Joined: Sun Apr 12, 2020 10:21 pm
Excel Ver: Microsoft 365 enterprise

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

#18

Post by RS.TOP »

ขอขอบพระคุณมากครับ อาจารย์ ตอนนี้ผมนำมาประยุกต์ใช้กับชีทงานของผมเรียบร้อยครับ :D :cp:
Post Reply