Page 1 of 1
ทำตารางวันหยุดให้สีพื้นหลังคอลัมภ์ขึ้นโดยอัตโนมัติและเปลี่ยนไปตามเดือนโดยอัตโนมัติ
Posted: Sun Nov 19, 2017 10:12 pm
by duean1983
ต้องการให้ตารางตรวจเช็คประจำเดือน ให้สีพื้นหลังของแต่ละเซลล์ที่ตรงกับ
1. วันอาทิตย์ ให้พื้นหลังเป็นสีแดงทึบทั้งคอลัมภ์
2. วันเสาร์ที่หยุด (เนื่องจากบริษัททำงานหยุดเสาร์เว้นเสาร์) วันเสาร์ที่หยุดอย่างให้พื้นหลังเป็นสีเหลืองทึบทั้งคอลัมภ์
3. วันหยุดนักขัตฤกษ์ ให้ขึ้นเป็นสีฟ้า
4. หากเปลี่ยนเดือนใหม่ ให้วันหยุดทั้ง 3 ข้อด้านบน เปลี่ยนวันหยุดตามเดือนโดยอัตโนมัติค่ะ
โดยตามไฟล์ที่แนบมาด้วยจะต้องใช้เงื่อนไขแบบไหนคะ
Re: ทำตารางวันหยุดให้สีพื้นหลังคอลัมภ์ขึ้นโดยอัตโนมัติและเปลี่ยนไปตามเดือนโดยอัตโนมัติ
Posted: Sun Nov 19, 2017 10:42 pm
by snasui

ขั้นตอนตามด้านล่างครับ
- เซลล์ B2 คีย์วันเดือนปีให้ครบ เช่น 1/11/2017 หากเปลี่ยนเป็นเดือนอื่นให้คีย์ที่เซลล์นี้เซลล์เดียว
- เซลล์ C2 คีย์สูตรเพื่อบวกวันที่ใน B1 ให้เพิ่มค่าไปด้านขวาเรื่อย ๆ สูตรคือ =B1+1 > Enter > Copy ไปด้านขวา
- คลุม B2:AF2 > กดแป้น Ctrl+1 เพื่อเปิดกล่องโต้ตอบ Format Cells > ที่แถบ Number เลือก Custom > ที่ช่อง Type: คีย์ d ค่าใน B2:AF2 จะแสดงเป็นตัวเลขวัน
- คลุม B2:AF21 > เข้าเมนู Home > คลิกที่ปุ่ม Fill Color (รูปถังสี) แล้วเลือก No fill
- เข้าเมนู Home > Conditional Formatting > New Rule > Use a formula to determine which cells to format > ที่ Format values where this formula is true: คีย์สูตร
=COUNTIF(holiday!$A$3:$A$6,B$2)>0 > คลิกปุ่ม Format > กำหนดเป็นสีฟ้า > OK
- คลิก New Rule > Use a formula to determine which cells to format > ที่ Format values where this formula is true: คีย์สูตร
=WEEKDAY(B$2,2)=6 > คลิกปุ่ม Format > กำหนดเป็นสีเหลือง > OK
- ทำซ้ำข้อ 6 กำหนดสูตรเป็น
=WEEKDAY(B$2,2)=7 กำหนดสีเป็นสีแดง > OK > Apply > OK
Re: ทำตารางวันหยุดให้สีพื้นหลังคอลัมภ์ขึ้นโดยอัตโนมัติและเปลี่ยนไปตามเดือนโดยอัตโนมัติ
Posted: Mon Nov 20, 2017 7:01 pm
by duean1983
ทำได้แล้วค่ะ แต่ติดปัญหา
ข้อที่ 6 ที่ใช้สูตร weekday(B$2,2)=6 ซึ่งสูตรนี้เท่ากับว่าทุกวันเสาร์เป็นช่องทึบหมด แต่ว่าบริษัท ทำงานหยุดเสาร์เว้นเสาร์ อย่างเช่น
เสาร์ที่ 18/11/2017 ไม่หยุด
เสาร์ที่ 25/11/2017 หยุด
เสาร์ที 9/12/2017 ไม่หยุด
แบบนี้ค่ะ จะต้องใช้เงื่อนไขแบบไหนคะ
และอยากจะรบกวนสอบถามเพิ่ม กรณีที่ เดือนพฤศจิกายน มีวัน 30 วัน ตรงคอลัมภ์ AF ไม่ต้องการให้โชว์ตารางขึ้นมาจะต้องใช้เงื่อนไขแบบไหนคะ คืออยากให้ตารางโชว์เท่ากับจำนวนวันในเดือนนั้นๆค่ะ เช่น พฤศจิกายน ก็จะมีตั้งแต่ B2:AE20 แต่ถ้ากรณีเดือนที่ลงท้ายด้วย คม จะให้โชว์วันที่ตั้งแต่ช่อง B2:AE21
แบบนี้ค่ะ
Re: ทำตารางวันหยุดให้สีพื้นหลังคอลัมภ์ขึ้นโดยอัตโนมัติและเปลี่ยนไปตามเดือนโดยอัตโนมัติ
Posted: Tue Nov 21, 2017 7:55 pm
by snasui

