คลังสูตรExcel 80 · DAX 95 · M 15
ในหน้านี้
หน้าแรก › DAX › วันที่ (Date) › DATEDIFF

DATEDIFF

DAX · Power BIวันที่ (Date)ระดับกลางแบบ 2 · ชื่อเดียวกัน ทำงานต่างกัน

อัปเดต 27 ก.ย. 2569 · ตัวเลขในตัวอย่างตรงกับตัวคำนวณอ้างอิงที่เขียนแยก และสูตร Excel ที่คำนวณจากข้อมูลชุดเดียวกัน · ยังไม่ได้ตรวจใน Power BI Desktop

เอกสารอ้างอิง: DATEDIFF (Microsoft Learn) · syntax และหมายเหตุในหน้านี้ตรวจกับหน้านี้ของ Microsoft · ตัวจำลองในหน้านี้รองรับเฉพาะรูปแบบที่ใช้ในตัวอย่าง (เช่น ไม่รองรับ calendar-based time intelligence)

DATEDIFF คืออะไร

นับจำนวนขอบของหน่วยเวลา (วัน เดือน ปี …) ที่ข้ามระหว่างสองวันที่ ได้ค่าติดลบเมื่อวันแรกอยู่หลังวันที่สอง

ใช้เมื่อไหร่

  • นับวันหรือเดือนระหว่างสองวันที่ เช่น อายุลูกค้า ระยะเวลาส่งของ
  • นับจำนวนเดือนที่ข้ามระหว่างคำสั่งซื้อแรกและล่าสุด

รูปแบบสูตร

=DATEDIFF(<Date1>, <Date2>, <Interval>)

Argument แต่ละตัว

ชี้ที่ argument ในรูปแบบสูตรด้านบนเพื่อไฮไลต์แถวนั้น

Argumentจำเป็นไหมความหมาย
Date1จำเป็นวันที่เริ่ม
Date2จำเป็นวันที่สิ้นสุด
Intervalจำเป็นหน่วยที่นับ พิมพ์เป็นคำสงวนไม่มีเครื่องหมายคำพูด: SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR

ลองเลย: ระยะห่างระหว่างคำสั่งซื้อแรกและล่าสุด แยกตามภูมิภาค

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

[วันระหว่างคำสั่งซื้อแรกและล่าสุด] = DATEDIFF(MIN('ยอดขาย'[วันที่]), MAX('ยอดขาย'[วันที่]), DAY)
Ctrl + Enter คำนวณ · พิมพ์ ' เลือกตาราง · [ เลือกคอลัมน์หรือ Measure
  • พนักงานขาย[ภูมิภาค] = "กลาง"
  • สินค้าไม่มีตัวกรอง
  • วันที่[ปี] = 2025
  • ยอดขายเหลือ 96 จาก 495 แถว · หนึ่งจุดคือหนึ่งคำสั่งซื้อ
ระยะห่างระหว่างคำสั่งซื้อแรกและล่าสุด แยกตามภูมิภาค
ระยะห่างระหว่างคำสั่งซื้อแรกและล่าสุด แยกตามภูมิภาค · ใช้ลูกศรเลื่อนระหว่างช่อง Enter เพื่อดูว่าตัวเลขนั้นคำนวณอย่างไร
ภูมิภาควันระหว่างคำสั่งซื้อแรกและล่าสุดเดือนที่ข้าม
กลาง
เหนือ
ตะวันออกเฉียงเหนือ
ตะวันออก
ใต้
ยอดรวม
11เดือนที่ข้าม · กลาง · 2025
ดูทีละขั้นขั้น 5 / 5

ถ้าคุณเขียน Excel อยู่แล้ว

EXCEL=DATEDIF(MINIFS(ยอดขาย[วันที่], ยอดขาย[ภูมิภาค], "กลาง"), MAXIFS(ยอดขาย[วันที่], ยอดขาย[ภูมิภาค], "กลาง"), "m")

