: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

สอบถามการใช้เงื่อนไข If กับวันที่ครับ

ฟอรัมถาม-ตอบปัญหาการใช้งาน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
kampanart
Member
Member
Posts: 32
Joined: Thu Jan 11, 2018 2:13 pm

สอบถามการใช้เงื่อนไข If กับวันที่ครับ

#1

Post by kampanart »

คือ ผมใช้ IF เพื่อเลือกวันที่ครับ สมมุติมีอยู่ 6 วัน พุธ, พฤ, ศุกร์, เสาร์, อาทิตย์, จันทร์

ตัวข้อมูลของผมจะลบ 1 วัน ซึ่งถ้าอยู่วัน พฤ ผมจะให้ผมพุธ = Y ส่วนที่เหลือ = N แต่ถ้าผมอยู่วันจันทร์ผมจะให้ แค่ศุกร์กับเสาร์ = Y ที่เหลือ N ครับซึ่งต้องใช้ IF อย่างไงครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30741
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: สอบถามการใช้เงื่อนไข If กับวันที่ครับ

#2

Post by snasui »

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

=IF(AND(WEEKDAY($A$6,2)=1,OR(WEEKDAY(A1,2)=5,WEEKDAY(A1,2)=6)),"Y",IF(AND(WEEKDAY($A$6,2)<>1,WEEKDAY(A1,2)=WEEKDAY($A$6-1,2)),"Y","N"))

Enter > Copy ไปด้านขวา
kampanart
Member
Member
Posts: 32
Joined: Thu Jan 11, 2018 2:13 pm

Re: สอบถามการใช้เงื่อนไข If กับวันที่ครับ

#3

Post by kampanart »

อาจารย์ครับผมสอบถามเพิ่มเติมครับ สมมุติวันจันทร์ที่ 12 ให้ Y แค่ศุกร์ 9 กับ เสาร์ที่10 ครับไม่ Y ศุกร์ที่16 กับเสา17 (จะไม่ Y มากกว่าวันที่ตัวเองอยู่)
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30741
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: สอบถามการใช้เงื่อนไข If กับวันที่ครับ

#4

Post by snasui »

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

=IF(AND(A1<$A$6,WEEKDAY($A$6,2)=1,OR(WEEKDAY(A1,2)=5,WEEKDAY(A1,2)=6)),"Y",IF(AND(WEEKDAY($A$6,2)<>1,WEEKDAY(A1,2)=WEEKDAY($A$6-1,2)),"Y","N"))
kampanart
Member
Member
Posts: 32
Joined: Thu Jan 11, 2018 2:13 pm

Re: สอบถามการใช้เงื่อนไข If กับวันที่ครับ

#5

Post by kampanart »

อาจารย์ครับติดอีกนิดเดียวครับ คือเวลาอยู่วันอังคารจะไป Y ที่วันจันทร์แค่วันก่อนหน้าวันอังคาร์ ณ ปัจจุบันอย่างเดี่ยวแต่นี่ไป Y ทุกจันทร์เลยอะครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30741
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: สอบถามการใช้เงื่อนไข If กับวันที่ครับ

#6

Post by snasui »

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

=IF(AND(A1<$A$6,WEEKDAY($A$6,2)=1,OR(WEEKDAY(A1,2)=5,WEEKDAY(A1,2)=6)),"Y",IF(AND(A1<$A$6,WEEKDAY($A$6,2)<>1,WEEKDAY(A1,2)=WEEKDAY($A$6-1,2)),"Y","N"))

โปรดสังเกตว่าในแต่ละครั้งผมเพิ่มส่วนใดเข้าไป แม้สูตรจะยาวแต่ไม่ใช่สูตรที่ถือว่าซับซ้อนสูง สามารถทำความเข้าใจได้ไม่ยากครับ
kampanart
Member
Member
Posts: 32
Joined: Thu Jan 11, 2018 2:13 pm

Re: สอบถามการใช้เงื่อนไข If กับวันที่ครับ

#7

Post by kampanart »

สงสัยครับว่าทำไม พออยุ่จันทร์ที่ 19 มันไป Y ที่ ศุกร์2,9 กับ เสาร์3,10 ครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30741
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: สอบถามการใช้เงื่อนไข If กับวันที่ครับ

#8

Post by snasui »

:D เพราะมันเข้าเงื่อนไขใดเงื่อนไขหนึ่งตามสูตรนั้นครับ ถ้าไม่เข้าเงื่อนไขก็จะไม่แสดง "Y" ครับ

ลองอธิบายเงื่อนไขที่เป็นไปได้ทั้่งหมดมาใหม่ จะได้เขียนสูตรให้ครอบคลุมทีเดียว การเป็น Y และ เป็น N ต้องเข้าเงื่อนใดบ้าง กี่เงื่อนไข พิจารณาล่วงหน้าไปกี่วัน ย้อนหลังไปกี่วัน ฯลฯ ครับ
kampanart
Member
Member
Posts: 32
Joined: Thu Jan 11, 2018 2:13 pm

Re: สอบถามการใช้เงื่อนไข If กับวันที่ครับ

#9

Post by kampanart »

เงื่อนไงเป็น แบบนี่อะครับ

