Thep Excel

Date.MonthNameแยกชื่อเดือนจากวันที่

Date.MonthName ใช้สำหรับแยกชื่อเดือนภาษาอังกฤษจากค่าวันที่ที่ระบุ โดยส่วนใหญ่ใช้เมื่อต้องการแสดงชื่อเดือนแทนเลขเดือน

fx
=Date.MonthName(date, [culture]) as nullable text

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

อัปเดต 12 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด คำอธิบาย
date Date/DateTime ค่าวันที่ที่ต้องการแยกชื่อเดือน
[culture]ไม่บังคับ Text รหัสวัฒนธรรมที่กำหนดภาษาชื่อเดือน เช่น “en-US” สำหรับภาษาอังกฤษ หรือ “th-TH” สำหรับภาษาไทย (ถ้าไม่ระบุ ใช้ค่าเริ่มต้นของระบบ)

[ ] = อาร์กิวเมนต์ที่ไม่บังคับ

Additional Notes

Date.MonthName เบิกออกชื่อเดือนจากวันที่ได้แบบเรียบง่าย เช่น 2024-01-15 กลายเป็น “January” ทันทีโดยไม่ต้องเขียนสูตรลึกๆ ฟังก์ชันนี้ยอดเยี่ยมเวลาต้องสร้างรายงานให้ผู้บริหารอ่านเข้าใจ เพราะชื่อเดือน(January, February) อ่านเข้าใจง่ายกว่าเลข (1, 2, 3) เสียเยอะ

ที่เจ๋งคือ ไม่ต้องเขียน IF ยาวๆ เพื่อแปลงเลขเดือนเป็นชื่อเดือน ฟังก์ชันนี้ทำเองให้ปรือปรุงได้ ไม่ว่าจะใช้เลขวัฒนธรรม (culture) อะไรก็ได้ อังกฤษ ไทย หรืออื่นๆ หมดเรื่องใน 1 บรรทัด

ส่วนตัวผม ใช้ Date.MonthName กับ Table.AddColumn บ่อยครั้ง เวลาต้องเพิ่มคอลัมน์ชื่อเดือนลงในตาราง แล้วมันช่วยให้รายงานเนียนขึ้นและดูมืออาชีพมาก ลูกค้าชอบเพราะอ่านเข้าใจได้ทีเดียว

Examples

ตัวอย่างพื้นฐาน: ดึงชื่อเดือนจากวันที่let MyDate = #date(2024, 12, 15), MonthName = Date.MonthName(MyDate) in MonthName

ฟังก์ชันดึงชื่อเดือนจากวันที่ 2024-12-15 ผลลัพธ์คือ "December"

fx
let
MyDate = #date(2024, 12, 15),
MonthName = Date.MonthName(MyDate)
in
MonthName

ผลลัพธ์"December"
ตัวอย่างที่ 2: ระบุวัฒนธรรม (Culture)let MyDateTime = #datetime(2024, 3, 20, 14, 30, 0), MonthName = Date.MonthName(MyDateTime, "en-US") in MonthName

ดึงชื่อเดือนจากวันที่และเวลา โดยระบุวัฒนธรรม en-US ผลลัพธ์คือ "March"

fx
let
MyDateTime = #datetime(2024, 3, 20, 14, 30, 0),
MonthName = Date.MonthName(MyDateTime, "en-US")
in
MonthName

