Page 1 of 1

ถ้าข้อมูลตรงตามเงื่อนไขที่กำหนด 2 เงื่อนไข ให้ดึงผลที่ของเงื่อนไขนั้นมา

Posted: Mon Mar 26, 2018 10:13 pm
by Rin
ถ้าข้อมูลตรงตามเงื่อนไขที่กำหนด 2 เงื่อนไข ให้ดึงผลที่ของเงื่อนไขนั้นมา

Re: ถ้าข้อมูลตรงตามเงื่อนไขที่กำหนด 2 เงื่อนไข ให้ดึงผลที่ของเงื่อนไขนั้นมา

Posted: Mon Mar 26, 2018 10:33 pm
by snasui
:D ตัวอย่างสูตรที่ D2 ครับ

=IFERROR(LOOKUP(2,1/((DATA!$B$2:$B$11=$A2)*(DATA!$C$2:$C$11=$C2)),DATA!$A$2:$A$11),"")

Enter > Copy ลงด้านล่าง

Re: ถ้าข้อมูลตรงตามเงื่อนไขที่กำหนด 2 เงื่อนไข ให้ดึงผลที่ของเงื่อนไขนั้นมา

Posted: Mon Mar 26, 2018 10:42 pm
by Rin
อาจารย์คะ ลองทำดูแล้ว ผลปรากฎว่า รหัสประจำตัว L001 ดึงข้อมูลจากช่อง A10 มา ซึ่งจริงๆ ต้องการข้อมูลจากช่อง A7
และรหัสประจำตัว L003 ดึงข้อมูลจากช่อง A11 มา ซึ่งจริงๆ ต้องการข้อมูลจากช่อง A5

Re: ถ้าข้อมูลตรงตามเงื่อนไขที่กำหนด 2 เงื่อนไข ให้ดึงผลที่ของเงื่อนไขนั้นมา

Posted: Mon Mar 26, 2018 10:48 pm
by snasui
:D ปรับสูตรใหม่เป็นด้านล่างครับ

=INDEX(DATA!$A$2:$A$11,MATCH(1,IF(DATA!$B$2:$B$11=A2,IF(DATA!$C$2:$C$11=C2,1)),0))

Ctrl+Shift+Enter > Copy ลงด้านล่าง

Re: ถ้าข้อมูลตรงตามเงื่อนไขที่กำหนด 2 เงื่อนไข ให้ดึงผลที่ของเงื่อนไขนั้นมา

Posted: Mon Mar 26, 2018 10:57 pm
by Rin
ยังไม่ได้ค่ะ อาจารย์

Re: ถ้าข้อมูลตรงตามเงื่อนไขที่กำหนด 2 เงื่อนไข ให้ดึงผลที่ของเงื่อนไขนั้นมา

Posted: Mon Mar 26, 2018 11:07 pm
by snasui
:D แนบไฟล์ที่มีสูตรตามที่ผมตอบไปแล้วมาอีกทีครับ

Re: ถ้าข้อมูลตรงตามเงื่อนไขที่กำหนด 2 เงื่อนไข ให้ดึงผลที่ของเงื่อนไขนั้นมา

Posted: Tue Mar 27, 2018 7:04 am
by puriwutpokin
คงไม่ได้กด ctrl+shift+enter
ลองปรับเป็นที่d2=IFERROR(INDEX(DATA!$A$2:$A$11,MATCH(1,INDEX((DATA!$B$2:$B$11=A2)*(DATA!$C$2:$C$11=C2),0),0)),"") คัดลอกลงครับ

Re: ถ้าข้อมูลตรงตามเงื่อนไขที่กำหนด 2 เงื่อนไข ให้ดึงผลที่ของเงื่อนไขนั้นมา

Posted: Tue Mar 27, 2018 8:58 am
by Rin
ขอบคุณมากๆ ค่ะ ใช้สูตรนี้ =IFERROR(INDEX(DATA!$A$2:$A$11,MATCH(1,INDEX((DATA!$B$2:$B$11=A2)*(DATA!$C$2:$C$11=C2),0),0)),"")
ได้แล้วค่ะ ขอบคุณมากๆ นะคะ

