: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

ดึงข้อมูลตามชื่อที่เหมือนกันมาแสดง แต่ไม่ได้ตามที่ต้องการ

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
March201711
Gold
Gold
Posts: 1030
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

ดึงข้อมูลตามชื่อที่เหมือนกันมาแสดง แต่ไม่ได้ตามที่ต้องการ

#1

Post by March201711 »

คือ ชื่อลูกค้ามีลักษณะเหมือนกันหรือคล้ายกันแต่ formula ไปดึงข้อมูลจับอีกคนที่ไม่มีรายชื่อค่ะ ต้องปรับสูตรอย่างไรคะ
เช่น sheet ของลูกค้าชื่อ Mr.Tana มี ยอด 15,993.28 bht ดึงข้อมูลมาถูกที่ Cell B6
เช่น sheet ของลูกค้าชื่อ Mr.Chaichat มี ยอด 39,902.00 bht แต่สูตรไปดึงข้อมูลเป็นอีกคนนึงซึ่งมีชื่อหน้าเหมือนกัน เป็น Mr.Chait ที่ cell B7 high light สีเหลือง ซึ่งที่ถูกควรเป็นชื่อ Mr.Chaitchat
เช่น sheet ของลูกค้าชื่อ Mr.Anan มี ยอด 1,552,953.60 bht แต่สูตรไปดึงข้อมูลเป็นอีกคนนึงซึ่งมีชื่อหน้าเหมือนกัน เป็น Mr.Anant-Worachai ที่ cell B8 ซึ่งที่ถูกควรเป็นชื่อ Mr.Anan ค่ะ
You do not have the required permissions to view the files attached to this post.
Xcelvba
Silver
Silver
Posts: 550
Joined: Thu Feb 03, 2022 9:04 am
Excel Ver: 2019

Re: ดึงข้อมูลตามชื่อที่เหมือนกันมาแสดง แต่ไม่ได้ตามที่ต้องการ

#2

Post by Xcelvba »

ใน cell C2 ที่เป็นสีเหลืองชื่อที่ดึงมาถูกแล้วครับ เพราะสูตรอ้างอิงจากรหัส ใน ตาราง A15:B20 ซึ่ง

123453-9 เป็นชื่อของ Mr.Chait Saiepoie ครับ

รหัส 944839-9 ถึงเป็นของ คุณ Mr.Chaitchat Soouewv

ส่วนใน Column A ใส่สูตรเพราะต้องการข้อมูลอย่างไรครับ อธิบายมาคร่าวๆครับ เพราะสูตร Column B อ้างอิงรหัสจาก Column A ครับ

ตัวอย่างสูตรในอย่างง่ายใน column B ครับ =IFERROR(VLOOKUP(A7,$A$15:$B$20,2,0),"")
March201711
Gold
Gold
Posts: 1030
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลตามชื่อที่เหมือนกันมาแสดง แต่ไม่ได้ตามที่ต้องการ

#3

Post by March201711 »

แต่ชีทที่ ชื่อ Mr.Chait ไม่มียอดนะคะ อยากให้ดึงข้อมูลชื่อคนที่มียอดคือ Mr.Chaitchat ถึงจะถูก ข้อมูลดึงมาผิดชื่อเพราะชื่อ 7 ตัวอักษรแรกเหมือนกันค่ะ ต้องปรับสูตรยังงัยคะให้ดึงข้อมูลชื่อคนมาถูกและยอดมาด้วยค่ะ ขอบคุณค่ะ
User avatar
snasui
Site Admin
Site Admin
Posts: 30750
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ดึงข้อมูลตามชื่อที่เหมือนกันมาแสดง แต่ไม่ได้ตามที่ต้องการ

#4

Post by snasui »

:D สูตรในคอลัมน์ A, B เป็นผลมาจากคอลัมน์ C ครับ

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

เบื้องต้นลองปรับสูตรใหม่เป็นด้านล่างครับ
  1. ที่ A6 คีย์
    =INDIRECT(MID(FORMULATEXT(C6),5,FIND("!",FORMULATEXT(C6))-5)&"!A2")
    Enter > Copy ลงด้านล่าง
  2. ที่ B6 คีย์
    =IFERROR(VLOOKUP(A6,$A$15:$B$171,2,FALSE),"")
    Enter > Copy ลงด้านล่าง
March201711
Gold
Gold
Posts: 1030
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลตามชื่อที่เหมือนกันมาแสดง แต่ไม่ได้ตามที่ต้องการ

