snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
yangkodza
Bronze
Posts: 372 Joined: Tue Feb 10, 2015 10:37 am
Excel Ver: 2021
#21
Post
by yangkodza » Thu Feb 02, 2023 7:47 am
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)))
มีรายงานส่งผอ.สวยๆแล้วครับ
ขอบคุณมากครับอาจารย์
yangkodza
Bronze
Posts: 372 Joined: Tue Feb 10, 2015 10:37 am
Excel Ver: 2021
#22
Post
by yangkodza » Thu Apr 06, 2023 9:26 am
อาจารย์ครับ เดือนมีนาคม มีการเช็คเวลา 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
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 30920 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#23
Post
by snasui » Thu Apr 06, 2023 11:49 am
ยังไม่พบว่ามีการเขียน Conditional Formatting มาในไฟล์แนบหรือเขียนไว้ที่ตำแหน่งใดกรุณาแจ้งมาด้วยครับ
yangkodza
Bronze
Posts: 372 Joined: Tue Feb 10, 2015 10:37 am
Excel Ver: 2021
#24
Post
by yangkodza » Thu Apr 06, 2023 12:46 pm
snasui wrote: Thu Apr 06, 2023 11:49 am
ยังไม่พบว่ามีการเขียน Conditional Formatting มาในไฟล์แนบหรือเขียนไว้ที่ตำแหน่งใดกรุณาแจ้งมาด้วยครับ
สอบสูตรแถบสี.xlsx
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 30920 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#25
Post
by snasui » 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(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)) ))
yangkodza
Bronze
Posts: 372 Joined: Tue Feb 10, 2015 10:37 am
Excel Ver: 2021
#26
Post
by yangkodza » Thu Apr 06, 2023 2:41 pm
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
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 30920 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#27
Post
by snasui » Thu Apr 06, 2023 2:44 pm
แถบสีต้องขึ้นตรงเซลล์ไหนไหนและตรงตามเงื่อนไขชุดใดในสูตรนั้นครับ
กรุณาตรวจสอบเงื่อนไขเองให้เป็นเพื่อจะได้ปรับปรุงเองได้ สิ่งที่ผมระบายสีคือส่วนที่เพิ่มเข้าไป ลองทำความเข้าใจดูว่าตรงกับสิ่งที่ต้องการแล้วหรือไม่ครับ
สูตรนั้นมีความซับซ้อนเพราะสร้างรายงานให้มีความซับซ้อน การตรวจสอบสูตรว่าให้ผลถูกต้องหรือไม่ อย่างไร ให้วางสูตรลงไปในเซลล์ว่าง ๆ ด้านขวาข้อมูลแล้วค้ดลอกไปด้านขวาจนครบตามจำนวนเซลล์เมื่อเทียบกับข้อมูลต้นทางเพื่อจะตรวจสอบกันแบบเซลล์ต่อเซลล์ ค่าที่เป็น False แสดงว่าไม่เข้าเงื่อนไข ค่าที่เป็น True แสดงว่าเข้าเงื่อนไข และเมื่อเห็นว่าถูกต้องแล้วค่อยนำไปปรับใช้ใน Conditional Formatting ครับ
อ้อ...ผมแก้ E7 ให้เป็น E$7 ต้อง Update สูตรด้วยครับ
yangkodza
Bronze
Posts: 372 Joined: Tue Feb 10, 2015 10:37 am
Excel Ver: 2021
#28
Post
by yangkodza » Thu Apr 06, 2023 3:03 pm
ในส่วนของแถบสีที่จะให้แสดง แบ่งพื้นที่ออกเป็น 3 ส่วน ตามเงื่อนไขดังนี้
ส่วนที่ 1 พื้นที่สีเหลือง E8-M120 อ้างอิงจากแผ่นงานเวร เวร ไม่เกิน 7.01 ไม่เวร ไม่เกิน 7.16
ส่วนที่ 2 พื้นที่สีเหลือง N8-S120 อ้างอิงจากแผ่นงานเวร ไม่เกิน 8.01
ส่วนที่ 3 พื้นที่สีเหลือง T8-AI120 อ้างอิงจากแผ่นงานเวร เวร ไม่เกิน 7.01 ไม่เวร ไม่เกิน 7.16
ผมลองพยายามแกะสูตรที่อาจารย์แนะนำมาแตะแกะไม่ถูกครับ ในสูตร อ้างอิงวันเริ่มต้น คือ พ. ตรงส่วนนี้ เช็คจากวันที่ 1 คือวันอะไรใช่ไหมครับ รบการอาจารย์ช่วยแนะนำวิธีการแยก Code ให้หน่อยครับ
snasui
Site Admin
Posts: 30920 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#29
Post
by snasui » Thu Apr 06, 2023 6:27 pm
สิ่งที่ผมตอบไปคิดเงื่อนไขทั้งหมดเข้าไปเรียบร้อยแล้ว ไม่ทราบว่าได้ลองทำแบบเซลล์ต่อเซลล์ตามที่แนะนำไปแล้วหรือไม่ ได้ผลเป็นอย่างไร ช่วยแนบไฟล์นั้นมาใหม่ ชี้ให้เห็นว่าเซลล์ไหนควรได้ True แต่ได้ False เช่นนี้เป็นต้นครับ
yangkodza
Bronze
Posts: 372 Joined: Tue Feb 10, 2015 10:37 am
Excel Ver: 2021
#30
Post
by yangkodza » Thu Apr 06, 2023 7:21 pm
อันนี้เอามาต่อท้ายแล้วครับ แต่ผมยังไม่เข้าใจที่อาจารย์บอกว่า
อ้อ...ผมแก้ E7 ให้เป็น E$7 ต้อง Update สูตรด้วยครับ
ในสูตรผมไม่เจอ E7 ครับ เลยงง
สอบสูตรแถบสีแก้ไข 1.xlsx
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 30920 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#31
Post
by snasui » Thu Apr 06, 2023 7:50 pm
ช่วยแจ้งตามโพสต์ #29 ไว้ในโพสต์นี้พอสังเขปว่าบรรทัดไหน เซลล์ไหนได้ค่าไม่ตรงตามที่ควรจะเป็นมาด้วยครับ
สำหรับ E7 ก่อนหน้านั้นผมโพสต์ไปโดยไม่ได้ตรึงตำแหน่งและกลับมา Update โพสต์ใหม่ หากหา E7 ในสูตรไม่เจอแล้วก็ไม่ต้องสนใจตรงนั้นครับ