Page 2 of 2
Re: นับวันสายแบบมีเงื่อนไข
Posted: Thu Feb 02, 2023 7:47 am
by yangkodza
snasui wrote: Thu Feb 02, 2023 6:08 am

ตัวอย่างการปรับสูตรครับ
=LET(a,INDEX(วันเวร!$C$2:$G$113,MATCH("*"&$C8,TRIM(วันเวร!$B$2:$B$113),0),MATCH(LEFT(E$7,FIND(".",E$7)),TRIM(LEFT(SUBSTITUTE(OFFSET($E$7,0,MATCH("จ.*",$E$7:$AI$7,0)-1,1,5),CHAR(10),REPT(" ",5)),5)),0)),OR(AND(a=0,LEFT(E8,5)+0>="7:15"+0),AND(a="เวร",LEFT(E8,5)+0>=7/24)))
มีรายงานส่งผอ.สวยๆแล้วครับ
ขอบคุณมากครับอาจารย์

Re: นับวันสายแบบมีเงื่อนไข
Posted: Thu Apr 06, 2023 9:26 am
by yangkodza
อาจารย์ครับ เดือนมีนาคม มีการเช็คเวลา 3 ช่วง
1. 1-9 มี.ค. 66 เวร ไม่เกิน 7.01 ไม่เวร ไม่เกิน 7.16
2. 10-15 มี.ค. 66 ไม่เกิน 8.01
3. 16-31 มี.ค. 66 เวร ไม่เกิน 7.01 ไม่เวร ไม่เกิน 7.16
ตอนนี้ผมสามารถเช็ควันสายได้ทั้ง 3 ช่วงเวลาดังกล่าว
แต่ทำแถบสีวันที่สายไม่ได้ครับ รบกวนอาจารย์ชี้แนะด้วยครับ
สอบสูตรแถบสี.xlsx
Re: นับวันสายแบบมีเงื่อนไข
Posted: Thu Apr 06, 2023 11:49 am
by snasui

ยังไม่พบว่ามีการเขียน Conditional Formatting มาในไฟล์แนบหรือเขียนไว้ที่ตำแหน่งใดกรุณาแจ้งมาด้วยครับ
Re: นับวันสายแบบมีเงื่อนไข
Posted: Thu Apr 06, 2023 12:46 pm
by yangkodza
snasui wrote: Thu Apr 06, 2023 11:49 am

ยังไม่พบว่ามีการเขียน Conditional Formatting มาในไฟล์แนบหรือเขียนไว้ที่ตำแหน่งใดกรุณาแจ้งมาด้วยครับ
สอบสูตรแถบสี.xlsx
Re: นับวันสายแบบมีเงื่อนไข
Posted: Thu Apr 06, 2023 2:31 pm
by snasui

ตัวอยา่งสูตรครับ
=LET(a,INDEX(วันเวร!$C$2:$G$113,MATCH("*"&$C8,TRIM(วันเวร!$B$2:$B$113),0),MATCH(LEFT(E$7,FIND(".",E$7)),TRIM(LEFT(SUBSTITUTE(OFFSET($E$7,0,MATCH("พ.*",$E$7:$AI$7,0)-1,1,5),CHAR(10),REPT(" ",5)),5)),0)),d,--SUBSTITUTE(MID(E7,FIND(".",E7)+1,3),CHAR(10),""),OR(OR(AND(d>=1,d<=9,a=0,LEFT(E8,5)+0>="7:16"+0),AND(d>=1,d<=9,a="เวร",LEFT(E8,5)+0>="7:01"+0)),OR(AND(d>=10,d<=15,LEFT(E8,5)+0>="8:01"+0)),OR(AND(d>=16,d<=31,a=0,LEFT(E8,5)+0>="7:16"+0),AND(d>=16,d<=31,a="เวร",LEFT(E8,5)+0>="7:01"+0))))
Re: นับวันสายแบบมีเงื่อนไข
Posted: Thu Apr 06, 2023 2:41 pm
by yangkodza
snasui wrote: Thu Apr 06, 2023 2:31 pm

ตัวอยา่งสูตรครับ
=LET(a,INDEX(วันเวร!$C$2:$G$113,MATCH("*"&$C8,TRIM(วันเวร!$B$2:$B$113),0),MATCH(LEFT(E$7,FIND(".",E$7)),TRIM(LEFT(SUBSTITUTE(OFFSET($E$7,0,MATCH("พ.*",$E$7:$AI$7,0)-1,1,5),CHAR(10),REPT(" ",5)),5)),0)),d,--SUBSTITUTE(MID(E$7,FIND(".",E$7)+1,3),CHAR(10),""),OR(OR(AND(d>=1,d<=9,a=0,LEFT(E8,5)+0>="7:16"+0),AND(d>=1,d<=9,a="เวร",LEFT(E8,5)+0>="7:01"+0)),OR(AND(d>=10,d<=15,LEFT(E8,5)+0>="8:01"+0)),OR(AND(d>=16,d<=31,a=0,LEFT(E8,5)+0>="7:16"+0),AND(d>=16,d<=31,a="เวร",LEFT(E8,5)+0>="7:01"+0))))
อาจารย์ครับ ผมนำ code ไปใส่แล้วที่ E8-AI120 แต่แถบสีไม่แสดงครับ
สอบสูตรแถบสี1.xlsx
Re: นับวันสายแบบมีเงื่อนไข
Posted: Thu Apr 06, 2023 2:44 pm
by snasui