1.สมมุติเป็นวันอังคารที่ 13/03/2018 จะให้ตัว Y แสดงบนก่อนหน้า 1 วัน (DAY 1) อาทิเช่น วันอังคารที่ 13/03/2018 ให้ Y แสดงที่ จันทร์12/3/2018 เท่านั้น (1-11 กับ 13-31 จะเป็น N ครับ Y ที่ 12 วันเดี่ยวครับ)
2.ถ้าเป็นวันจันทร์ที่ 13/03/2018 จะให้ Y แสดงบน วันศุกร์ 9/03/2018 กับเสาร์ 10/03/2018 เท่านั้น ส่วนที่เหลือ N ทั้งหมดรับ ส่วนถ้าเป็นจันทร์ที่ 19 จะให้ Y ที่ศุกร์ 17 กับเสาร์ 18 เท่านั้น ที่เหลือ Nหมด ศุกร์ 9 กับเสาร์ 10 ที่ผ่านมาก็ N ครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30741
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: สอบถามการใช้เงื่อนไข If กับวันที่ครับ

#10

Post by snasui »

:D ช่วยอธิบายเพิ่มเติมมาอีก 2 กรณีตามด้านล่างมาอีกรอบครับ
  • กรณี A6 เป็นวันเสาร์ที่ 17/03/2018 จะแสดงผลอย่างไร
  • กรณี A6 เป็นวันอาทิตย์ที่ 18/03/2018 จะแสดงผลอย่างไร
kampanart
Member
Member
Posts: 32
Joined: Thu Jan 11, 2018 2:13 pm

Re: สอบถามการใช้เงื่อนไข If กับวันที่ครับ

#11

Post by kampanart »

กรณี A6 เป็นวันเสาร์ที่ 17/03/2018 จะแสดงผลอย่างไร
= วันเสาร์ที่ 17/03/2018 วันตัวเองจะเป็น = N จะไปแสดง U บนวันก่อนหน้าคือวันศุกร์แค่วันเดียวครับ ทีเหลือ N หมด

กรณี A6 เป็นวันอาทิตย์ที่ 18/03/2018 จะแสดงผลอย่างไร

= กรณีเดียวกับเคสข้างบนครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30741
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: สอบถามการใช้เงื่อนไข If กับวันที่ครับ

#12

Post by snasui »

kampanart wrote: Sun Mar 11, 2018 4:17 pm กรณี A6 เป็นวันอาทิตย์ที่ 18/03/2018 จะแสดงผลอย่างไร

= กรณีเดียวกับเคสข้างบนครับ
:D กรณีเดียวกับเคสข้างบนคือวันเสาร์ก่อนหน้า 1 ลำดับเป็น Y และนอกจากนั้นเป็น N ใช่หรือไม่ครับ :?:
kampanart
Member
Member
Posts: 32
Joined: Thu Jan 11, 2018 2:13 pm

Re: สอบถามการใช้เงื่อนไข If กับวันที่ครับ

#13

Post by kampanart »

ถูกต้องครับ เป็นวันอาทิตย์ที่ 18/03/2018 จะแสดงผล Y ที่วันเสาร์ที่17/03/2018 ส่วนที่เหลือ เป็น N หมดครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30741
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: สอบถามการใช้เงื่อนไข If กับวันที่ครับ

#14

Post by snasui »

kampanart wrote: Sun Mar 11, 2018 4:50 pm ถูกต้องครับ เป็นวันอาทิตย์ที่ 18/03/2018 จะแสดงผล Y ที่วันเสาร์ที่17/03/2018 ส่วนที่เหลือ เป็น N หมดครับ
:D ตัวอย่างการปรับสูตรที่ A3 ครับ

=IF(A1>=$A$6,"N",IF(AND($A$6-A1<7,ISNUMBER(FIND(WEEKDAY($A$6,2),"16")),WEEKDAY(A1,2)=5),"Y",IF(AND(ISERR(FIND(WEEKDAY($A$6,2),"16")),A1=$A$6-1),"Y","N")))

Enter > Copy ไปทางขวา
kampanart
Member
Member
Posts: 32
Joined: Thu Jan 11, 2018 2:13 pm

Re: สอบถามการใช้เงื่อนไข If กับวันที่ครับ

#15

Post by kampanart »

ช่วยอธิบาย Code หน่อยได้ไหมครับ คือตรงผมก็ยังงง ครับ Codeอยู่อะ พออาจารย์แก้มาให้มันถูกต้องครับ แต่ ขาดวันเสาร์ ไม่ Y ครับ ถ้าวันปัจจุบันเป็นวันจันทร์ มัน Yแค่ศุกร์
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30741
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: สอบถามการใช้เงื่อนไข If กับวันที่ครับ

#16

Post by snasui »

:lol: ผมสรุปเงือนไขใหม่ดังนี้
  1. กรณี A6 เป็นวันจันทร์ ให้ค่าใน A1:AY1 ที่เป็นวันศุกร์และเสาร์ ก่อนหน้า 1 ลำดับเป็น Y นอกนั้นเป็น N
  2. กรณี A6 เป็นวันอื่นที่ไม่ใช่ตามข้อ 1 ให้ค่าใน A1:AY1 ที่เป็นวันก่อนหน้า A6 1 ลำดับเป็น Y นอกนั้นเป็น N
หากผมเข้าใจถูกต้องสูตรใน A3 ปรับเป็นด้านล่างครับ

=IF(A1>=$A$6,"N",IF(AND($A$6-A1<7,ISNUMBER(FIND(WEEKDAY($A$6,2),"16")),OR(WEEKDAY(A1,2)=5,WEEKDAY(A1,2)=6)),"Y",IF(AND(ISERR(FIND(WEEKDAY($A$6,2),"16")),A1=$A$6-1),"Y","N")))
kampanart
Member
Member
Posts: 32
Joined: Thu Jan 11, 2018 2:13 pm

Re: สอบถามการใช้เงื่อนไข If กับวันที่ครับ

#17

Post by kampanart »

ถูกต้องครับอาจารย์ ขอบคุณมากๆครับ
Post Reply