: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เงื่อนไขครับ

ฟอรัมถาม-ตอบปัญหาการใช้งาน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
taewada
Member
Member
Posts: 49
Joined: Sat Oct 13, 2012 8:24 am

สอบถามการใช้สูตรvlookupมองเงือนไข2เงื่อนไขครับ

#1

Post by taewada »

ผมอยากให้ช่องc10 ขึ้นเองโดยอัีตโนมัติครับผมต้องใช้สูตรvlookupอย่างไร
หรือมีสูตรอื่นไหมครับ
You do not have the required permissions to view the files attached to this post.
joo
Gold
Gold
Posts: 1213
Joined: Sat Apr 17, 2010 3:50 pm

Re: สอบถามการใช้สูตรvlookupมองเงือนไข2เงื่อนไขครับ

#2

Post by joo »

:D ลองตามนี้ดูครับที่ C10 คีย์ =INDEX($C$2:$C$5,MATCH(1,IF($A$2:$A$5=$A$10,IF($B$2:$B$5=$B$10,1)),0)) กดแป้น Ctrl+Shift+Enter พร้อมกัน
หรือแบบนี้ =SUMPRODUCT(--($A$2:$A$5=$A$10),--($B$2:$B$5=$B$10),$C$2:$C$5)
ถ้าไม่ใช้ลองแนบไฟล์ตัวอย่างพร้อมระบุเงื่อนไขและคำตอบที่ต้องการมาด้วยครับ
taewada
Member
Member
Posts: 49
Joined: Sat Oct 13, 2012 8:24 am

Re: สอบถามการใช้สูตรvlookupมองเงือนไข2เงื่อนไขครับ

#3

Post by taewada »

joo wrote::D ลองตามนี้ดูครับที่ C10 คีย์ =INDEX($C$2:$C$5,MATCH(1,IF($A$2:$A$5=$A$10,IF($B$2:$B$5=$B$10,1)),0)) กดแป้น Ctrl+Shift+Enter พร้อมกัน
หรือแบบนี้ =SUMPRODUCT(--($A$2:$A$5=$A$10),--($B$2:$B$5=$B$10),$C$2:$C$5)
ถ้าไม่ใช้ลองแนบไฟล์ตัวอย่างพร้อมระบุเงื่อนไขและคำตอบที่ต้องการมาด้วยครับ
แบบนี้เลยครับที่ต้องการ
เจตนาผมคือให้พิม์ต้นทางและปลายทางราคาก็จะขึ้นอัตโนมัติ ตอนแรกผมใช้vlookupแต่ทำไม่ได้ครับ
ขอบคุณมากครับ
รบกวนช่วยอธิบายสูตรเป็นขั้นๆได้ไหมครับ :cp:
joo
Gold
Gold
Posts: 1213
Joined: Sat Apr 17, 2010 3:50 pm

Re: สอบถามการใช้สูตรvlookupมองเงือนไข2เงื่อนไขครับ

#4

Post by joo »

taewada wrote:รบกวนช่วยอธิบายสูตรเป็นขั้นๆได้ไหมครับ
:D จากสูตร =INDEX($C$2:$C$5,MATCH(1,IF($A$2:$A$5=$A$10,IF($B$2:$B$5=$B$10,1)),0))
ความหมายคือ จากช่วง $C$2:$C$5 ให้นำลำดับที่เป็นผลลัพธ์ของ MATCH(1,IF($A$2:$A$5=$A$10,IF($B$2:$B$5=$B$10,1)),0))มาแสดง
จาก MATCH(1,IF($A$2:$A$5=$A$10,IF($B$2:$B$5=$B$10,1)),0)) หมายถึง ให้หาว่า เลข 1 อยู่ในลำดับที่เท่าไรจากผลลัพธ์ของสูตร IF($A$2:$A$5=$A$10,IF($B$2:$B$5=$B$10,1))
จากสูตร IF($A$2:$A$5=$A$10,IF($B$2:$B$5=$B$10,1)) หมายถึง ถ้า $A$2:$A$5=$A$10 แล้ว ให้แสดงผลลัพธ์ของ IF($B$2:$B$10=$B$10,1)
จาก สูตร IF($B$2:$B$10=$B$10,1)หมายความว่า ถ้า IF($B$2:$B$10=$B$10,1)ให้แสดงค่า 1 ถ้าไม่ใช่ให้แสดงค่า False

