: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

การดึงข้อมูลข้ามsheet

ฟอรัมถาม-ตอบปัญหาการใช้งาน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
ioneco
Member
Member
Posts: 7
Joined: Thu Sep 16, 2010 8:40 pm

การดึงข้อมูลข้ามsheet

#1

Post by ioneco »

สวัสดีคะ อยากให้อาจารย์แนะนำสูตรที่จะช่วยให้ดึงข้อมูลจากอีกSheet(ข้อมูลลูกค้า) นึงมาใส่ในsheetใบแจ้งหนี้ คะ

ที่อยากให้ทำได้คือ กรอกเพียงบ้านเลขที่ ก็ได้พื้นที่ห้อง และชื่อเจ้าของให้คะ ตามเอกสารแนบคะ

ขอบคุณคะ พยายามลองศึกษาดูแล้ว แต่มืดแปดด้านเลยคะ :flw:
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30766
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: การดึงข้อมูลข้ามsheet

#2

Post by snasui »

:D ลองตามนี้ครับ

ลองตามนี้ครับ

1. ที่เซลล์ B6 หาชื่อเจ้าของห้อง

=VLOOKUP(J7,Sheet2!$A$1:$C$6,2,0)

Enter

2. ที่เซลล์ J8 หาพื้นที่ห้อง

=VLOOKUP(J7,Sheet2!$A$1:$C$6,3,0)

Enter

คำอธิบายส่วนประกอบ Vlookup


Vlookup(ค่าที่ต้องการค้นหา, ตารางข้อมูล, ลำดับคอลัมน์ที่นำมาแสดงผล, รูปแบบการค้นหา)

รูปแบบค้นหามีได้ ๒ แบบคือ แบบตรงตัวกับแบบใกล้เคียง

แบบตรงตัว กำหนดเป็น 0 หรือ False ความหมายคือค้นหาค่าที่ต้องการค้นหาในคอลัมน์แรกของตารางข้อมูล ถ้าไม่เจอจะแสดงผลลัพธ์เป็น #N/A ถ้าเจอให้แสดงข้อมูลที่ตรงกันในลำดับคอลัมน์ที่ให้ไว้

แบบใกล้เคียง กำหนดเป็น 1 หรือ True หรือปล่อยว่าง ความหมายคือค้นหาค่าที่อยกว่าหรือเท่ากับค่าที่ต้องการค้นหาในคอลัมน์แรกของตารางข้อมูลถ้าไม่เจอจะแสดงค่า #N/A ถ้าเจอให้แสดงข้อมูลที่ตรงกันในลำดับคอลัมน์ที่ให้ไว้
ioneco
Member
Member
Posts: 7
Joined: Thu Sep 16, 2010 8:40 pm

Re: การดึงข้อมูลข้ามsheet

#3

Post by ioneco »

ขอบคุณมากคะ อาจารย์ตอบไวมากเลยคะ
godman
Silver
Silver
Posts: 643
Joined: Mon Jul 05, 2010 6:18 pm

Re: การดึงข้อมูลข้ามsheet

#4

Post by godman »

INDEX(Sheet2!B1:B6,MATCH('0467'!J7:K7,Sheet2!A1:A6,0))
ผมลองใช้ index match ทำไมจึงไม่แสดงค่าหละครับ
กรณีใช้ index match ได้หรือไม่ และ
2.ผมเข้าใจมาตลอดว่า vlookup ข้อมูลจะต้องเรียงลำดับก่อน จึงจะใช้สูตรนี้ได้ อย่างนี้กรณีนี้ก็ไม่เข้าเงื่อนไข แต่ทำไมจึงใช้สูตรนี้ได้
index match ใช้ได้ไหมครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30766
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: การดึงข้อมูลข้ามsheet

#5

Post by snasui »

theeranart wrote:INDEX(Sheet2!B1:B6,MATCH('0467'!J7:K7,Sheet2!A1:A6,0))
ผมลองใช้ index match ทำไมจึงไม่แสดงค่าหละครับ
กรณีใช้ index match ได้หรือไม่ และ
2.ผมเข้าใจมาตลอดว่า vlookup ข้อมูลจะต้องเรียงลำดับก่อน จึงจะใช้สูตรนี้ได้ อย่างนี้กรณีนี้ก็ไม่เข้าเงื่อนไข แต่ทำไมจึงใช้สูตรนี้ได้
index match ใช้ได้ไหมครับ
:D Index และ Match ก็ใช้ได้ครับ แต่ว่าสูตรที่คุณ theeranart ให้มานั้นไม่ถูกต้องในส่วนที่ผมระบายสีตัวอักษรไว้ครับ INDEX(Sheet2!B1:B6,MATCH('0467'!J7:K7,Sheet2!A1:A6,0))

