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 มันข้ามวันหยุดไปให้แสดงเป็นตามตารางขวา พอมีสูตรไหมครับ
ขอบคุณครับ

Re: สูตร ยกเว้นการแสดงวันหยุด แบบนี้ต้องทำไงครับ
Posted: Thu Feb 01, 2018 9:18 pm
by snasui

จำเป็นต้องมีการคีย์วันหยุดทั้งหมดเอาไว้อีกชีต เพื่อจะใช้ตรวจสอบว่าตรงกับวันหยุดหรือไม่ ลองเพิ่มรายการวันหยุดทั้งหมดแล้วแนบไฟล์มาใหม่อีกรอบครับ
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

ตัวอย่างสูตรตามด้านล่างครับ
ที่ 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 ด้านล่าง
- กรณีคีย์สูตรเอง เมื่อคีย์สูตรแล้ว แทนที่จะกด Enter ให้กดแป้น
Ctrl และ Shift พร้อมกันค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array
- กรณี Copy สูตรไปวางให้กดแป้น F2 เพื่อทำการ Edit Cell นั้นก่อน
จากนั้นกดแป้น Ctrl และ Shift พร้อมกันค้างไว้แล้วตามด้วย Enter เพื่อสร้างเป็นสูตร Array
- หากกดแป้นถูกต้องสูตรนั้นจะมีเครื่องหมายปีกกาครอบ เช่น {=YourFormulas(...)}
ปีกกานี้ไม่สามารถคีย์เข้าไปเอง จะต้องมาด้วยการกดแป้น Ctrl+Shift+Enter เท่านั้น
ถ้ายังไม่เห็นปีกกาครอบสูตรแสดงว่ากดแป้นให้รับสูตรไม่ถูกต้อง
- การแก้ไขเปลี่ยนแปลงสูตร 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

แนบไฟล์นั้นมาแล้วอธิบายว่าเซลล์ใดควรมีค่าเป็นเท่าใดโดยอธิบายเฉพาะเซลล์ที่ผิดพลาดมาสักสองสามค่าครับ
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 ครับ
อ่านสูตรจนงง
ขออนุญาติแนบไฟล์อีกทีครับ

หากเงื่อนไขเป็นตามที่เขียนมาในไฟล์คือ
ถ้า 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
กราบขอบคุณครับ ............... ได้แล้วครับ
ขอบคุณมากๆ เลยครับ