#5

Post by March201711 »

ตรง cell D7 ทำมึ้น #REF! high light สีส้ม ยอดที่ถูกคือ 16/03/2023 ต้องปรับสูตรยังงัยคะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30750
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ดึงข้อมูลตามชื่อที่เหมือนกันมาแสดง แต่ไม่ได้ตามที่ต้องการ

#6

Post by snasui »

:D แก้ชื่อชีตให้มี - กลางเหมือนค่าใน C7 เสียก่อนครับ

จากนั้นปรับสูตรที่ D7 เป็น

=IF(C7="","",INDIRECT("'"&LEFT(C7,FIND(" ",C7)-1)&"'!d4"))

Enter > Copy ไปใช้กับเซลล์อื่น ๆ ที่เกี่ยวข้อง

ปกติชื่อชีตควรเขียนด้วยตัวหนังสือล้วน หากมีวรรค มีตัวเลข มีเครื่องหมายใด ๆ (ที่ไม่ต้องห้าม) จะต้องครอบชื่อชีตด้วยเครื่องหมาย ' เสมอครับ

กรณีไม่เพิ่ม - ในชื่อชีต สามารถเปลี่ยนสูตรเป็น

=IF(C7="","",INDIRECT(SUBSTITUTE(LEFT(C7,FIND(" ",C7)-1),"-","")&"!d4"))
March201711
Gold
Gold
Posts: 1030
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลตามชื่อที่เหมือนกันมาแสดง แต่ไม่ได้ตามที่ต้องการ

#7

Post by March201711 »

ถ้าตรง cell C7 ชื่อเป็นเป็นค่าเคาะวรรค มีชื่อต้น กลาง และนามสกุล ทำให้ค่าขึ้น #REF! ที่ cell D7 (high light สีส้ม) ยอดที่ถูกคือ 16/03/2023 ต้องปรับสูตรยังงัยคะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30750
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ดึงข้อมูลตามชื่อที่เหมือนกันมาแสดง แต่ไม่ได้ตามที่ต้องการ

#8

Post by snasui »

:D สิ่งที่ควรทำคือต้องทราบว่า C7 มาจากไหน ตามไปแก้ต้นทางให้ถูกต้องและต้องทำเช่นนี้ในทุก ๆ งาน ไม่ใช่ไปแก้สูตรให้มีความซับซ้อนรองรับความไม่เป็นมาตรฐานของการคีย์ข้อมูลครับ
March201711
Gold
Gold
Posts: 1030
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลตามชื่อที่เหมือนกันมาแสดง แต่ไม่ได้ตามที่ต้องการ

#9

Post by March201711 »

แก้ตามทุกชีทแล้วนะคะแต่ก็ยังขึ้น #REF อยู่ค่ะ
User avatar
snasui
Site Admin
Site Admin
Posts: 30750
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ดึงข้อมูลตามชื่อที่เหมือนกันมาแสดง แต่ไม่ได้ตามที่ต้องการ

#10

Post by snasui »

:D แนบไฟล์ล่าสุดมาด้วยจะได้ช่วยดูให้ได้ครับ
March201711
Gold
Gold
Posts: 1030
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลตามชื่อที่เหมือนกันมาแสดง แต่ไม่ได้ตามที่ต้องการ

#11

Post by March201711 »

แสดงค่าที่ถูกต้อง เป็นวันที่ 16/03/2023 ที่ cell D7 ตามfileที่แนบมาค่ะ แต่ทำไมยังขึ้น #REF อยู่ค่ะอาจารย์
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30750
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ดึงข้อมูลตามชื่อที่เหมือนกันมาแสดง แต่ไม่ได้ตามที่ต้องการ

#12

Post by snasui »

:D กรุณาทำตามโพสต์ #10 :ard: การตรวจสอบสูตรจำเป็นจะต้องมีไฟล์ Excel ที่เป็นปัญหาแนบมาด้วยเสมอครับ
snasui wrote: Fri Mar 17, 2023 6:51 pm :D แนบไฟล์ล่าสุดมาด้วยจะได้ช่วยดูให้ได้ครับ
March201711
Gold
Gold
Posts: 1030
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลตามชื่อที่เหมือนกันมาแสดง แต่ไม่ได้ตามที่ต้องการ

#13

Post by March201711 »

