Page 1 of 1

สูตร ยกเว้นการแสดงวันหยุด แบบนี้ต้องทำไงครับ

Posted: Thu Feb 01, 2018 9:12 pm
by lisztian
ข้อมูลเบื้องต้นเป็นตารางเรียนพิเศษ ตัวต่อตัวครับ
เรียนสัปดาห์ละครั้ง ครั้งละ 50 นาที (ป้อนวันที่เริ่มเรียน C 3 มันก็จะแสดงผล+7 ไปเรื่อยๆ ครบ 12 ครั้ง)

ปัญหาคือ มีวันหยุดสงกรานต์ 11,12,13,14,15,16,17,18 เมษายน 12 สิงหาคม 5,28,29,30,31 ธันวาคม
ซึ่งไม่มีการเรียนการสอน

แต่ผมต้องการให้ excel มันข้ามวันหยุดไปให้แสดงเป็นตามตารางขวา พอมีสูตรไหมครับ
ขอบคุณครับ :D

Re: สูตร ยกเว้นการแสดงวันหยุด แบบนี้ต้องทำไงครับ

Posted: Thu Feb 01, 2018 9:18 pm
by snasui
:D จำเป็นต้องมีการคีย์วันหยุดทั้งหมดเอาไว้อีกชีต เพื่อจะใช้ตรวจสอบว่าตรงกับวันหยุดหรือไม่ ลองเพิ่มรายการวันหยุดทั้งหมดแล้วแนบไฟล์มาใหม่อีกรอบครับ

Re: สูตร ยกเว้นการแสดงวันหยุด แบบนี้ต้องทำไงครับ

Posted: Thu Feb 01, 2018 10:24 pm
by lisztian
ไม่แน่ใจ คือให้ใส่แบบนี้ใช่ไหมครับ

ใส่วันหยุดที่ sheet 2 A1-10 แล้วครับ

Re: สูตร ยกเว้นการแสดงวันหยุด แบบนี้ต้องทำไงครับ

Posted: Fri Feb 02, 2018 6:13 am
by snasui
:D ตัวอย่างสูตรตามด้านล่างครับ

ที่ B6 คีย์

=MIN(IF(ISNA(MATCH(ROW(INDIRECT($C$3&":"&$C$3+365)),Sheet2!$A$1:$A$12,0)),IF(ROW(INDIRECT($C$3&":"&$C$3+365))>=$C$3+7*(ROWS(B$7:B7)-1),ROW(INDIRECT($C$3&":"&$C$3+365)))))

Ctrl+Shift+Enter > Copy ลงด้านล่าง กรุณาอ่าน Note ด้านล่างอย่างละเอียดไม่เช่นนั้นจะไม่ได้คำตอบ กรณีมีเซลล์ใดไม่ตรงกับที่ต้องการ อธิบายมาว่าคำตอบควรเป็นเท่าไร คิดอย่างไรจึงได้ค่าเท่านั้น จะได้เข้าใจตรงกันครับ


!
Note: Ctrl+Shift+Enter
เป็นการสร้างสูตร Array โดยสามารถเลือกดำเนินการตามข้อ 1 หรือ 2 ด้านล่าง
  1. กรณีคีย์สูตรเอง เมื่อคีย์สูตรแล้ว แทนที่จะกด Enter ให้กดแป้น
    Ctrl และ Shift พร้อมกันค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array
  2. กรณี Copy สูตรไปวางให้กดแป้น F2 เพื่อทำการ Edit Cell นั้นก่อน
    จากนั้นกดแป้น Ctrl และ Shift พร้อมกันค้างไว้แล้วตามด้วย Enter เพื่อสร้างเป็นสูตร Array
  3. หากกดแป้นถูกต้องสูตรนั้นจะมีเครื่องหมายปีกกาครอบ เช่น {=YourFormulas(...)}
    ปีกกานี้ไม่สามารถคีย์เข้าไปเอง จะต้องมาด้วยการกดแป้น Ctrl+Shift+Enter เท่านั้น
    ถ้ายังไม่เห็นปีกกาครอบสูตรแสดงว่ากดแป้นให้รับสูตรไม่ถูกต้อง
  4. การแก้ไขเปลี่ยนแปลงสูตร Array จะต้องกดแป้นให้รับสูตรด้วย Ctrl+Shift+Enter ทุกครั้ง

Re: สูตร ยกเว้นการแสดงวันหยุด แบบนี้ต้องทำไงครับ

Posted: Fri Feb 02, 2018 7:19 pm
by lisztian
เดี๋ยวจะลองดูครับ ขอบคุณครับ

Re: สูตร ยกเว้นการแสดงวันหยุด แบบนี้ต้องทำไงครับ

Posted: Fri Feb 02, 2018 9:30 pm
by lisztian
ลองแล้วไม่ไปเป็นผล สงสัยผมตั้งโจทย์ผิด

คือ
ในช่อง B6-17
- ถ้าผลลัพธ์วันใดใน B6-17 ตรงกับวันหยุดใน sheet 2
- ให้แสดงผลลัพธ์เป็นวันที่นับเพิ่มจากวันหยุดไปอีก 7 วัน

Re: สูตร ยกเว้นการแสดงวันหยุด แบบนี้ต้องทำไงครับ

Posted: Fri Feb 02, 2018 9:56 pm
by snasui
:D แนบไฟล์นั้นมาแล้วอธิบายว่าเซลล์ใดควรมีค่าเป็นเท่าใดโดยอธิบายเฉพาะเซลล์ที่ผิดพลาดมาสักสองสามค่าครับ

Re: สูตร ยกเว้นการแสดงวันหยุด แบบนี้ต้องทำไงครับ

Posted: Mon Feb 05, 2018 12:41 am
by lisztian
มันต้องใช้ V Lookup หรือ if ครับ

อ่านสูตรจนงง

ขออนุญาติแนบไฟล์อีกทีครับ

Re: สูตร ยกเว้นการแสดงวันหยุด แบบนี้ต้องทำไงครับ

Posted: Mon Feb 05, 2018 12:44 am
by lisztian
{=B7+7*=MIN(IF(ISNA(MATCH(ROW(INDIRECT($B$7&":"&$B$7+365)),Sheet2!$A$1:$A$12,0)),IF(ROW(INDIRECT($B$7&":"&$B$7+365))>=$B$7+7*(ROWS(B$7:B7)-1),ROW(INDIRECT($B$7&":"&$B$7+365)))))}

Re: สูตร ยกเว้นการแสดงวันหยุด แบบนี้ต้องทำไงครับ

Posted: Mon Feb 05, 2018 5:52 am
by snasui
lisztian wrote: Mon Feb 05, 2018 12:41 am มันต้องใช้ V Lookup หรือ if ครับ

อ่านสูตรจนงง

ขออนุญาติแนบไฟล์อีกทีครับ
:D หากเงื่อนไขเป็นตามที่เขียนมาในไฟล์คือ

ถ้า B7+7 แล้ว =วันหยุดใน sheet 2 ให้ =B7+14 ) คำตอบ B8 ก็จะเป็น 25 เม.ย 61 แทน

สูตรใน B7 จะเป็นด้านล่างครับ

=IF(COUNTIF(Sheet2!$A$1:$A$12,B6+7),B6+14,B6+7)

Re: สูตร ยกเว้นการแสดงวันหยุด แบบนี้ต้องทำไงครับ

Posted: Mon Feb 05, 2018 11:00 am
by lisztian
กราบขอบคุณครับ ............... ได้แล้วครับ

ขอบคุณมากๆ เลยครับ