ที่ถูกน่าจะเป็น INDEX(Sheet2!B1:B6,MATCH('0467'!J7,Sheet2!A1:A6,0))

สำหรับ Vlookup นั้นข้อมูลไม่จำเป็นต้องจัดเรียงครับ ซึ่งต้องใช้ส่วนประกอบสุดท้ายเป็น 0 หรือ False เสมอ เป็นการ Lookup ค่าเแบบตรงตัว ข้อเสียของการ Lookup แบบนี้คือหากฐานข้อมูลขนาดใหญ่จะคำนวณช้ามาก ดังนั้น หากฐานข้อมูลขนาดใหญ่และข้อมูลไม่ซ้ำกันจึงควรเรียงข้อมูลเสียก่อนและกำหนดส่วนประกอบสุดท้ายของ Vlookup เป็น True หรือ 1 หรือปล่อยว่าง จะคำนวณเร็วมาก

ที่คำนวณเร็วเพราะหลักการคำนวณไม่เหมือนกับการ Lookup แบบตรงตัว เป็นการคำนวณที่เรียกว่า Binary Search โดยหลักการคือจะแบ่งช่วงการค้นหาเป็น 2 ช่วง บนและล่าง ถ้าไม่เจอในช่วงล่างก็วิ่งไปหาบนช่วงบน อย่างนี้ไปเรื่อย ๆ ไม่ได้หาแบบเปรียบเทียบรายตัวเหมือนการ Lookup แบบตรงตัวครับ :mrgreen:
godman
Silver
Silver
Posts: 643
Joined: Mon Jul 05, 2010 6:18 pm

Re: การดึงข้อมูลข้ามsheet

#6

Post by godman »

แสดงว่าถ้า ยูซเซอร์ merge cell ก็มีโอกาสที่จะผิดพลาดสูง ผมเข้าใจถูกนะครับ ผมกลับไปดูแล้ว และลองเปลี่ยน ใช้ได้ โอเค เลย ผมรัก index match ครับ เลยเป็นสุตรค้นหาติดตัวผม
User avatar
snasui
Site Admin
Site Admin
Posts: 30766
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: การดึงข้อมูลข้ามsheet

#7

Post by snasui »

:D ถ้าเกิดการ Merge Cells ก็ต้องระวังในการเขียนสูตรครับ :mrgreen:
godman
Silver
Silver
Posts: 643
Joined: Mon Jul 05, 2010 6:18 pm

Re: การดึงข้อมูลข้ามsheet

#8

Post by godman »

ผมพูดจากใจจริงนะ ผมอยากให้อาจารย์แนะนำ web ตัวอย่างที่มีการใช้ excel ในการกระบวนการผลิต ที่เจ๋ง แบบว่าใช้เวลา update เร็วมีข้อมูลครบถ้วน เวปของฝรั่งหรือญี่ปุ่นก็ได้ครับ อาจจะมีหลายชี้ตหน่อย แบบว่าทำงานใน file เดียว และมีประสิทธิผลนะครับ อาจารย์พอมีให้ผมเข้าไปโหลดไหมครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30766
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: การดึงข้อมูลข้ามsheet

#9

Post by snasui »

:D ก่อนหน้านี้ผมตอบอยู่ 2 เวบดังของต่างประเทศครับ คือ http://www.mrexcel.com/ และ http://www.excelforum.com/ ใ้ช้ชื่อว่า snasui แต่ที่นั่นก็เน้นถามและตอบ ถ้าจะหาข้อมูลเฉพาะเรื่องเพื่อศึกษาอาจจะใช้เวลา ส่วนเวบที่เขียนบทความเฉพาะเรื่อง เช่น เกี่ยวกับการผลิตแล้วมีตัวอย่างด้วยนั้นผมมักจะไม่ค่อยเจอครับ อาจจะเพราะไม่ค่อยได้ค้นหา ส่วนใหญ่จะคิดเอง แก้ปัญหาเฉพาะหน้าตามที่เพื่อนสมาชิกถามมา หากว่าผมเจอเวบเกี่ยวกับการวางแผนการผลิต กระบวนการผลิต แล้วจะมาบอกครับ ;)
User avatar
snasui
Site Admin
Site Admin
Posts: 30766
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: การดึงข้อมูลข้ามsheet

#10

Post by snasui »

:D ลองดูที่นี่ครับ http://www.ozgrid.com/Services/operatio ... plates.htm

:shock: ไม่ฟรีครับ :rz:
godman
Silver
Silver
Posts: 643
Joined: Mon Jul 05, 2010 6:18 pm

Re: การดึงข้อมูลข้ามsheet

#11

Post by godman »

ขอบคุณครับ และเวปนี้ก็กำลังเติบโตด้วย ยินดีล่วงหน้าครับ
ioneco
Member
Member
Posts: 7
Joined: Thu Sep 16, 2010 8:40 pm