วิธีแกะสูตร ให้คลิกเซลล์ C10 แล้วกด F2
1.ลากเม้าท์คลุม $C$2:$C$5 แล้วกด F9 ก็จะได้
=INDEX({200;300;500;800},MATCH(1,IF($A$2:$A$5=$A$10,IF($B$2:$B$5=$B$10,1)),0))
2.ลากเม้าท์คลุม IF($A$2:$A$5=$A$10,IF($B$2:$B$5=$B$10,1)) แล้วกด F9 ก็จะได้
=INDEX({200;300;500;800},MATCH(1,{1;FALSE;FALSE;FALSE},0))
จะเห็นว่าเลข1 อยู่ในลำดับที่1 คำตอบก็คือ 200

ส่วนสูตร SUMPRODUCT ดูได้จากลิงค์นี้ครับ wordpress/?p=385
jumping
Member
Member
Posts: 8
Joined: Tue Nov 25, 2014 8:27 am

Re: สอบถามการใช้สูตรvlookupมองเงือนไข2เงื่อนไขครับ

#5

Post by jumping »

สูตรนี้ใช้แยกSheet ได้ไหมค่ะ หรือข้อมูลต้องอยู่ในSheet เดียวกันค่ะ
และถ้าข้อมูลอยู่คนละSheet ต้องใช้สูตรแบบไหนค่ะ
User avatar
DhitiBank
Gold
Gold
Posts: 1676
Joined: Mon Oct 15, 2012 12:07 am

Re: สอบถามการใช้สูตรvlookupมองเงือนไข2เงื่อนไขครับ

#6

Post by DhitiBank »

jumping wrote:สูตรนี้ใช้แยกSheet ได้ไหมค่ะ หรือข้อมูลต้องอยู่ในSheet เดียวกันค่ะ
และถ้าข้อมูลอยู่คนละSheet ต้องใช้สูตรแบบไหนค่ะ
ใช้แยกชีทได้ครับ หรือใช้อ้างอิงข้อมูลที่อยู่คนละไฟล์ก็ได้ด้วย เพียงแต่ในสูตรที่คุณ joo เขียน
=INDEX($C$2:$C$5,MATCH(1,IF($A$2:$A$5=$A$10,IF($B$2:$B$5=$B$10,1)),0))

ตรงที่ระบายสี ก็ต้องระบุให้ถูกว่าต้นทางอยู่ที่ไหน ปลายทางคือที่ไหนครับ
lotto009
Member
Member
Posts: 157
Joined: Sat Sep 22, 2012 11:53 am

Re: สอบถามการใช้สูตรvlookupมองเงือนไข2เงื่อนไขครับ

#7

Post by lotto009 »

สูตรโหดมากมาก
isensosuikar
Member
Member
Posts: 50
Joined: Tue Feb 19, 2013 10:51 am

Re: สอบถามการใช้สูตรvlookupมองเงือนไข2เงื่อนไขครับ

#8

Post by isensosuikar »

ว่าจะเข้ามาเก็บความรู้ เห็นสูตรแล้ว ไปไม่ถูกเลยครับ
noonoon
Member
Member
Posts: 17
Joined: Fri Jan 29, 2016 11:11 am

Re: สอบถามการใช้สูตรvlookupมองเงือนไข2เงื่อนไขครับ

#9

Post by noonoon »

