Thep Excel

DAYดึงเลขวัน (1–31) จากวันที่

DAY คืนค่าเลขวันของเดือนจากค่าวันที่/เวลา (1–31) เป็นฟังก์ชันพื้นฐานสำหรับการวิเคราะห์ตามวันของเดือน การจัดกลุ่ม และการสร้างคอลัมน์ช่วย

fx
=DAY(<date>)

ความนิยม8/10
ความยาก2/10
ประโยชน์8/10

อัปเดต 13 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด คำอธิบาย
date date/datetime ค่าวันที่/เวลา หรือข้อความรูปแบบวันที่ ที่ต้องการดึงเลขวันของเดือน

Additional Notes

DAY เป็นฟังก์ชันที่ดึง “เลขวันของเดือน” จากค่าวันที่/เวลา แล้วคืนค่าเป็นตัวเลข 1–31 ฟังก์ชันนี้ง่ายแต่จำเป็นมากในการวิเคราะห์ข้อมูลตามลักษณะเวลา

ที่เจ๋งคือ DAY ทำงานไม่ว่าค่าวันที่จะมาจากไหน—ได้แก่ คอลัมน์วันที่ฟังก์ชัน TODAY() หรือแม้แต่ค่า text ที่เป็นรูปแบบวันที่ก็ได้ ส่วนใจสำคัญอีกประการคือ DAY คืนค่าเป็นตัวเลขเสมอ ไม่ใช่ข้อความ ทำให้ใช้ในการคำนวณหรือเปรียบเทียบได้

ส่วนตัวผมชอบใช้ DAY สำหรับสองอย่างหลัก: แรกคือสร้าง flag วันสิ้นเดือน โดยเทียบเลขวันปัจจุบันกับเลขวันของ EOMONTH ที่จะให้ค่า 1 ชุดเดียว สองคือ จัดกลุ่มข้อมูลตามวันของเดือนเพื่อดูรูปแบบพฤติกรรมตามระยะวันในเดือน เช่น วันต้นเดือนขายดีกว่าวันท้ายเดือนหรือไม่ 😎

How it works

สร้างคอลัมน์วันของเดือนในตารางวันที่

ใช้ทำแกน/การจัดกลุ่มตามวันของเดือน

ทำเงื่อนไขที่อิงวันของเดือน

เช่น ตรวจว่าเป็นวันสิ้นเดือนหรือวันต้นเดือน (ร่วมกับฟังก์ชันอื่น)

Examples

ตัวอย่างที่ 1: ดึงเลขวันจากคอลัมน์วันที่ (Calculated Column)Day of Month = DAY('DimDate'[Date])

สร้างคอลัมน์ช่วยเพื่อเก็บเลขวันของเดือนจากคอลัมน์ Date ตัวเลขนี้ใช้จัดกลุ่มหรือเปรียบเทียบได้ทันที

fx
Day of Month =
DAY('DimDate'[Date])

ผลลัพธ์ได้เลขวัน 1–31 ตัวเลข
ตัวอย่างที่ 2: ดึงเลขวันจากวันปัจจุบัน (Measure)Today Day Number = DAY(TODAY())

ใช้ TODAY() เพื่อให้ DAY ดึงเลขวันของวันปัจจุบัน เหมาะกับการเชื่อมโยงกับข้อความไดนามิกหรือเงื่อนไข

fx
Today Day Number =
DAY(TODAY())

ผลลัพธ์เลขวันของเดือนปัจจุบัน (เช่น 23 ถ้าวันนี้คือวันที่ 23 ของเดือน)
ตัวอย่างที่ 3: ตรวจว่าเป็นวันสิ้นเดือนหรือไม่ (Calculated Column)Is Month End = DAY('DimDate'[Date]) = DAY(EOMONTH('DimDate'[Date], 0))

EOMONTH ส่งคืนวันสิ้นเดือน แล้วเทียบเลขวัน DAY ของทั้งวันที่ในข้อมูลและ EOMONTH ถ้าเท่ากัน = วันสิ้นเดือน นี่คือวิธี flag "month-end" ทั่วไปใน DAX

fx
Is Month End =
DAY('DimDate'[Date]) = DAY(EOMONTH('DimDate'[Date], 0))

ผลลัพธ์TRUE เมื่อเป็นวันสิ้นเดือน FALSE เมื่อไม่ใช่
ตัวอย่างที่ 4: วิเคราะห์ยอดขายตามวันของเดือน (Measure with GROUP BY)Avg Sales by Day Group = CONCAT( "วัน ", DAY(MAX('Sales'[SalesDate])), ": ", FORMAT( AVERAGE('Sales'[Amount]), "$#,##0.00" ) )