Re: ถ้าข้อมูลตรงตามเงื่อนไขที่กำหนด 2 เงื่อนไข ให้ดึงผลที่ของเงื่อนไขนั้นมา

Posted: Tue Mar 27, 2018 7:31 pm
by Rin
ลองใช้ทั้ง 3 สูตรที่ให้มา พร้อมแนบไฟล์มาด้วย เผื่อเป็นประโยชน์กับท่านอื่นๆ ด้วยค่ะ

Re: ถ้าข้อมูลตรงตามเงื่อนไขที่กำหนด 2 เงื่อนไข ให้ดึงผลที่ของเงื่อนไขนั้นมา

Posted: Tue Mar 27, 2018 7:41 pm
by snasui
:D สูตรที่ 2 ใช้เป็นประโยชน์ไม่ได้เพราะว่ากดแป้นให้รับสูตรไม่ถูกต้องครับ :mrgreen:

ตัวอย่างการปรับสูตรเดิมเพื่อไม่ให้แสดงค่าผิดพลาดครับ

ที่ E2 คีย์

=IFERROR(INDEX(DATA!$A$2:$A$11,MATCH(1,IF(DATA!$B$2:$B$11=A2,IF(DATA!$C$2:$C$11=C2,1)),0)),"")

Ctrl+Shift+Enter > Copy ลงด้านล่าง กรุณาอ่านวิธีกดแป้นให้รับสูตรด้านล่างอย่างละเอียดไม่เช่นนั้นจะไม่ได้คำตอบ


!
Note: Ctrl+Shift+Enter
เป็นการสร้างสูตร Array โดยสามารถเลือกดำเนินการตามข้อ 1 หรือ 2 ด้านล่าง
  1. กรณีคีย์สูตรเอง เมื่อคีย์สูตรแล้ว แทนที่จะกด Enter ให้กดแป้น
    Ctrl และ Shift พร้อมกันค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array
  2. กรณี Copy สูตรไปวางให้กดแป้น F2 เพื่อทำการ Edit Cell นั้นก่อน
    จากนั้นกดแป้น Ctrl และ Shift พร้อมกันค้างไว้แล้วตามด้วย Enter เพื่อสร้างเป็นสูตร Array
  3. หากกดแป้นถูกต้องสูตรนั้นจะมีเครื่องหมายปีกกาครอบ เช่น {=YourFormulas(...)}
    ปีกกานี้ไม่สามารถคีย์เข้าไปเอง จะต้องมาด้วยการกดแป้น Ctrl+Shift+Enter เท่านั้น
    ถ้ายังไม่เห็นปีกกาครอบสูตรแสดงว่ากดแป้นให้รับสูตรไม่ถูกต้อง
  4. การแก้ไขเปลี่ยนแปลงสูตร Array จะต้องกดแป้นให้รับสูตรด้วย Ctrl+Shift+Enter ทุกครั้ง

สำหรับตัวอย่างนี้สูตรมีแค่ 2 เงือนไขและข้อมูลไม่มาก อาจจะลดความกังวลในการเลือกใช้สูตรลงได้ แต่หากมีหลายเงื่อนไขและมีข้อมูลปริมาณมากให้พิจารณาเลือกใช้สูตรที่ 2 สังเกตว่าแต่ละเงื่อนไขจะใช้ If เข้ามาช่วย เพื่อจะลดภาระการคำนวณของโปรแกรม การใช้คูณแต่ละเงื่อนไขจะเกิดภาระการคำนวณมากกว่าการใช้ If เข้ามาช่วยครับ

Re: ถ้าข้อมูลตรงตามเงื่อนไขที่กำหนด 2 เงื่อนไข ให้ดึงผลที่ของเงื่อนไขนั้นมา

Posted: Tue Mar 27, 2018 8:17 pm
by Rin
ขอบคุณมากๆ นะคะ