Page 1 of 1
DropDown เลือกจากช่องที่มีเวลาตรงกัน
Posted: Wed Mar 11, 2015 4:40 pm
by Ponpimon
หนูอยากทำ DropDown ในช่องเวลา โดยเวลาจะเลือกจากเวลาว่างของกรรมการ1 และกรรมการ2ที่ตรงกัน มาเป็น DropDown ให้เลือกว่าเราจะเลือกเวลาไหน และต้องดูจากวันที่สอบด้วยว่าเป็นวันอะไร (จันทร์-ศุกร์)
Re: DropDown เลือกจากช่องที่มีเวลาตรงกัน
Posted: Wed Mar 11, 2015 4:58 pm
by DhitiBank
แนบไฟล์ตัวอย่างและคำตอบที่ต้องการพร้อมคำอธิบายเพื่ออาจารย์และเพื่อนๆ จะเข้าใจตรงกันและตอบได้สะดวกครับ
Re: DropDown เลือกจากช่องที่มีเวลาตรงกัน
Posted: Wed Mar 11, 2015 5:17 pm
by Ponpimon
แนบมาให้แล้วค่ะ^^
Re: DropDown เลือกจากช่องที่มีเวลาตรงกัน
Posted: Wed Mar 11, 2015 6:12 pm
by Ponpimon
ไฟล์ใหม่ค่ะ
Re: DropDown เลือกจากช่องที่มีเวลาตรงกัน
Posted: Wed Mar 11, 2015 8:04 pm
by snasui

ดูอย่างไรว่าเวลาว่างตรงกัน กรรมการ1, กรรมการ2 อยู่ในชีทไหน เซลล์ไหนครับ
Re: DropDown เลือกจากช่องที่มีเวลาตรงกัน
Posted: Wed Mar 11, 2015 8:25 pm
by Ponpimon
sheet2 ค่ะ ถ้าช่องไหนมีเวลาขึ้น แสดงว่า"ว่าง" ถ้าช่องไหนไม่มีเวลาขึ้น แสดงว่า "ไม่ว่าง" ตารางแต่ละสีจะมีชื่อกรรมการแสดงอยู่ทางด้านขวามือค่ะ
Re: DropDown เลือกจากช่องที่มีเวลาตรงกัน
Posted: Wed Mar 11, 2015 8:26 pm
by Ponpimon
เช่น อ.ไก่ กับอ.ช้าง สอบวันอังคาร เราก็ไปหาว่าวันอังคาร อ.ไก่กับอ.ช้างมีเวลาว่างช่วงไหนที่ตรงกันบ้างค่ะ
Re: DropDown เลือกจากช่องที่มีเวลาตรงกัน
Posted: Wed Mar 11, 2015 9:03 pm
by snasui

สร้างเซลล์มาช่วยครับ โดยที่ Sheet3
- เซลล์ F2 คีย์สูตร
=IFERROR(INDEX(Sheet2!$B$1:$O$1,SMALL(IF(INDEX(Sheet2!$B$2:$O$36,MIN(IF(Sheet2!$A$2:$A$36=$D2,IF(Sheet2!$P$2:$P$36=$B2,ROW(Sheet2!$A$2:$A$36)-ROW(Sheet2!$A$2)+1))),0)=INDEX(Sheet2!$B$2:$O$36,MIN(IF(Sheet2!$A$2:$A$36=$D2,IF(Sheet2!$P$2:$P$36=$C2,ROW(Sheet2!$A$2:$A$36)-ROW(Sheet2!$A$2)+1))),0),COLUMN(Sheet2!$B$1:$O$1)-COLUMN(Sheet2!$B$1)+1),COLUMNS($F2:F2))),"")
Ctrl+Shift+Enter > Copy ไปทางขวาจนแสดงค่าว่างและลงด้านล่างเท่าที่มีข้อมูลด้านหน้า
- คลิก E2 เข้าเมนู Data > Validation > ตรง Allow: เลือก List ตรง Source: คีย์สูตร =OFFSET(F2,0,0,1,COUNTIF(F2:Z2,"*?")) > OK > Copy E2 ลงด้านล่าง > ซ่อนคอลัมน์ F เป็นต้นไป (หากต้องการ)
Re: DropDown เลือกจากช่องที่มีเวลาตรงกัน
Posted: Wed Mar 11, 2015 10:13 pm
by Ponpimon
อาจารย์คะ ทำตามที่อาจารย์บอกแล้วค่ะ แต่ที่แสดงในดรอปดาวก็มีแค่ช่วงเวลาเดียวค่ะ คือ 9:00-9:30 ค่ะ แล้วหนูอยากทราบอีกว่า ถ้าหนูเปลี่ยนกรรมการ ช่องดรอปดาวเวลายังจะเปลี่ยนตามไหมคะ
Re: DropDown เลือกจากช่องที่มีเวลาตรงกัน
Posted: Thu Mar 12, 2015 12:40 am
by snasui