แถบสีต้องขึ้นตรงเซลล์ไหนไหนและตรงตามเงื่อนไขชุดใดในสูตรนั้นครับ
กรุณาตรวจสอบเงื่อนไขเองให้เป็นเพื่อจะได้ปรับปรุงเองได้ สิ่งที่ผมระบายสีคือส่วนที่เพิ่มเข้าไป ลองทำความเข้าใจดูว่าตรงกับสิ่งที่ต้องการแล้วหรือไม่ครับ
สูตรนั้นมีความซับซ้อนเพราะสร้างรายงานให้มีความซับซ้อน การตรวจสอบสูตรว่าให้ผลถูกต้องหรือไม่ อย่างไร ให้วางสูตรลงไปในเซลล์ว่าง ๆ ด้านขวาข้อมูลแล้วค้ดลอกไปด้านขวาจนครบตามจำนวนเซลล์เมื่อเทียบกับข้อมูลต้นทางเพื่อจะตรวจสอบกันแบบเซลล์ต่อเซลล์ ค่าที่เป็น False แสดงว่าไม่เข้าเงื่อนไข ค่าที่เป็น True แสดงว่าเข้าเงื่อนไข และเมื่อเห็นว่าถูกต้องแล้วค่อยนำไปปรับใช้ใน Conditional Formatting ครับ
อ้อ...ผมแก้ E7 ให้เป็น E$7 ต้อง Update สูตรด้วยครับ
Re: นับวันสายแบบมีเงื่อนไข
Posted: Thu Apr 06, 2023 3:03 pm
by yangkodza
ในส่วนของแถบสีที่จะให้แสดง แบ่งพื้นที่ออกเป็น 3 ส่วน ตามเงื่อนไขดังนี้
ส่วนที่ 1 พื้นที่สีเหลือง E8-M120 อ้างอิงจากแผ่นงานเวร เวร ไม่เกิน 7.01 ไม่เวร ไม่เกิน 7.16
ส่วนที่ 2 พื้นที่สีเหลือง N8-S120 อ้างอิงจากแผ่นงานเวร ไม่เกิน 8.01
ส่วนที่ 3 พื้นที่สีเหลือง T8-AI120 อ้างอิงจากแผ่นงานเวร เวร ไม่เกิน 7.01 ไม่เวร ไม่เกิน 7.16
ผมลองพยายามแกะสูตรที่อาจารย์แนะนำมาแตะแกะไม่ถูกครับ ในสูตร อ้างอิงวันเริ่มต้น คือ พ. ตรงส่วนนี้ เช็คจากวันที่ 1 คือวันอะไรใช่ไหมครับ รบการอาจารย์ช่วยแนะนำวิธีการแยก Code ให้หน่อยครับ
Re: นับวันสายแบบมีเงื่อนไข
Posted: Thu Apr 06, 2023 6:27 pm
by snasui

สิ่งที่ผมตอบไปคิดเงื่อนไขทั้งหมดเข้าไปเรียบร้อยแล้ว ไม่ทราบว่าได้ลองทำแบบเซลล์ต่อเซลล์ตามที่แนะนำไปแล้วหรือไม่ ได้ผลเป็นอย่างไร ช่วยแนบไฟล์นั้นมาใหม่ ชี้ให้เห็นว่าเซลล์ไหนควรได้ True แต่ได้ False เช่นนี้เป็นต้นครับ
Re: นับวันสายแบบมีเงื่อนไข
Posted: Thu Apr 06, 2023 7:21 pm
by yangkodza
อันนี้เอามาต่อท้ายแล้วครับ แต่ผมยังไม่เข้าใจที่อาจารย์บอกว่า
อ้อ...ผมแก้ E7 ให้เป็น E$7 ต้อง Update สูตรด้วยครับ
ในสูตรผมไม่เจอ E7 ครับ เลยงง
สอบสูตรแถบสีแก้ไข 1.xlsx
Re: นับวันสายแบบมีเงื่อนไข
Posted: Thu Apr 06, 2023 7:50 pm
by snasui

ช่วยแจ้งตามโพสต์ #29 ไว้ในโพสต์นี้พอสังเขปว่าบรรทัดไหน เซลล์ไหนได้ค่าไม่ตรงตามที่ควรจะเป็นมาด้วยครับ
สำหรับ E7 ก่อนหน้านั้นผมโพสต์ไปโดยไม่ได้ตรึงตำแหน่งและกลับมา Update โพสต์ใหม่ หากหา E7 ในสูตรไม่เจอแล้วก็ไม่ต้องสนใจตรงนั้นครับ