ใช้ DAY เพื่อแสดงเลขวัน แล้ว CONCAT เพื่อต่อกับข้อมูลอื่น ๆ สร้างป้ายชื่อไดนามิก เหมาะกับ visual ที่ต้องแสดงข้อมูลตามวันของเดือน

fx
Avg Sales by Day Group =
CONCAT(
"วัน ",
DAY(MAX('Sales'[SalesDate])),
": ",
FORMAT(
AVERAGE('Sales'[Amount]),
"$#,##0.00"
)
)

ผลลัพธ์ข้อความเช่น "วัน 15: $1,234.56"

FAQs

DAY คืนค่าเป็นชนิดอะไร?+

คืนค่าเป็นตัวเลขจำนวนเต็ม (integer) 1–31 ซึ่งแทนเลขวันของเดือน ใช้ได้ทันทีในการคำนวณหรือเปรียบเทียบ

DAY ต่างจาก WEEKDAY อย่างไร?+

DAY คืนเลขวันของเดือน (1–31) ส่วน WEEKDAY คืนเลขวันของสัปดาห์ (1–7 ตามรูปแบบที่กำหนด เช่น 1=จันทร์ 7=อาทิตย์)

DAY ทำงานกับข้อความรูปแบบวันที่ได้หรือไม่?+

ได้ DAY จะแปลงข้อความตามการตั้งค่า locale ของคอมพิวเตอร์ เช่น "3-4-1007" ตีความว่า เดือน 3 วันที่ 4 (US format) หรือ วันที่ 3 เดือน 4 (EU format) จึงควรใช้วันที่จริงแทนข้อความเพื่อหลีกเลี่ยงความสับสน

Resources & Related

ฟังก์ชันที่ผู้เขียนโยงไว้กับ DAY จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง

ฟังก์ชันนี้DAYDate and Time
Date and Time (9)
DATE

DATE สร้างค่าวันที่จากตัวเลข Year/Month/Day แล้วคืนค่าเป็นชนิด datetime เหมาะกับการประกอบวันที่จากคอลัมน์แยกส่วนหรือสร้างวันที่อ้างอิง เช่น วันแรกของเดือน วันตัดยอด

DATEVALUE

DATEVALUE แปลงข้อความวันที่ (text) ให้เป็น datetime โดยอ้างอิงตามการตั้งค่า locale ของ model เหมาะกับข้อมูลวันที่ที่เก็บเป็นข้อความและต้องแปลงเป็นวันที่จริงเพื่อการคำนวณตามเวลา

EOMONTH

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

MINUTE (DAX)

ดึงเลขนาที (0–59) จากค่าวันที่/วันเวลา และคืนค่าเป็นจำนวนเต็ม

MONTH (DAX)

MONTH ดึงเลขเดือน (integer 1-12) จากค่า datetime โดยรับ input เป็น datetime value, column reference, หรือ text representation ของวันที่ และคืนค่าตั้งแต่ 1 (มกราคม) ถึง 12 (ธันวาคม) ตาม Gregorian calendar ใช้สร้าง calculated column ใน Date table เพื่อเป็น sort column สำหรับชื่อเดือน และใช้ใน measure เพื่อสร้าง conditional logic กับ custom time intelligence calculations

QUARTER

QUARTER คือฟังก์ชันที่แยกหมายเลขไตรมาส (Quarter) จากวันที่ โดยส่งค่า 1-4 แทนไตรมาสของปี ใช้เพื่อจัดกลุ่มข้อมูลตามไตรมาส สร้างลำดับชั้นเวลา และวิเคราะห์ประสิทธิภาพตามรอบปี

WEEKDAY

WEEKDAY คืนค่าเลขวันในสัปดาห์ (1-7) จากวันที่ที่กำหนด สามารถปรับรูปแบบให้เริ่มจากอาทิตย์หรือจันทร์ได้ตามต้องการ เหมาะสำหรับการแยกวันทำงาน วันหยุด หรือวิเคราะห์พฤติกรรมตามวัน

ฟังก์ชัน YEAR ใน DAX

ดึงปีจากวันที่ในรูปแบบตัวเลข 4 หลัก สำหรับวิเคราะห์ข้อมูลตามปี

YEARFRAC

YEARFRAC คืนค่าสัดส่วนของปีระหว่าง StartDate และ EndDate โดยเลือกวิธีนับวัน (Basis) ได้ เหมาะกับการวัดช่วงเวลาที่ต้องการผลลัพธ์เป็นจำนวนปีแบบทศนิยม

Comments

อีเมลของคุณจะไม่ถูกเผยแพร่