ใน Sheet2 คอลัมน์ P เติมเซลล์ว่างให้เหมือนกับค่าด้านบน แต่ละบรรทัดต้องไม่เป็นเซลล์ว่างครับ
Re: DropDown เลือกจากช่องที่มีเวลาตรงกัน
Posted: Thu Mar 12, 2015 2:50 pm
by Ponpimon
อาจารย์คะ ข้อมูลที่ออกมามันยังไม่ถูกต้องค่ะ
เช่น ในsheet3 กลุ่มที่ 1 กรรมการเป็น อ.เป็ด กับอ.ไก่ สอบวันจันทร์ ซึ่งถ้าดูจากตารางใน sheet3 ช่วงเวลา 9:00-9:30 และ 9:30-10:00 ในวันจันทร์ของอาจารย์ทั้งสอง ก็ไม่แสดงข้อมูลแสดงว่า ไม่ว่าง แต่ในช่องที่ใส่โค้ดไป มันแสดงช่วงเวลาออกมาค่ะ
Re: DropDown เลือกจากช่องที่มีเวลาตรงกัน
Posted: Thu Mar 12, 2015 3:10 pm
by snasui

จากไฟล์ล่าสุดเซลล์ G2 ปรับสูตรเป็นด้านล่างครับ
=IFERROR(INDEX(Sheet2!$B$1:$O$1,SMALL(IF(INDEX(Sheet2!$B$2:$O$36,MIN(IF(Sheet2!$A$2:$A$36=$D2,IF(Sheet2!$P$2:$P$36=$B2,ROW(Sheet2!$A$2:$A$36)-ROW(Sheet2!$A$2)+1))),0)<>"",IF(INDEX(Sheet2!$B$2:$O$36,MIN(IF(Sheet2!$A$2:$A$36=$D2,IF(Sheet2!$P$2:$P$36=$B2,ROW(Sheet2!$A$2:$A$36)-ROW(Sheet2!$A$2)+1))),0)=INDEX(Sheet2!$B$2:$O$36,MIN(IF(Sheet2!$A$2:$A$36=$D2,IF(Sheet2!$P$2:$P$36=$C2,ROW(Sheet2!$A$2:$A$36)-ROW(Sheet2!$A$2)+1))),0),COLUMN(Sheet2!$B$1:$O$1)-COLUMN(Sheet2!$B$1)+1)),COLUMNS($G2:G2))),"")
Ctrl+Shift+Enter > Copy ไปด้านขวาและลงด้านล่าง
Re: DropDown เลือกจากช่องที่มีเวลาตรงกัน
Posted: Thu Mar 12, 2015 4:42 pm
by Ponpimon
ได้แล้วค่ะ อาจารย์ ขอบคุณมากค่ะ^^
Re: DropDown เลือกจากช่องที่มีเวลาตรงกัน
Posted: Sun Mar 22, 2015 10:12 pm
by Ponpimon
อาจารย์ค่ะ หนูขอถามเพิ่มค่ะ คือจากเดิมหนูเปรียบเทียบกรรมการเพียงแค่2ท่านเท่านั้น แต่หนูต้องการเพิ่มเป็น4ท่าน หนูต้องเพิ่มสูตรตรงตำแหน่งไหนค่ะ หนูลองเพิ่มตรง =index ไปแล้วเปลี่ยนมันไม่ได้ค่ะ
เปลี่ยนให้กรรมการ 1 2 3 4 เป็นเซล B E C D แล้วให้วันที่ เป็นเซลล์ E ค่ะ ส่วนจุดอื่นเหมือนเดิมค่ะ
Re: DropDown เลือกจากช่องที่มีเวลาตรงกัน
Posted: Mon Mar 23, 2015 12:19 am
by snasui

