snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
Forum rules
ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
Bposj16
Member
Posts: 29 Joined: Fri May 05, 2017 1:21 pm
#1
Post
by Bposj16 » Thu May 11, 2017 3:02 pm
รบกวนปรึกษาหน่อยคะ
เนื่องจากต้องการเขียนสูตรเพื่อ Match ข้อมูล 2 sheet คือ sheet ชื่อ FTE60 และ FTE59 ให้มาแสดงใน sheet ของพนักงานแต่ละคน โดย Match เลข JOB กับ Drawing NO. ลองใช้สูตร INDEX,MATCH แล้ว แต่ผลลัพธ์ออกมาได้แค่ sheet เดียว
รบกวนผู้รู้ด้วยนะคะ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31257 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#2
Post
by snasui » Thu May 11, 2017 8:09 pm
ตัวอย่างสูตรครับ
ที่ชีต พาณุมาศ เซลล์ B9 คีย์
=LOOKUP(CHAR(255),CHOOSE({1,2,3},"",INDEX(FTE60!I:I,MATCH(AJ9,FTE60!H:H,0),INDEX(FTE59!I:I,MATCH(AJ9,FTE59!H:H,0)))))
Enter > Copy ลงด้านล่าง
แต่ไม่พบว่ามีคำตอบ ให้ตรวจสอบว่าคอลัมน์ AJ ของแต่ละชีตมีในชีต FTE60 และ FTE59 หรือไม่ หากมีอยู่ในตำแหน่งใด มีค่าตรงกับค่าในคอลัมน์ AJ ทุกอักขระหรือไม่ เช่นนี้เป็นต้นครับ
Bposj16
Member
Posts: 29 Joined: Fri May 05, 2017 1:21 pm
#3
Post
by Bposj16 » Fri May 12, 2017 10:52 am
ขอบคุณมากๆนะคะ
Bposj16
Member
Posts: 29 Joined: Fri May 05, 2017 1:21 pm
#4
Post
by Bposj16 » Fri May 12, 2017 11:37 am
รบกวนอีกครั้งคะ ลองใส่สูตรแล้ว เลข drawing NO. ไม่ Match กับ เลข Job คะ
และลองแก้ไขสูตรเพื่อให้ตรงกับข้อมูลที่ต้องการคะ
=LOOKUP(CHAR(255),CHOOSE({1,2,3},"",INDEX(FTE60!B:B,MATCH(AJ9,FTE60!C:C,0),INDEX(FTE59!C:C,MATCH(AJ9,FTE59!D:D,0)))))
รบกวนอีกครั้งนะคะ
ขอบคุณมากๆคะ
snasui
Site Admin
Posts: 31257 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#5
Post
by snasui » Fri May 12, 2017 8:20 pm
แนบไฟล์ตัวอย่างพร้อมคีย์คำตอบที่ถูกต้องมาด้วยจะได้สะดวกในแนะนำต่อไปจากนั้นครับ
Bposj16
Member
Posts: 29 Joined: Fri May 05, 2017 1:21 pm
#6
Post
by Bposj16 » Mon May 15, 2017 9:35 am
ขอบคุณมากคะ หนูได้แนบไฟล์ตัวอย่างให้แล้วคะ ลองใส่สูตรที่อาจารย์บอกไปใน sheet พาณุมาศ cell B8 ผลลัพธ์เป็น 0 โดยคำตอบที่ต้องการคือให้ match เลข JOB ที่อยู่ใน sheet FTE59 cell D146 คะ ตัวอย่างเหมือน sheet ชื่อพิชัยรัตน์ ใน cell ที่ hilight สีเขียวคะ ซึ่งจริงๆต้องการเขียนสูตรเพื่อเวลาใส่เลข Drawing No. ของแต่ละปี หากเลขใดมีเลข Job แล้ว สามารถ match เลข Job ของทั้ง 2 ปี ได้เลยคะ
รบกวนอีกครั้งนะคะ
ขอบคุณมากคะ
You do not have the required permissions to view the files attached to this post.
DhitiBank
Gold
Posts: 1676 Joined: Mon Oct 15, 2012 12:07 am
#7
Post
by DhitiBank » Mon May 15, 2017 1:42 pm
ที่ชีท พานุมาศ เซลล์ B8 รูปแบบสูตรไม่เหมือนกับที่อาจารย์ snasui ให้เลยครับ
ลองปรับแบบนี้ครับ
=LOOKUP(CHAR(255),CHOOSE({1,2,3},"",INDEX(FTE60!C:C,MATCH(AJ8,FTE60!B:B,0)),INDEX(FTE59!D:D,MATCH(AJ8,FTE59!C:C,0))))
Bposj16
Member
Posts: 29 Joined: Fri May 05, 2017 1:21 pm
#8
Post
by Bposj16 » Mon May 15, 2017 2:22 pm
ได้สูตรตามที่ต้องการแล้วคะ ขอบคุณ K.Dhitibank มากๆคะ สูตรอันเก่าไม่เหมือนอาจารย์ snasui คะ เพราะลองปรับดู ปรากฏว่าข้อมูลไม่match ตามที่ต้องการ
รบกวนถามเพิ่มเติมคะ สูตร CHAR นี่ใช้กรณีไหนคะ เนื่องจากไม่เคยใช้สูตรนี้คะ อยากรู้เพื่อเป็นความรู้เพิ่มเติมคะ
snasui
Site Admin
Posts: 31257 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#9
Post
by snasui » Mon May 15, 2017 8:32 pm
สูตร Lookup(Char(255),Range) จะเป็นการหาค่าสุดท่ายที่เป็นอักขระใน Range (Range หมายถึงช่วงข้อมูล) สูตรด้านบนมีคำตอบที่ถูกแปลงเป็นช่วงข้อมูลอยู่ 3 ค่าคือ
"" ,INDEX(FTE60!C:C,MATCH(AJ8,FTE60!B:B,0)) ,INDEX(FTE59!D:D,MATCH(AJ8,FTE59!C:C,0))
ค่าช่วงใดที่ให้ผลลัพธ์ได้ ส่วนนั้นจะถูกนำไปแสดงเป็นคำตอบ แต่หากไม่มีช่วงใดเป็นคำตอบได้ ค่าว่างที่อยู่ด้านหน้าสุดจะถูกนำไปแสดงเป็นคำตอบครับ