แก้ไขเป็นตามด้านล่างครับ
ที่ C2 เปลี่ยนสูตรเป็น
=IF(MONTH(B2+1)=MONTH(B2),B2+1," ")
Enter > Copy ไปด้านขวา
เปลี่ยน Conditional Formatting ของวันหยุดที่เป็นวันเสาร์โดยเปลี่ยนสูตรเป็น
=COUNTIF(holiday!$C$3:$C$6,B$2)>0
Re: ทำตารางวันหยุดให้สีพื้นหลังคอลัมภ์ขึ้นโดยอัตโนมัติและเปลี่ยนไปตามเดือนโดยอัตโนมัติ
Posted: Fri Nov 24, 2017 11:40 am
by duean1983
ทำได้แล้วค่ะ แต่พบปัญหาต่อมาคือ
1. แต่พอกดเปลี่ยนเดือน เป็นเดือน 2/18 เป็นเดือนกุมภาพันธ์ 61 ซึ่งมีวันที่ 28 วัน ช่อง AM5 และ AN5 ขึ้น Error #VALUE! จะต้องแก้ไขยังไงคะ
2. กรณีตารางตรวจเช็คมีหลายชีท แล้วต้องการที่จะเลือกเดือนใน ชีทเครื่องล้างอะไหล่ แล้วสูตรการคำนวนหาวันหยุด ลิงค์ไปหาทุกชีท จะต้องใช้สูตรแบบไหนคะ หรือจะต้องสร้างกฎใหม่ทุกชีทคะ
Re: ทำตารางวันหยุดให้สีพื้นหลังคอลัมภ์ขึ้นโดยอัตโนมัติและเปลี่ยนไปตามเดือนโดยอัตโนมัติ
Posted: Fri Nov 24, 2017 11:40 am
by duean1983
ทำได้แล้วค่ะ แต่พบปัญหาต่อมาคือ
1. แต่พอกดเปลี่ยนเดือน เป็นเดือน 2/18 เป็นเดือนกุมภาพันธ์ 61 ซึ่งมีวันที่ 28 วัน ช่อง AM5 และ AN5 ขึ้น Error #VALUE! จะต้องแก้ไขยังไงคะ
2. กรณีตารางตรวจเช็คมีหลายชีท แล้วต้องการที่จะเลือกเดือนใน ชีทเครื่องล้างอะไหล่ แล้วสูตรการคำนวนหาวันหยุด ลิงค์ไปหาทุกชีท จะต้องใช้สูตรแบบไหนคะ หรือจะต้องสร้างกฎใหม่ทุกชีทคะ
Re: ทำตารางวันหยุดให้สีพื้นหลังคอลัมภ์ขึ้นโดยอัตโนมัติและเปลี่ยนไปตามเดือนโดยอัตโนมัติ
Posted: Fri Nov 24, 2017 2:16 pm
by DhitiBank
1 ลองแบบนี้ครับ ปรับสูตรใน AM5 เป็น
=IF(AL5=" "," ",IF(MONTH(AL5+1)=MONTH(AL5),AL5+1," "))
Enter >> คัดลอกไป AN5
แก้แค่ 2 เซลล์เพราะอย่างมากสุดก็คงจะมีเว้นว่าง ไม่มีวันที่แค่ 3 เซลล์
2 ไม่แน่ใจว่าผมเข้าใจถูกหรือไม่ คุณ duean1983 ไม่จำเป็นต้องสร้างกฎใหม่ทุกชีทครับ เพียงแต่สร้างชีทที่เป็น template ขึ้นมา 1 ชีท จากนั้นพอจะสร้างชีทสำหรับเครื่องจักรเครื่องใหม่ ก็แค่คัดลอกชีท template นั้นและเปลี่ยนชื่อชีทครับ