ตามไฟล์ที่แนบมานี้ค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30750
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ดึงข้อมูลตามชื่อที่เหมือนกันมาแสดง แต่ไม่ได้ตามที่ต้องการ

#14

Post by snasui »

March201711 wrote: Fri Mar 17, 2023 6:40 pm แก้ตามทุกชีทแล้วนะคะแต่ก็ยังขึ้น #REF อยู่ค่ะ
:D แก้แบบนั้นถือว่าใช้ไม่ได้ครับ ควรแก้คอลัมน์ N ให้เป็นชื่อเดียวกับชื่อชีตทุกประการ สิ่งนี้ควรทำเป็นมาตรฐานหากจะต้องนำมาใช้งานลักษณะนี้ ไม่เช่นนั้นจะทำให้เกิดการเขียนสูตรที่ซับซ้อนเพราะต้องดัก Error ที่อาจจะมีได้หลากหลาย ยกตัวอย่างสูตรที่ปรับปรุงใหม่หากยังไม่ทำข้อมูลไม่เป็นมาตรฐาน

ที่เซลล์ D4 คีย์

=IF(C4="","",INDIRECT("'"&TRIM(SUBSTITUTE(C4,TEXTAFTER(C4," ",-1-ISNUMBER(FIND(",",C4))),""))&"'!d4"))

Enter > Copy ลงด้านล่าง
March201711
Gold
Gold
Posts: 1030
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลตามชื่อที่เหมือนกันมาแสดง แต่ไม่ได้ตามที่ต้องการ

#15

Post by March201711 »

ได้แล้วค่ะ ขอบคุณิาจารย์มากค่ะ :D
March201711
Gold
Gold
Posts: 1030
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลตามชื่อที่เหมือนกันมาแสดง แต่ไม่ได้ตามที่ต้องการ

#16

Post by March201711 »

เกิดปัญหาอีกแล้วค่ะ ถ้าตรง cell C7 ชื่อเป็นเป็นค่าเคาะวรรค มีชื่อต้น กลาง และนามสกุล ทำให้ค่าขึ้น #REF! ที่ cell D7 (high light สีส้ม) ยอดที่ถูกคือ 21/03/2023 ต้องปรับสูตรยังงัยคะ
ยอดที่ถูกต้องต้องเป็นวันที่ 16/03/2023 ที่ cell D7 ค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30750
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ดึงข้อมูลตามชื่อที่เหมือนกันมาแสดง แต่ไม่ได้ตามที่ต้องการ

#17

Post by snasui »

:D ผมเขียนอธิบายไว้แล้วในโพสต์ที่ 14 ด้านบน :roll: ว่าควรทำแบบไหน อย่างไร กรุณาอ่านทบทวน ไม่เข้าใจตรงไหนค่อยถามกันต่อครับ
March201711
Gold
Gold
Posts: 1030
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลตามชื่อที่เหมือนกันมาแสดง แต่ไม่ได้ตามที่ต้องการ

#18

Post by March201711 »

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

Re: ดึงข้อมูลตามชื่อที่เหมือนกันมาแสดง แต่ไม่ได้ตามที่ต้องการ

#19

Post by snasui »

:D เป็นฟังก์ชันที่ต้องใช้กับ Excel 365 ครับ

ส่วน Error ผมอธิบายไว้แล้วว่าป้องกันเหตุการณ์นี้อย่างไรตามโพสต์นี้ครับ
snasui wrote: Sat Mar 18, 2023 10:13 am ควรแก้คอลัมน์ N ให้เป็นชื่อเดียวกับชื่อชีตทุกประการ สิ่งนี้ควรทำเป็นมาตรฐานหากจะต้องนำมาใช้งานลักษณะนี้ ไม่เช่นนั้นจะทำให้เกิดการเขียนสูตรที่ซับซ้อนเพราะต้องดัก Error ที่อาจจะมีได้หลากหลาย
หากไม่แก้คอลัมน์ N ก็เพิ่มรายการมาที่คอลัมน์ O ก็ย่อมได้ คอลัมน์นี้จะต้องเป็นชื่อเดียวกับชื่อชีตทุกประการ โดยคอลัมน์นี้จะนำไปแสดงคอลัมน์ C เพื่อให้คอลัมน์ D อ้างอิงเอาไปใช้งาน หากเป็นเช่นนี้จะสะดวกต่อการเขียนสูตร ไม่เกิดความซับซ้อน สามารถปรับปรุงเองได้ในภายหลัง
Post Reply