ลอง Test ตามตัวอย่าง แล้ว copy สูตรไปวาง ทำไมขึ้น #N/A ค่ะ
จะได้ใช้อยู่เหมือนกันค่ะ
joo wrote::D ลองตามนี้ดูครับที่ C10 คีย์ =INDEX($C$2:$C$5,MATCH(1,IF($A$2:$A$5=$A$10,IF($B$2:$B$5=$B$10,1)),0)) กดแป้น Ctrl+Shift+Enter พร้อมกัน
หรือแบบนี้ =SUMPRODUCT(--($A$2:$A$5=$A$10),--($B$2:$B$5=$B$10),$C$2:$C$5)
ถ้าไม่ใช้ลองแนบไฟล์ตัวอย่างพร้อมระบุเงื่อนไขและคำตอบที่ต้องการมาด้วยครับ
You do not have the required permissions to view the files attached to this post.
User avatar
DhitiBank
Gold
Gold
Posts: 1676
Joined: Mon Oct 15, 2012 12:07 am

Re: สอบถามการใช้สูตรvlookupมองเงือนไข2เงื่อนไขครับ

#10

Post by DhitiBank »

:) ที่สูตรไม่แสดงผล เพราะคำว่า "ปากช่อง" ในตารางด้านบนจะมี "เว้นวรรค" ต่อท้ายคำว่า "ปากช่อง" ทำให้สูตรหาคำว่า "ปากช่อง" (ที่ไม่มีเว้นวรรค) ไม่เจอ ให้ลบเว้นวรรคท้ายคำว่าปากช่องออกไปครับ

แล้วก็ การคีย์ข้อความที่ไม่ใช่ตัวเลข ผมคิดว่าไม่ต้องใส่เครื่องหมาย ' นำหน้าก็ได้ครับ
noonoon
Member
Member
Posts: 17
Joined: Fri Jan 29, 2016 11:11 am

Re: สอบถามการใช้สูตรvlookupมองเงือนไข2เงื่อนไขครับ

#11

Post by noonoon »

ขอบคุณนะค่ะ ได้แล้วค่ะ แต่ ' ไม่ได้พิมพ์ค่ะ พิมพ์ "ปากช่อง" ปกติ พอ enter กลับมาคลิกดูมันติด ' มาเองค่ะ
มีผลอะไรกับข้อมูลรึป่าวค่ะ
DhitiBank wrote::) ที่สูตรไม่แสดงผล เพราะคำว่า "ปากช่อง" ในตารางด้านบนจะมี "เว้นวรรค" ต่อท้ายคำว่า "ปากช่อง" ทำให้สูตรหาคำว่า "ปากช่อง" (ที่ไม่มีเว้นวรรค) ไม่เจอ ให้ลบเว้นวรรคท้ายคำว่าปากช่องออกไปครับ

แล้วก็ การคีย์ข้อความที่ไม่ใช่ตัวเลข ผมคิดว่าไม่ต้องใส่เครื่องหมาย ' นำหน้าก็ได้ครับ
Last edited by noonoon on Tue Feb 02, 2016 1:39 pm, edited 2 times in total.
User avatar
DhitiBank
Gold
Gold
Posts: 1676
Joined: Mon Oct 15, 2012 12:07 am

Re: สอบถามการใช้สูตรvlookupมองเงือนไข2เงื่อนไขครับ

#12

Post by DhitiBank »

noonoon wrote:มันติด ' มาเองค่ะ มีผลอะไรกับข้อมูลรึป่าวค่ะ
:) อันนี้ผมไม่แน่ใจครับ หากสูตรแสดงผลถูกต้องผมคิดว่าไม่น่าจะมีผลกระทบอะไร แต่หากต้องการเอาออก วิธีหนึ่งที่ผมใช้คือ เลือกเซลล์ --> เมนู Home --> Clear --> Clear All แล้วคีย์ใหม่ครับ
noonoon
Member
Member
Posts: 17
Joined: Fri Jan 29, 2016 11:11 am

Re: สอบถามการใช้สูตรvlookupมองเงือนไข2เงื่อนไขครับ

#13

Post by noonoon »

