สารบัญ
บล็อกโพสต์วันนี้เป็นเรื่องเกี่ยวกับการค้นหาความแตกต่างระหว่างวันที่สองวันใน Google ชีต คุณจะเห็นสูตร DATEDIF จำนวนมากในการนับวัน เดือน และปี และเรียนรู้วิธีที่ NETWORKDAYS ใช้นับวันทำงานเท่านั้น แม้ว่าวันหยุดของคุณจะขึ้นอยู่กับกำหนดการที่กำหนดเอง
ผู้ใช้สเปรดชีตจำนวนมากพบว่า วันที่ทำให้เกิดความสับสน หากไม่ยากมากในการจัดการ แต่เชื่อหรือไม่ว่ามีฟังก์ชั่นที่มีประโยชน์และตรงไปตรงมาสำหรับจุดประสงค์นั้น DATEDIF และ NETWORKDAYS เป็นสองอย่าง
ฟังก์ชัน DATEDIF ใน Google ชีต
เช่นเดียวกับฟังก์ชัน ชื่อจะแนะนำการดำเนินการ เช่นเดียวกับ DATEDIF ต้องอ่านเป็น วันที่แตกต่าง ไม่ใช่ วันที่ถ้า และหมายถึง ความแตกต่างวันที่ ดังนั้น DATEDIF ใน Google ชีตจะคำนวณความแตกต่างของวันที่ระหว่างสองวัน
มาแบ่งย่อยกัน ฟังก์ชันต้องการอาร์กิวเมนต์สามตัว:
=DATEDIF(start_date, end_date, unit)- start_date – วันที่ใช้เป็นจุดเริ่มต้น ต้องเป็นหนึ่งในรายการต่อไปนี้:
- วันที่ในเครื่องหมายคำพูดคู่: "8/13/2020"
- การอ้างอิงถึงเซลล์ที่มีวันที่: A2
- สูตรที่ส่งคืนวันที่: DATE(2020, 8, 13)
- ตัวเลขที่แสดงวันที่เฉพาะและ Google ชีตสามารถตีความเป็นวันที่ได้ เช่น 44056 หมายถึง 13 สิงหาคม 2020 .
- end_date – วันที่ที่ใช้เป็นจุดสิ้นสุด ต้องเป็นรูปแบบเดียวกับ start_date .
- หน่วย – ใช้เพื่อบอกฟังก์ชันว่าจะส่งคืนส่วนต่างใด นี่คือรายการหน่วยทั้งหมดที่คุณสามารถใช้ได้:
- "D" – (ย่อมาจาก วัน ) ส่งกลับจำนวนวันระหว่างวันที่สองวัน
- "M" – (เดือน) จำนวนเดือนเต็มระหว่างวันที่สองวัน
- "Y" – (ปี) จำนวนปีเต็ม
- "MD" – (วันโดยไม่สนใจเดือน) จำนวนวันหลังจากลบทั้งเดือน
- "YD" – (วันโดยไม่สนใจปี) จำนวนวันหลังจากลบทั้งปี
- "YM" – (เดือนที่ไม่รวมปี) จำนวนเดือนที่สมบูรณ์หลังจากลบทั้งปี
หมายเหตุ ต้องใส่หน่วยทั้งหมดลงในสูตรด้วยวิธีเดียวกับที่ปรากฏด้านบน – ในเครื่องหมายคำพูดคู่
ตอนนี้เรามารวมส่วนเหล่านี้เข้าด้วยกันและดูว่าสูตร DATEDIF ทำงานอย่างไรใน Google ชีต
คำนวณวันระหว่างวันที่สองวันใน Google ชีต
ตัวอย่าง 1. นับวันทั้งหมด
ฉันมีโต๊ะเล็กๆ สำหรับติดตามคำสั่งซื้อ ทั้งหมดถูกจัดส่งในช่วงครึ่งแรกของเดือนสิงหาคม – วันที่จัดส่ง – ซึ่งจะเป็นวันที่เริ่มต้นของฉัน นอกจากนี้ยังมีวันที่จัดส่งโดยประมาณ – วันที่ครบกำหนด .
ฉันจะคำนวณวัน – "D" – ระหว่าง การจัดส่งและวันที่ครบกำหนดเพื่อดูว่าสินค้าจะมาถึงนานแค่ไหน นี่คือสูตรที่ฉันควรใช้:
=DATEDIF(B2, C2, "D")
ฉันป้อนสูตร DATEDIF เป็น D2 แล้วคัดลอกลงในคอลัมน์เพื่อใช้กับแถวอื่น
เคล็ดลับ คุณสามารถคำนวณทั้งคอลัมน์พร้อมกันโดยใช้สูตรเดียวโดยใช้ ARRAYFORMULA:
=ArrayFormula(DATEDIF(B2:B13, C2:C13, "D"))
ตัวอย่างที่ 2 นับวันโดยไม่สนใจเดือน
ลองนึกภาพ คือสองสามเดือนระหว่างวันที่สองวัน:
คุณจะนับเฉพาะวันราวกับว่าเป็นเดือนเดียวกันได้อย่างไร ถูกต้อง: โดยไม่สนใจทั้งเดือนที่ผ่านไป DATEDIF จะคำนวณค่านี้โดยอัตโนมัติเมื่อคุณใช้หน่วย "MD" :
=DATEDIF(A2, B2, "MD")
ฟังก์ชันจะลบเดือนที่ผ่านไปและนับวันที่เหลือ .
ตัวอย่างที่ 3 นับวันโดยไม่สนใจปี
หน่วยอื่น – "YD" – จะช่วยในกรณีที่วันที่มีระยะห่างระหว่างกันมากกว่าหนึ่งปี:
=DATEDIF(A2, B2, "YD")
สูตรจะลบปีออกก่อน แล้วจึงคำนวณวันที่เหลือราวกับว่าเป็นวันในปีเดียวกัน
นับวันทำงานใน Google ชีต
มีกรณีพิเศษเมื่อคุณต้องการนับเฉพาะวันทำการใน Google ชีต สูตร DATEDIF จะช่วยอะไรไม่ได้มากนัก และฉันเชื่อว่าคุณจะเห็นด้วยว่าการลบวันหยุดสุดสัปดาห์ด้วยตนเองไม่ใช่ตัวเลือกที่หรูหราที่สุด
โชคดีที่ Google ชีตมีคาถาที่ไม่ต้องใช้เวทมนตร์สำหรับสิ่งนั้น :)
ตัวอย่างที่ 1 ฟังก์ชัน NETWORKDAYS
อันแรกเรียกว่า NETWORKDAYS ฟังก์ชันนี้จะคำนวณจำนวนวันทำงานระหว่างวันที่สองวันไม่รวมวันหยุดสุดสัปดาห์ (วันเสาร์และวันอาทิตย์) และแม้กระทั่งวันหยุด ถ้าจำเป็น:
=NETWORKDAYS(start_date, end_date, [holidays])- start_date – วันที่ใช้เป็นจุดเริ่มต้น ที่จำเป็น.
หมายเหตุ หากวันนี้ไม่ใช่วันหยุดให้นับเป็นวันทำการ
- end_date – วันที่ที่ใช้เป็นจุดสิ้นสุด ที่จำเป็น.
หมายเหตุ หากวันนี้ไม่ใช่วันหยุดให้นับเป็นวันทำการ
- วันหยุด – ตัวเลือกนี้เป็นตัวเลือกเมื่อคุณต้องการระบุวันหยุดเฉพาะเจาะจง ต้องเป็นช่วงวันที่หรือตัวเลขที่แสดงถึงวันที่
เพื่ออธิบายวิธีการทำงาน ฉันจะเพิ่มรายการวันหยุดที่เกิดขึ้นระหว่างวันจัดส่งและวันที่ครบกำหนด:
ดังนั้น คอลัมน์ B คือวันที่เริ่มต้นของฉัน คอลัมน์ C คือวันที่สิ้นสุด วันที่ในคอลัมน์ E คือวันหยุดที่ต้องพิจารณา สูตรควรมีลักษณะดังนี้:
=NETWORKDAYS(B2, C2, $E$2:$E$4)
เคล็ดลับ หากคุณกำลังจะคัดลอกสูตรไปยังเซลล์อื่น ให้ใช้การอ้างอิงเซลล์แบบสัมบูรณ์สำหรับวันหยุดเพื่อหลีกเลี่ยงข้อผิดพลาดหรือผลลัพธ์ที่ไม่ถูกต้อง หรือพิจารณาสร้างสูตรอาร์เรย์แทน
คุณสังเกตไหมว่าจำนวนวันที่ลดลงเมื่อเทียบกับสูตร DATEDIF เป็นอย่างไร เนื่องจากตอนนี้ฟังก์ชันจะลบวันเสาร์ วันอาทิตย์ และวันหยุดสองวันทั้งหมดที่เกิดขึ้นในวันศุกร์และวันจันทร์ออกโดยอัตโนมัติ
หมายเหตุ ซึ่งแตกต่างจาก DATEDIF ใน Google ชีตตรงที่ NETWORKDAYS จะนับ start_day และ end_day เป็นวันทำงาน ยกเว้นว่าจะเป็นวันหยุด ดังนั้น D7 จะส่งกลับ 1 .
ตัวอย่างที่ 2NETWORKDAYS.INTL สำหรับ Google ชีต
หากคุณมีกำหนดการวันหยุดสุดสัปดาห์ที่กำหนดเอง คุณจะได้รับประโยชน์จากฟังก์ชันอื่น: NETWORKDAYS.INTL ช่วยให้คุณนับวันทำงานใน Google ชีตตามวันหยุดสุดสัปดาห์ที่กำหนดขึ้นเอง:
=NETWORKDAYS.INTL(start_date, end_date, [weekend], [holidays])- start_date – a วันที่ใช้เป็นจุดเริ่มต้น จำเป็น
- end_date – วันที่ที่ใช้เป็นจุดสิ้นสุด ที่จำเป็น.
หมายเหตุ NETWORKDAYS.INTL ใน Google ชีตจะนับ start_day และ end_day เป็นวันทำงานด้วย เว้นแต่ว่าจะเป็นวันหยุด
- สุดสัปดาห์ – อันนี้คือ ไม่จำเป็น. หากเว้นไว้ จะถือว่าวันเสาร์และวันอาทิตย์เป็นวันหยุดสุดสัปดาห์ แต่คุณสามารถเปลี่ยนได้สองวิธี:
- มาสก์
เคล็ดลับ วิธีนี้เหมาะสำหรับวันที่วันหยุดของคุณกระจัดกระจายไปทั้งสัปดาห์
มาสก์คือรูปแบบเจ็ดหลักของเลข 1 และ 0 1 หมายถึงวันหยุดสุดสัปดาห์ 0 หมายถึงวันทำงาน ตัวเลขตัวแรกในรูปแบบคือวันจันทร์เสมอ ตัวเลขสุดท้ายคือวันอาทิตย์
ตัวอย่างเช่น "1100110" หมายความว่าคุณทำงานในวันพุธ พฤหัสบดี ศุกร์ และเสาร์
หมายเหตุ หน้ากากต้องใส่เครื่องหมายคำพูด
- ตัวเลข
ใช้ตัวเลขหนึ่งหลัก (1-7) ที่แสดงถึงคู่ของวันหยุดสุดสัปดาห์:
ตัวเลข วันหยุดสุดสัปดาห์ 1 วันเสาร์ อาทิตย์ 2 วันอาทิตย์ วันจันทร์ 3 วันจันทร์ วันอังคาร 4 วันอังคารวันพุธ 5 วันพุธ วันพฤหัสบดี 6 วันพฤหัสบดี วันศุกร์ 7 ศุกร์ เสาร์ หรือทำงานกับตัวเลขสองหลัก (11-17) ที่แสดงถึงการพักผ่อนหนึ่งวัน ภายในหนึ่งสัปดาห์:
จำนวน วันสุดสัปดาห์ 11 วันอาทิตย์ 12 วันจันทร์ 13 วันอังคาร 14 วันพุธ 15 วันพฤหัสบดี 16 วันศุกร์ 17 วันเสาร์
- มาสก์
- วันหยุดนักขัตฤกษ์ – นอกจากนี้ยังเป็นตัวเลือกและใช้เพื่อระบุวันหยุด
ฟังก์ชันนี้อาจดูซับซ้อนเนื่องจากตัวเลขทั้งหมด แต่ฉันขอแนะนำให้คุณลองใช้ดู
ก่อนอื่น เพียง รับความเข้าใจที่ชัดเจนเกี่ยวกับวันหยุดของคุณ ให้เป็น วันอาทิตย์ และ วันจันทร์ จากนั้น ตัดสินใจเลือกวิธีระบุวันหยุดสุดสัปดาห์ของคุณ
หากคุณไปโดยสวมหน้ากาก จะเป็นแบบนี้ – 1000001 :
=NETWORKDAYS.INTL(B2, C2, "1000001")
แต่เนื่องจากฉันมีวันหยุดสุดสัปดาห์สองวันติดต่อกัน ฉันจึงใช้ตัวเลขจากตารางด้านบนได้ 2 ในกรณีของฉัน:
=NETWORKDAYS.INTL(B2, C2, 2)
จากนั้นเพิ่ม อาร์กิวเมนต์สุดท้าย – อ้างถึงวันหยุดในคอลัมน์ E และสูตรพร้อมแล้ว:
=NETWORKDAYS.INTL(B2, C2, 2, $E$2:$E$4)
Google ชีตและความแตกต่างของวันที่ในเดือน
บางครั้งเดือนมีความสำคัญมากกว่าวัน หากสิ่งนี้เป็นจริงสำหรับคุณ และคุณต้องการให้ความแตกต่างของวันที่เป็นเดือนแทนที่จะเป็นวัน ลองใช้ Google ชีตDATEDIF ทำหน้าที่นี้
ตัวอย่างที่ 1 จำนวนเดือนเต็มระหว่างสองวัน
การเจาะลึกเหมือนกัน: วันที่เริ่มต้น มาก่อน ตามด้วย end_date และ "M" – ซึ่งหมายถึงเดือน – เป็นอาร์กิวเมนต์สุดท้าย:
=DATEDIF(A2, B2, "M")
เคล็ดลับ อย่าลืมเกี่ยวกับฟังก์ชัน ARRAUFORMULA ที่สามารถช่วยคุณนับเดือนในทุกแถวพร้อมกัน:
=ARRAYFORMULA(DATEDIF(A2:A13, B2:B13, "M"))
ตัวอย่างที่ 2 จำนวนเดือนที่ไม่รวมปี
คุณอาจไม่ต้อง นับเดือนตลอดทั้งปีในระหว่างวันที่เริ่มต้นและวันที่สิ้นสุด และ DATEDIF ให้คุณทำได้
เพียงใช้หน่วย "YM" สูตรจะลบทั้งปีก่อน แล้วจึงนับจำนวนเดือนระหว่างวันที่:
=DATEDIF(A2, B2, "YM")
คำนวณปีระหว่างวันที่สองวันใน Google ชีต
สิ่งสุดท้าย (แต่ไม่ท้ายสุด) ที่จะแสดงให้คุณเห็นคือวิธีที่ Google ชีต DATEDIF คำนวณวันที่ ความแตกต่างในปี
ฉันจะคำนวณจำนวนปีที่คู่รักแต่งงานกันโดยพิจารณาจากวันที่แต่งงานและวันนี้:
ตามที่คุณ อาจเดาได้แล้ว ฉันจะใช้หน่วย "Y" สำหรับสิ่งนั้น:
=DATEDIF(A2, B2, "Y")
สูตร DATEDIF ทั้งหมดนี้คือ ก่อนอื่นให้ลองคำนวณวัน เดือน และปีระหว่างวันที่สองวันใน Google ชีต
หากกรณีของคุณไม่สามารถแก้ไขได้ด้วยสิ่งเหล่านี้ หรือหากคุณมีคำถามใดๆ เราขอแนะนำให้คุณแบ่งปันข้อมูลเหล่านั้น กับเราในส่วนความคิดเห็นด้านล่างนี้