ผลลัพธ์"March"
ตัวอย่างที่ 3: เพิ่มคอลัมน์ชื่อเดือนในตารางlet Sales = Table.FromRows( {{#date(2024, 1, 15), "Product A", 500}, {#date(2024, 2, 20), "Product B", 750}, {#date(2024, 3, 10), "Product C", 600}}, {"Date", "…

เพิ่มคอลัมน์ใหม่ที่มีชื่อเดือนโดยใช้ Date.MonthName ทำให้รายงานอ่านง่ายขึ้น

fx
let
Sales = Table.FromRows(
{{#date(2024, 1, 15), "Product A", 500}, {#date(2024, 2, 20), "Product B", 750}, {#date(2024, 3, 10), "Product C", 600}},
{"Date", "Product", "Amount"}
),
AddMonthName = Table.AddColumn(Sales, "MonthName", each Date.MonthName([Date], "en-US"))
in
AddMonthName

ผลลัพธ์ตารางมี 4 คอลัมน์: Date, Product, Amount, MonthName (ค่าเดือน: January, February, March)
ตัวอย่างที่ 4: เพิ่มทั้ง MonthName และ MonthNumber เพื่อให้สามารถเรียงได้ถูกต้องlet Sales = Table.FromRows( {{#date(2024, 12, 15), "Dec", 500}, {#date(2024, 1, 20), "Jan", 750}, {#date(2024, 3, 10), "Mar", 600}}, {"Date", "Product", "Amount…

เมื่อต้องการเรียงข้อมูลตามลำดับเดือน ต้องเก็บทั้ง MonthName (สำหรับแสดง) และ MonthNum (สำหรับเรียง) ถ้าใช้แค่ MonthName จะเรียง Alphabetical ซึ่งผิด

fx
let
Sales = Table.FromRows(
{{#date(2024, 12, 15), "Dec", 500}, {#date(2024, 1, 20), "Jan", 750}, {#date(2024, 3, 10), "Mar", 600}},
{"Date", "Product", "Amount"}
),
AddMonthInfo = Table.AddColumn(Sales, "MonthName", each Date.MonthName([Date], "en-US")),
AddMonthNum = Table.AddColumn(AddMonthInfo, "MonthNum", each Date.Month([Date])),
SortByMonth = Table.Sort(AddMonthNum, {{"MonthNum", Order.Ascending}})
in
SortByMonth

ผลลัพธ์ตารางเรียงตามลำดับเดือนจริง (January, March, December) ไม่ใช่เรียง Alphabetical

FAQs

Date.MonthName ทำงานกับวันที่รูปแบบใดได้บ้าง?+

ใช้ได้กับ #date, #datetime และ Date/DateTime values ที่เป็นข้อมูลชนิด date หรือ datetime

ถ้าไม่ระบุ culture พารามิเตอร์จะใช้ค่าใด?+

จะใช้ค่าเริ่มต้นของระบบ (system default culture) ซึ่งโดยปกติขึ้นอยู่กับการตั้งค่าภาษาของคอมพิวเตอร์

สามารถใช้ Date.MonthName เพื่อแสดงชื่อเดือนภาษาไทยได้หรือ?+

ได้ โดยระบุ culture เป็น "th-TH" เช่น Date.MonthName(#date(2024, 1, 15), "th-TH") แต่ผลลัพธ์อาจขึ้นอยู่กับการสนับสนุน culture ของ Power Query

ถ้าเป็น null value จะคืนค่าอะไร?+

จะคืนค่า null หากค่า date ที่ส่งเข้าไป (argument) เป็น null

ชื่อเดือนที่ได้มาจาก Date.MonthName จะเรียงตามลำดับเดือนหรือ Alphabetical?+

ผมต้องบอกว่า Date.MonthName ส่งคืน text เพียงชื่อ เมื่อนำไปแสดงในรายงาน Excel หรือ GROUP BY จะเรียงก alphabetical อย่าง April, August, December… ไม่ใช่ January, February, March ถ้าต้องการเรียงตามเดือน ให้เก็บ Date.Month() เป็นคอลัมน์แยก แล้ว sort โดยคอลัมน์นั้นแทน

Resources & Related

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

ฟังก์ชันนี้Date.MonthNameDate functions
Date functions (4)
Date.Day

Date.Day ใช้สำหรับดึงเลขวันที่จากค่าวันที่ หรือวันที่และเวลาใด ๆ ผลลัพธ์คือตัวเลขระหว่าง 1-31 ที่บอกวันของเดือนนั้น ฟังก์ชันนี้มีประโยชน์มากเมื่อเราต้องการแยกส่วนประกอบของวันที่ออกมาใช้งาน

Date.DayOfWeekName

Date.DayOfWeekName คืนค่าชื่อวันในสัปดาห์เป็นข้อความ เหมาะสำหรับแสดงวันจากวันที่ในรูปแบบ Monday, Tuesday เป็นต้น สามารถกำหนด culture เพื่อแปลชื่อวันเป็นภาษาต่างๆ ได้

Date.Month

Date.Month ดึงค่าตัวเลขเดือน (1-12) จากข้อมูลวันที่ใดๆ เหมาะสำหรับการจัดกลุ่มและวิเคราะห์ข้อมูลตามรอบเดือน

Date.Year

Date.Year คืนค่าปีเป็นตัวเลข 4 หลักจากข้อมูล DateTime ใช้สำหรับดึงเฉพาะปีออกมาจากวันที่เพื่อนำไปจัดกลุ่มข้อมูลหรือกรองตามปี

Comments

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