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] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
March201711
Gold
Posts: 1047 Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365
#1
Post
by March201711 » Thu Feb 01, 2018 9:39 pm
ต้องการดึงข้อมูลจากซ้ายไปขวาใน 2 ตาราง ตามเอกสารแนบค่ะ
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 Feb 01, 2018 9:43 pm
อ่านแล้วไม่เข้าใจหลักการ ช่วยอธิบายมาด้วยว่ามีหลักในการดึงอย่างไรครับ
March201711
Gold
Posts: 1047 Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365
#3
Post
by March201711 » Thu Feb 01, 2018 10:15 pm
ต้องการดึงข้อมูลจาก 2 ตาราง ซึ่ง ตารางนึงมี 4 column code A และ code C คือ code เก่า ส่วน code B และ code D คือ code ใหม่ ข้อมูลที่ได้จะเป้นข้อมูลดิบเป็น code ใหม่ จุดประสงค์อยาก conversion รายการเปรียบเทียบcode เก่า ว่ามาจาก code เก่าชื่ออะไร ข้อมูลแต่ละวันมาไม่ซ้ำกันมาเป็นหมื่นๆรายการเยอะมากเลยค่ะ
snasui
Site Admin
Posts: 31257 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#4
Post
by snasui » Fri Feb 02, 2018 5:35 am
ตัวอย่างสูตรครับ
ที่ D14 คีย์
=LOOKUP(CHAR(255),CHOOSE({1,2,3},"",INDEX($D$3:$D$7&"",MATCH(1,IF($B$3:$B$7=B14,IF($C$3:$C$7=C14&"",IF($E$3:$E$7=E14,1))),0)),INDEX($I$3:$I$7&"",MATCH(1,IF($G$3:$G$7=B14,IF($H$3:$H$7=C14,IF($J$3:$J$7=E14,1))),0))))
Ctrl+Shift+Enter > Copy ลงด้านล่าง
ควรแจ้งว่าต้องการคำตอบที่เซลล์ใดมาด้วยจะได้เข้าใจได้ทันทีครับ
March201711
Gold
Posts: 1047 Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365
#5
Post
by March201711 » Fri Feb 02, 2018 6:28 am
ต้องการคำตอบใน column B14-B19 C14-C19 และ E14-E19 ที่เป็น high light สีเหลืองค่ะอาจารย์ ส่วน columnD เป็นข้อมูลให้หาคำตอบค่ะ
snasui
Site Admin
Posts: 31257 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#6
Post
by snasui » Fri Feb 02, 2018 6:44 am
คำตอบควรเป็นคอลัมน์ D เมื่อคอลัมนอื่น ๆ เป็นเงื่อนไขเพื่อใช้ดึงข้อมูลในคอลัมน์ D มาแสดงตามที่ผมตอบไปแล้ว ไม่เช่นนั้นต้องอธิบายเงื่อนไขมาใหม่ทั้งหมดอย่างละเอียดครับ
March201711
Gold
Posts: 1047 Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365
#7
Post
by March201711 » Fri Feb 02, 2018 7:00 am
ต้องการดึงข้อมูลจาก 2 ตาราง ซึ่ง ตารางนึงมี 4 column คือ code A และ code C คือ code เก่า ส่วน code B และ code D คือ code ใหม่ ข้อมูลที่ได้จะเป้นข้อมูลดิบอยู่code D ค่ะ จุดประสงค์อยาก conversion รายการเปรียบเทียบcode เก่า ฉะนั้น ต้องการดึง ข้อมูลดิบ code D ซึ่งอยู่ทางขวามาแสดงผลลัพธ์ทางซ้าย ( column B และ C) ที่เป็น high light สีเหลือง ค่ะ ใช้ ใช้ index แล้วดึงแค่ ตารางเดียว อาจารย์ช่วยชี้แนะ ขอบคุณค่ะ
You do not have the required permissions to view the files attached to this post.
logic
Gold
Posts: 1511 Joined: Thu Mar 18, 2010 1:57 pm
Excel Ver: 365
#8
Post
by logic » Fri Feb 02, 2018 9:15 am
ลองดูครับ
B14 =OFFSET($B$2,MIN(IF($B$3:$J$7=$D14+0,ROW($B$3:$B$7)-ROW($B$3)+1)),MIN(IF($B$3:$J$7=$D14+0,COLUMN($B$3:$J$3)-COLUMN($B$3)))-3+COLUMNS($B14:B14))
กดสามแป้นคือ Ctrl+Shift+Enter ไม่ใช่แค่ Enter อย่างเดียว คัดลอกสูตรไป C14 แล้วคัดลอกลงด้านล่าง
March201711
Gold
Posts: 1047 Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365
#9
Post
by March201711 » Fri Feb 02, 2018 10:32 am
ขอโทษที่ตั้งโจทย์ผิดค่ะ ที่จริงต้องดึงข้อมูลจากขวาไปซ้าย ตามเอกสารแนบนี้ ขอบคุณที่ให้ความช่วยเหลือค่ะ
You do not have the required permissions to view the files attached to this post.
logic
Gold
Posts: 1511 Joined: Thu Mar 18, 2010 1:57 pm
Excel Ver: 365
#10
Post
by logic » Fri Feb 02, 2018 10:57 am
ผมตอบไปแล้ว ลองดูได้เลย จากไฟล์เดิมถ้ากดแป้นตามที่บอกจะได้คำตอบ ไม่สำคัญว่าเรียงคำตอบแบบไหนครับ