Re: การดึงข้อมูลข้ามsheet

#12

Post by ioneco »

มีคำถามเพิ่มเติมคะิอาจารย์ ถ้าเราใส่ตัวเลขเพิ่มในคอลัมน์D ในsheet2

ต้องการดึงข้อมูลมาใส่ช่องG11 จากการกรอกเพียงบ้านเลขที่เช่นกันคะ

แต่เมื่อลองใช้สูตรที่อาจารย์ให้มาดัดแปลงดู ปรากฎว่า ขึ้นerror เป็น#REF! จะแก้ไขอย่างไรดีคะ
User avatar
snasui
Site Admin
Site Admin
Posts: 30766
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: การดึงข้อมูลข้ามsheet

#13

Post by snasui »

ioneco wrote:มีคำถามเพิ่มเติมคะิอาจารย์ ถ้าเราใส่ตัวเลขเพิ่มในคอลัมน์D ในsheet2

ต้องการดึงข้อมูลมาใส่ช่องG11 จากการกรอกเพียงบ้านเลขที่เช่นกันคะ

แต่เมื่อลองใช้สูตรที่อาจารย์ให้มาดัดแปลงดู ปรากฎว่า ขึ้นerror เป็น#REF! จะแก้ไขอย่างไรดีคะ
:D จากสูตรเดิม =VLOOKUP(J7,Sheet2!$A$1:$C$6,3,0) จะเห็นว่าที่ผมระบายสีไว้นั้นครอบคลุมแค่เพียงคอลัมน์ C หากเราไม่แก้ไขช่วงข้อมูลแต่เขียนสูตรใหม่เป็น =VLOOKUP(J7,Sheet2!$A$1:$C$6,4,0) จะเกิดค่าผิดพลาด #ref! ครับ เพราะคลุมแค่ 3 คอลัมน์แต่ให้แสดงผลลัพธ์ที่คอลัมน์ที่ 4 ซึ่งเป็นไปไม่ได้ที่สูตรจะแสดงผลเช่นนั้น

การแก้ไขต้องแก้ที่ช่วงข้อมูลเพื่อให้ครอบคลุมคอลัมน์ที่ต้องการแสดงผลเป็น =VLOOKUP(J7,Sheet2!$A$1:$D$6,4,0) ครับ :mrgreen:
ioneco
Member
Member
Posts: 7
Joined: Thu Sep 16, 2010 8:40 pm

Re: การดึงข้อมูลข้ามsheet

#14

Post by ioneco »

ขอบคุณอาจารย์มากค่ะ ได้ความรู้เพิ่มขึ้นเยอะเลยคะ
houkman
Member
Member
Posts: 6
Joined: Wed Sep 24, 2014 4:52 pm

Re: การดึงข้อมูลข้ามsheet

#15

Post by houkman »

รบกวนสอบถามเพิ่มครับ จากสูตร =VLOOKUP(J7,Sheet2!$A$1:$D$6,4,0)
ถ้าผมต้องการ ค้นหาจาก Sheet2 Sheet3 Sheet4 พร้อมกันจะทำได้ไหมครับ รบกวนอาจารย์ด้วยครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30766
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: การดึงข้อมูลข้ามsheet

#16

Post by snasui »

:D การทำ Vlookup จากหลายชีทดูตัวอย่างได้ที่นี่ครับ Vlookup multiple sheets
วิภาวรรณ์
Member
Member
Posts: 2
Joined: Thu Nov 02, 2017 9:15 am

Re: การดึงข้อมูลข้ามsheetแบบมีเงื่อนไข ให้อยู่ตำแหน่งเดิม

#17

Post by วิภาวรรณ์ »

ดึงข้อมูลข้ามจากชีทหนึ่ง โดยมีเงื่อนไข ถ้าเป็นจริงให้แสดงข้อมูล ทั้งแถวอีกชีทหนึ่ง โดยอยากให้อยู่ตำแหน่งเดิมกับชีทแรก ถ้าเป็นเท็จให้ข้ามไปแบบไม่ให้ขึ้นเลข0หรือN/A พอทำได้ไหมค่ะ
User avatar
puriwutpokin
Guru
Guru
Posts: 3725
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: การดึงข้อมูลข้ามsheet

#18

Post by puriwutpokin »

ลองแนบไฟล์ตัวอย่าง และคำตอบที่ต้องการมาด้วยครับ เพื่อนๆสมาชิกจะได้ เข้าใจปัญหาเร็วขึ้นครับ
:shock: :roll: :D
playpm
Member
Member
Posts: 2
Joined: Fri Aug 09, 2019 3:05 pm

Re: การดึงข้อมูลข้ามsheet

#19

Post by playpm »

ขอบคุณมากๆเลยค่ะ
Post Reply