ปรับในส่วนที่เป็น Small ครับ ซึ่งจะปรับอย่างไรก็ขึ้นอยู่กับว่าตำแหน่งเซลล์ที่เป็นเงื่อนไขอยู่ตรงไหน การถามโดยไม่แนบไฟล์ตัวอย่างถือว่าสามารถปรับสูตรได้เอง ในกรณีนี้ให้ลองปรับมาเองก่อน ติดตรงไหนแล้วค่อยถามกันต่อครับ
Re: DropDown เลือกจากช่องที่มีเวลาตรงกัน
Posted: Tue Mar 24, 2015 12:27 am
by Ponpimon
อาจารย์ค่ะ หนูแนบไฟล์มาแล้วค่ะ ช่องสีแดงเป็นช่องที่มีกรรมการเพิ่มเข้ามาค่ะ
Re: DropDown เลือกจากช่องที่มีเวลาตรงกัน
Posted: Tue Mar 24, 2015 7:22 am
by snasui

I2 ปรับสูตรเป็นด้านล่างครับ
=IFERROR(INDEX(ตารางงาน!$B$1:$O$1,SMALL(IF(INDEX(ตารางงาน!$B$2:$O$76,MIN(IF(ตารางงาน!$A$2:$A$76=$F2,IF(ตารางงาน!$P$2:$P$76=$B2,ROW(ตารางงาน!$A$2:$A$76)-ROW(ตารางงาน!$A$2)+1))),0)<>"",IF(INDEX(ตารางงาน!$B$2:$O$76,MIN(IF(ตารางงาน!$A$2:$A$76=$F2,IF(ตารางงาน!$P$2:$P$76=$B2,ROW(ตารางงาน!$A$2:$A$76)-ROW(ตารางงาน!$A$2)+1))),0)=INDEX(ตารางงาน!$B$2:$O$76,MIN(IF(ตารางงาน!$A$2:$A$76=$F2,IF(ตารางงาน!$P$2:$P$76=$C2,ROW(ตารางงาน!$A$2:$A$76)-ROW(ตารางงาน!$A$2)+1))),0),IF(INDEX(ตารางงาน!$B$2:$O$76,MIN(IF(ตารางงาน!$A$2:$A$76=$F2,IF(ตารางงาน!$P$2:$P$76=$B2,ROW(ตารางงาน!$A$2:$A$76)-ROW(ตารางงาน!$A$2)+1))),0)=INDEX(ตารางงาน!$B$2:$O$76,MIN(IF(ตารางงาน!$A$2:$A$76=$F2,IF(ตารางงาน!$P$2:$P$76=$D2,ROW(ตารางงาน!$A$2:$A$76)-ROW(ตารางงาน!$A$2)+1))),0),IF(INDEX(ตารางงาน!$B$2:$O$76,MIN(IF(ตารางงาน!$A$2:$A$76=$F2,IF(ตารางงาน!$P$2:$P$76=$B2,ROW(ตารางงาน!$A$2:$A$76)-ROW(ตารางงาน!$A$2)+1))),0)=INDEX(ตารางงาน!$B$2:$O$76,MIN(IF(ตารางงาน!$A$2:$A$76=$F2,IF(ตารางงาน!$P$2:$P$76=$E2,ROW(ตารางงาน!$A$2:$A$76)-ROW(ตารางงาน!$A$2)+1))),0),COLUMN(ตารางงาน!$B$1:$O$1)-COLUMN(ตารางงาน!$B$1)+1)))),COLUMNS($I2:I2))),"")
Re: DropDown เลือกจากช่องที่มีเวลาตรงกัน
Posted: Tue Mar 24, 2015 2:13 pm
by Ponpimon
ใช้งานได้แล้วค่ะ ขอบพระคูณอาจารย์มากค่ะ ที่ช่วยชีวิตหนูมาตลอดเลยค่ะ ^^