:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

นับวันสายแบบมีเงื่อนไข

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
yangkodza
Bronze
Bronze
Posts: 372
Joined: Tue Feb 10, 2015 10:37 am
Excel Ver: 2021

Re: นับวันสายแบบมีเงื่อนไข

#21

Post by yangkodza »

snasui wrote: Thu Feb 02, 2023 6:08 am :D ตัวอย่างการปรับสูตรครับ

=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)))
มีรายงานส่งผอ.สวยๆแล้วครับ
ขอบคุณมากครับอาจารย์ :thup: :thup: :thup:
yangkodza
Bronze
Bronze
Posts: 372
Joined: Tue Feb 10, 2015 10:37 am
Excel Ver: 2021

Re: นับวันสายแบบมีเงื่อนไข

#22

Post 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
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30738
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: นับวันสายแบบมีเงื่อนไข

#23

Post by snasui »

:D ยังไม่พบว่ามีการเขียน Conditional Formatting มาในไฟล์แนบหรือเขียนไว้ที่ตำแหน่งใดกรุณาแจ้งมาด้วยครับ
yangkodza
Bronze
Bronze
Posts: 372
Joined: Tue Feb 10, 2015 10:37 am
Excel Ver: 2021

Re: นับวันสายแบบมีเงื่อนไข

#24

Post by yangkodza »

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

สอบสูตรแถบสี.xlsx
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30738
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: นับวันสายแบบมีเงื่อนไข

#25

Post by snasui »

:D ตัวอยา่งสูตรครับ

=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
Bronze
Posts: 372
Joined: Tue Feb 10, 2015 10:37 am
Excel Ver: 2021

Re: นับวันสายแบบมีเงื่อนไข

#26

Post by yangkodza »

snasui wrote: Thu Apr 06, 2023 2:31 pm :D ตัวอยา่งสูตรครับ

=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.
User avatar
snasui
Site Admin
Site Admin
Posts: 30738
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: นับวันสายแบบมีเงื่อนไข

#27

Post by snasui »

:D แถบสีต้องขึ้นตรงเซลล์ไหนไหนและตรงตามเงื่อนไขชุดใดในสูตรนั้นครับ

กรุณาตรวจสอบเงื่อนไขเองให้เป็นเพื่อจะได้ปรับปรุงเองได้ สิ่งที่ผมระบายสีคือส่วนที่เพิ่มเข้าไป ลองทำความเข้าใจดูว่าตรงกับสิ่งที่ต้องการแล้วหรือไม่ครับ

สูตรนั้นมีความซับซ้อนเพราะสร้างรายงานให้มีความซับซ้อน การตรวจสอบสูตรว่าให้ผลถูกต้องหรือไม่ อย่างไร ให้วางสูตรลงไปในเซลล์ว่าง ๆ ด้านขวาข้อมูลแล้วค้ดลอกไปด้านขวาจนครบตามจำนวนเซลล์เมื่อเทียบกับข้อมูลต้นทางเพื่อจะตรวจสอบกันแบบเซลล์ต่อเซลล์ ค่าที่เป็น False แสดงว่าไม่เข้าเงื่อนไข ค่าที่เป็น True แสดงว่าเข้าเงื่อนไข และเมื่อเห็นว่าถูกต้องแล้วค่อยนำไปปรับใช้ใน Conditional Formatting ครับ

อ้อ...ผมแก้ E7 ให้เป็น E$7 ต้อง Update สูตรด้วยครับ
yangkodza
Bronze
Bronze
Posts: 372
Joined: Tue Feb 10, 2015 10:37 am
Excel Ver: 2021

Re: นับวันสายแบบมีเงื่อนไข

#28

Post by yangkodza »

ในส่วนของแถบสีที่จะให้แสดง แบ่งพื้นที่ออกเป็น 3 ส่วน ตามเงื่อนไขดังนี้
ส่วนที่ 1 พื้นที่สีเหลือง E8-M120 อ้างอิงจากแผ่นงานเวร เวร ไม่เกิน 7.01 ไม่เวร ไม่เกิน 7.16
ส่วนที่ 2 พื้นที่สีเหลือง N8-S120 อ้างอิงจากแผ่นงานเวร ไม่เกิน 8.01
ส่วนที่ 3 พื้นที่สีเหลือง T8-AI120 อ้างอิงจากแผ่นงานเวร เวร ไม่เกิน 7.01 ไม่เวร ไม่เกิน 7.16

ผมลองพยายามแกะสูตรที่อาจารย์แนะนำมาแตะแกะไม่ถูกครับ ในสูตร อ้างอิงวันเริ่มต้น คือ พ. ตรงส่วนนี้ เช็คจากวันที่ 1 คือวันอะไรใช่ไหมครับ รบการอาจารย์ช่วยแนะนำวิธีการแยก Code ให้หน่อยครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30738
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: นับวันสายแบบมีเงื่อนไข

#29

Post by snasui »

:D สิ่งที่ผมตอบไปคิดเงื่อนไขทั้งหมดเข้าไปเรียบร้อยแล้ว ไม่ทราบว่าได้ลองทำแบบเซลล์ต่อเซลล์ตามที่แนะนำไปแล้วหรือไม่ ได้ผลเป็นอย่างไร ช่วยแนบไฟล์นั้นมาใหม่ ชี้ให้เห็นว่าเซลล์ไหนควรได้ True แต่ได้ False เช่นนี้เป็นต้นครับ
yangkodza
Bronze
Bronze
Posts: 372
Joined: Tue Feb 10, 2015 10:37 am
Excel Ver: 2021

Re: นับวันสายแบบมีเงื่อนไข

#30

Post by yangkodza »

อันนี้เอามาต่อท้ายแล้วครับ แต่ผมยังไม่เข้าใจที่อาจารย์บอกว่า อ้อ...ผมแก้ E7 ให้เป็น E$7 ต้อง Update สูตรด้วยครับ
ในสูตรผมไม่เจอ E7 ครับ เลยงง
สอบสูตรแถบสีแก้ไข 1.xlsx
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30738
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: นับวันสายแบบมีเงื่อนไข

#31

Post by snasui »

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

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