DhitiBank wrote:
noonoon wrote:มันติด ' มาเองค่ะ มีผลอะไรกับข้อมูลรึป่าวค่ะ
:) อันนี้ผมไม่แน่ใจครับ หากสูตรแสดงผลถูกต้องผมคิดว่าไม่น่าจะมีผลกระทบอะไร แต่หากต้องการเอาออก วิธีหนึ่งที่ผมใช้คือ เลือกเซลล์ --> เมนู Home --> Clear --> Clear All แล้วคีย์ใหม่ครับ
แต่ลองนำมาปรับกับข้อมูลที่จะใช้ ผลออกมาเป็น #N/A ตามไฟล์แนบ sheet2 ค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
DhitiBank
Gold
Gold
Posts: 1676
Joined: Mon Oct 15, 2012 12:07 am

Re: สอบถามการใช้สูตรvlookupมองเงือนไข2เงื่อนไขครับ

#14

Post by DhitiBank »

มีปัญหา 2 เรื่องครับ

1. ช่วงอ้างอิงบางช่วงในสูตรไม่ได้ปรับให้สอดคล้องกับข้อมูลจริง
2. ข้อมูลใน Sheet2 คอลัมน์ B มีเว้นวรรคต่อท้ายข้อมูล ยกตัวอย่าง "AM " ไม่เท่ากับ "AM" ครับ

ดังนั้น หากใช้สูตรเดิม ก็จะต้องปรับสูตรเป็น

=INDEX(Sheet1!$D$2:$D$13895,MATCH(1,IF([color=#FF0000]Sheet1!$A$2:$A$1389[/color]=A1,IF(Sheet1!$B$2:$B$1389=[color=#FF0000]TRIM(B1)[/color],1)),0))

จากไฟล์ตัวอย่างต้องใส่สูตรจำนวนมาก หากเปลี่ยนจากสูตรอาร์เรย์เป็น sumifs น่าจะทำให้คำนวณเร็วขึ้นครับ
ที่ E1 ลองคีย์

=SUMIFS(Sheet1!$D$2:$D$1389,Sheet1!$A$2:$A$1389,A1,Sheet1!$B$2:$B$1389,TRIM(B1))
Enter --> คัดลอกลงล่างครับ
menem
Silver
Silver
Posts: 549
Joined: Mon Jan 26, 2015 11:02 am

Re: สอบถามการใช้สูตรvlookupมองเงือนไข2เงื่อนไขครับ

#15

Post by menem »

ผมเขียนสูตรที่เป็น Array ไม่คล่อง ( จริง ๆ ต้องบอกว่าแทบไม่ได้เลยมากกว่า )
ก็เลยชอบใช้วิธีนี้แทนครับ
You do not have the required permissions to view the files attached to this post.
noonoon
Member
Member
Posts: 17
Joined: Fri Jan 29, 2016 11:11 am

Re: สอบถามการใช้สูตรvlookupมองเงือนไข2เงื่อนไขครับ

#16

Post by noonoon »

ได้แล้วค่ะ ตรงเป๊ะค่ะ ขอบคุณมากนะค่ะ
DhitiBank wrote:มีปัญหา 2 เรื่องครับ

1. ช่วงอ้างอิงบางช่วงในสูตรไม่ได้ปรับให้สอดคล้องกับข้อมูลจริง
2. ข้อมูลใน Sheet2 คอลัมน์ B มีเว้นวรรคต่อท้ายข้อมูล ยกตัวอย่าง "AM " ไม่เท่ากับ "AM" ครับ

ดังนั้น หากใช้สูตรเดิม ก็จะต้องปรับสูตรเป็น

=INDEX(Sheet1!$D$2:$D$13895,MATCH(1,IF([color=#FF0000]Sheet1!$A$2:$A$1389[/color]=A1,IF(Sheet1!$B$2:$B$1389=[color=#FF0000]TRIM(B1)[/color],1)),0))

จากไฟล์ตัวอย่างต้องใส่สูตรจำนวนมาก หากเปลี่ยนจากสูตรอาร์เรย์เป็น sumifs น่าจะทำให้คำนวณเร็วขึ้นครับ
ที่ E1 ลองคีย์

=SUMIFS(Sheet1!$D$2:$D$1389,Sheet1!$A$2:$A$1389,A1,Sheet1!$B$2:$B$1389,TRIM(B1))
Enter --> คัดลอกลงล่างครับ
Post Reply