DATEDIF ของ Excel นับเดือนเต็ม แต่ DATEDIFF ของ DAX นับการข้ามต้นเดือน 31 ม.ค. ถึง 1 ก.พ. DATEDIF ได้ 0 แต่ DATEDIFF ได้ 1 ตัวเลขจึงอาจต่างกัน

DAXวันระหว่างคำสั่งซื้อแรกและล่าสุด = DATEDIFF(MIN('ยอดขาย'[วันที่]), MAX('ยอดขาย'[วันที่]), DAY)

หน่วย DAY ได้ผลเท่ากับการลบวันที่

ข้อผิดพลาดและเคล็ดลับ

DATEDIFF(DATE(2025, 1, 31), DATE(2025, 2, 1), MONTH) ได้ 1 เพราะข้ามต้นเดือนหนึ่งครั้ง ถ้าต้องการเดือนเต็มแบบ DATEDIF ของ Excel ต้องคำนวณเอง
Interval พิมพ์เป็นคำสงวน เช่น MONTH ห้ามใส่เป็นข้อความ "m" หรือ "MONTH"
ลำดับ argument เหมือน DATEDIF คือวันเริ่มก่อน ถ้าสลับกันจะได้ค่าติดลบแทน Error

แบบทดสอบ 3 ข้อ

1. DATEDIFF(DATE(2025, 1, 31), DATE(2025, 2, 1), MONTH) ได้เท่าไร

2. interval ของ DATEDIFF เขียนแบบใด

3. ใส่วันที่สลับกัน (วันหลังก่อน) ได้อะไร

ไฟล์ฝึก DATEDIFF

9Expert-DAX-DATEDIFF-Practice-v1.0.xlsx

รุ่น 1.0 · 26/9/2026 · 70 KB · ไม่มี Macro · นำเข้า Power BI แล้วทำโจทย์ พิมพ์คำตอบกลับในไฟล์ ตรวจเอง
เริ่มต้นยอดขายสินค้าพนักงานขายวันที่คงคลังเป้าภูมิภาคแบบฝึกหัดเฉลย

โจทย์ในชีตแบบฝึกหัด

  1. ข้อ 1[เดือนที่ข้าม] จำนวนครั้งที่ข้ามต้นเดือน จากคำสั่งซื้อแรกถึงคำสั่งซื้อล่าสุด · กรอง ภูมิภาค = ใต้, ปี = 2024
  2. ข้อ 2[เดือนที่ข้าม] จำนวนครั้งที่ข้ามต้นเดือน จากคำสั่งซื้อแรกถึงคำสั่งซื้อล่าสุด · กรอง ภูมิภาค = ตะวันออกเฉียงเหนือ, ช่องทาง = Online, ปี = 2025
  3. ข้อ 3[วันระหว่างคำสั่งซื้อแรกและล่าสุด] จำนวนวันจากคำสั่งซื้อแรกถึงคำสั่งซื้อล่าสุด · กรอง ภูมิภาค = เหนือ, ปี = 2025
  4. ข้อ 4[วันระหว่างคำสั่งซื้อแรกและล่าสุด] จำนวนวันจากคำสั่งซื้อแรกถึงคำสั่งซื้อล่าสุด · กรอง ภูมิภาค = ตะวันออก, ช่องทาง = Modern Trade, ปี = 2024
  5. ข้อ 5[วันระหว่างคำสั่งซื้อแรกและล่าสุด] จำนวนวันจากคำสั่งซื้อแรกถึงคำสั่งซื้อล่าสุด · กรอง ปี = 2025

ไปต่อ

อยากเขียน DAX สำหรับรายงานจริงทั้งระบบ

ต่อยอดใน Data Analysis Expression (DAX) for Power BI: Measures, X Aggregation, CALCULATE, Date Table และ Time Intelligence (2 วัน)

ดูหลักสูตร