Page 1 of 1

สูตร 2 เงื่อนไข ใช้ INDEX MATCH ไม่ได้ผล ทำอย่างไรค่ะ

Posted: Mon Feb 02, 2015 12:22 pm
by Arisa
คีย์รายละเอียดที่หน้า ข้อมูล แล้วให้เด้งไปหน้า ตาราง เลยค่ะ ทำสูตรอย่างไรค่ะ (2 เงื่อนไข)
- อยากให้สูตรของแต่ละเซลล์ ขึ้นอยู่กับ วันที่(วันที่ใช้งาน)และุห้องสัมมนา
- ถ้ามีการใช้งานหลายวัน สามารถทำให้แสดงในหน้า ตาราง ได้ไหมค่ะ
ตัวอย่าง
อริสา ใช้งานวันที่ 1 ก.พ.58 ห้องสัมมนา SPD1E (กรอกรายละเอียดในหน้า ข้อมูล แบบนี้) แล้วอยากให้เด้งไปหน้า ตารางเลยค่ะ
SPD.xlsx

Re: สูตร 2 เงื่อนไข ใช้ INDEX MATCH ไม่ได้ผล ทำอย่างไรค่ะ

Posted: Mon Feb 02, 2015 7:41 pm
by snasui
:D สามารถใช้สูตรที่ชีท ตาราง ตามด้านล่างครับ
  1. เซลล์ H1 คีย์สูตร
    =SUMPRODUCT(1/COUNTIF(ข้อมูล!F2:F4,ข้อมูล!F2:F4))
    Enter
  2. เซลล์ A2 คีย์สูตร
    =IF(B2<>"เบอร์","",INDEX(ข้อมูล!$F$2:$F$4,SMALL(IF(FREQUENCY(MATCH(ข้อมูล!$F$2:$F$4,ข้อมูล!$F$2:$F$4,0),ROW(ข้อมูล!$F$2:$F$4)-ROW(ข้อมูล!$F$2)+1),ROW(ข้อมูล!$F$2:$F$4)-ROW(ข้อมูล!$F$2)+1),COUNTIF(B$2:B2,"เบอร์"))))
    Ctrl+Shift+Enter > Copy ลงด้านล่าง
  3. เซลล์ B2 คีย์สูตร
    =IF(ROWS(B$2:B2)>$H$1*5,"",(INDEX(ข้อมูล!$A$1:$E$1,MOD((ROWS(B$2:B2)-1),5)+1)))
    Enter > Copy ลงด้านล่าง
  4. เซลล์ C2 คีย์สูตร
    =IFERROR(INDEX(ข้อมูล!$A$2:$E$4,SMALL(IF(INDEX(ตาราง!$A$2:$A6,MATCH(1,1/($A$2:$A6<>""),0))=ข้อมูล!$F$2:$F$4,IF(ข้อมูล!$G$2:$G$4=C$1,ROW(ข้อมูล!$F$2:$F$4)-ROW(ข้อมูล!$F$2)+1)),1),MATCH($B2,ข้อมูล!$A$1:$E$1,0)),"")
    Ctrl+Shift+Enter > Copy ไปด้านขวาและลงด้านล่าง

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

Re: สูตร 2 เงื่อนไข ใช้ INDEX MATCH ไม่ได้ผล ทำอย่างไรค่ะ

Posted: Wed Feb 04, 2015 10:04 am
by Arisa
ขอบคุณมากค่ะ ที่ให้คำตอบที่เป็นประโยชน์มาก ทำให้ทำงานสะดวกมากยิ่งขึ้น
ขอถามอีกสองกรณีนะค่ะ

1.อริสา ใช้งานวันที่ 1-3 ก.พ.58 ห้องสัมมนา SPD1E (เป็นกรณีที่มีการใช้งานหลายวัน)
2.อริสา ใช้งานวันที่ 1-8 ก.พ.58 ห้องสัมมนา SPD1E,SPD2E,SPD3E (เป็นกรณีที่มีการใช้งานหลายวันและหลายห้อง)

กรอกรายละเอียดในหน้า ข้อมูล แบบ 2 กรณีนี้ แล้วอยากให้เด้งไปหน้า ตารางเลยค่ะ ทำอย่างไรค่ะ
SPD.xlsx

Re: สูตร 2 เงื่อนไข ใช้ INDEX MATCH ไม่ได้ผล ทำอย่างไรค่ะ

Posted: Wed Feb 04, 2015 5:56 pm
by snasui
:D ช่วยแนบไฟล์โดยมีสูตรตามด้านบนครบทุกตำแหน่งมาใหม่ คือมีสูตรครบทั้ง 4 สูตรตามด้านบน

เซลล์ไหนไม่ได้คำตอบควรแจ้งที่ติดปัญหามาด้วย ไม่ควรลบสูตรออกแล้วเปลี่ยนเป็นค่าคงที่ จะได้ตอบต่อไปจากนั้นครับ

Re: สูตร 2 เงื่อนไข ใช้ INDEX MATCH ไม่ได้ผล ทำอย่างไรค่ะ

Posted: Thu Feb 05, 2015 12:30 pm
by Arisa
แนบไฟล์ให้ใหม่แล้วนะค่ะ แจงรายละเอียดไว้ในไฟล์ excel แล้วค่ะ ช่วยแนะนำด้วยนะค่ะ
ใส่สูตรตามที่แนะนำไว้ให้แล้วค่ะ (อาจจะมีการดัดแปลงเล็กน้อย)
ข้อมูลการใช้งานห้องสัมมนา ประจำปี 2558.xlsx

Re: สูตร 2 เงื่อนไข ใช้ INDEX MATCH ไม่ได้ผล ทำอย่างไรค่ะ

Posted: Thu Feb 05, 2015 7:10 pm
by snasui
- การแสดงวันที่แบบนี้ "2-3 ก.พ.58" ไม่สามารถใช้ในงานได้ค่ะ
ต้องเรียงตามวันที่ค่ะ เช่น
1-ก.พ.-58
2-ก.พ.-58 เรียงแบบนี้ค่ะ
3-ก.พ.-58
- ถ้าเกิดมีการใช้งาน ระหว่างวันที่ 2-3 ก.พ.58
จะต้องมีรายละเอียดแสดงอยู่ที่ช่องสีฟ้าค่ะ จึงจะใช้ในงานได้ค่ะ
:D เมื่อใช้งานไม่ได้ก็ต้องบันทึกข้อมูลต้นทางให้แยกเป็นรายบรรทัดจึงจะดึงข้อมูลมาแสดงยังปลายทางได้ ซึ่งข้อมูลปลายทางก็จะกลายเป็นรายบรรทัดเช่นกัน หากไม่เช่นนั้นต้องเขียนด้วย VBA ให้เขียนมาเองก่อน ติดตรงไหนค่อยถามกันต่อครับ