Thep Excel

Date.DayOfWeekNameดึงชื่อวันในสัปดาห์

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

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

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

อัปเดต 12 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด คำอธิบาย
date date วันที่ที่ต้องการดึงชื่อวันในสัปดาห์ สามารถเป็น #date(year, month, day) หรือ datetime value
[culture]ไม่บังคับ text Culture code สำหรับกำหนดภาษาของชื่อวัน เช่น “en-US”, “th-TH”, “de-DE” ถ้าไม่ระบุจะใช้ culture ตามค่า default

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

Additional Notes

Date.DayOfWeekName ดึงชื่อวันในสัปดาห์จากวันที่ (เช่น #date(2025,1,15)) และคืนค่าเป็นข้อความ เช่น “Wednesday” ฟังก์ชันนี้มี parameter ตัวที่สองเป็น optional ซึ่งเป็น culture code เพื่อแปลชื่อวันเป็นภาษาอื่นๆ

ที่เจ๋งคือเราสามารถใช้ culture parameter เพื่อเปลี่ยนผลลัพธ์ได้ เช่น ถ้า culture = “th-TH” จะได้ “จันทร์” แทน “Monday” ซึ่งทำให้รายงานดูเป็นภาษาท้องถิ่นของผู้ใช้ได้อย่างง่ายดาย

ส่วนตัวผมใช้ฟังก์ชันนี้ทุกครั้งที่ต้องแสดงวันเป็นข้อความในรายงาน บ่อยครั้งมากเพราะตัวเลขวัน (0-6) ยากต่อการอ่านเข้าใจสำหรับผู้ใช้งาน

How it works

สร้างรายงานวันทำการ

เพิ่มคอลัมน์ชื่อวันเพื่อแสดงสำหรับแต่ละวันที่ในรายงาน

กรองข้อมูลตามวัน

ใช้ชื่อวันเพื่อกรองข้อมูลสำหรับวันจันทร์-ศุกร์

จัดเรียงข้อมูลตามแบบแผน

เพิ่มคอลัมน์ชื่อวันเพื่อจัดเรียงข้อมูลตามรูปแบบการทำงาน

Examples

ตัวอย่างที่ 1: ดึงชื่อวันง่ายๆDate.DayOfWeekName(#date(2025, 1, 15))

วันที่ 15 มกราคม 2025 เป็นวันพุธ ฟังก์ชันจะคืนค่า "Wednesday" เป็นข้อความ (ตามค่า culture ตั้งต้น)

fx
=Date.DayOfWeekName(#date(2025, 1, 15))

ผลลัพธ์"Wednesday"
ตัวอย่างที่ 2: ระบุ culture เป็นไทยDate.DayOfWeekName(#date(2025, 1, 15), "th-TH")

เมื่อระบุ culture = "th-TH" ฟังก์ชันจะแปลชื่อวันเป็นภาษาไทย ได้เป็น "พุธ" แทน "Wednesday"

fx
=Date.DayOfWeekName(#date(2025, 1, 15), "th-TH")

ผลลัพธ์"พุธ"
ตัวอย่างที่ 3: เพิ่มคอลัมน์ชื่อวันในตารางlet Source = Table.FromRows({{#date(2025,1,13), "A"}, {#date(2025,1,14), "B"}}, {"Date", "Item"}), AddDay = Table.AddColumn(Source, "DayName", each Date.DayOfWe…

สูตรนี้ใช้ let…in structure เพื่อสร้างตารางจาก rows แล้วเพิ่มคอลัมน์ DayName โดยใช้ Date.DayOfWeekName ร่วมกับ each เพื่อใช้กับทุกแถว

fx
let
Source = Table.FromRows({{#date(2025,1,13), "A"}, {#date(2025,1,14), "B"}}, {"Date", "Item"}),
AddDay = Table.AddColumn(Source, "DayName", each Date.DayOfWeekName([Date], "en-US"))
in
AddDay

ผลลัพธ์ตารางที่เพิ่มคอลัมน์ DayName = "Monday", "Tuesday"
ตัวอย่างที่ 4: สร้าง pivot report ตามวันlet Source = Table.FromRows({{#date(2025,1,13), 1000}, {#date(2025,1,14), 2000}, {#date(2025,1,15), 1500}}, {"Date", "Amount"}), AddDayName = Table.AddColumn(So…

ตัวอย่างจริงที่ใช้ Date.DayOfWeekName เพื่อแปลวันเป็นภาษาไทย แล้ว group ข้อมูลตามวันเพื่อคำนวณยอดรวมต่อวัน ทำให้รายงานอ่านเข้าใจง่ายขึ้น

fx
let
Source = Table.FromRows({{#date(2025,1,13), 1000}, {#date(2025,1,14), 2000}, {#date(2025,1,15), 1500}}, {"Date", "Amount"}),
AddDayName = Table.AddColumn(Source, "Day", each Date.DayOfWeekName([Date], "th-TH")),
Grouped = Table.Group(AddDayName, {"Day"}, {{"TotalAmount", each List.Sum([Amount]), type number}})
in
Grouped

ผลลัพธ์ตารางที่มีแถวสำหรับแต่ละวัน (จันทร์, อังคาร, พุธ) พร้อมยอดรวม

FAQs

ความแตกต่างระหว่าง Date.DayOfWeekName กับ Date.DayOfWeek คืออะไร?+

ผม Date.DayOfWeekName คืนค่าชื่อวัน ("Monday", "Tuesday") ส่วน Date.DayOfWeek คืนค่าเป็นตัวเลข (0-6) ฟังก์ชัน DayOfWeekName เหมาะสำหรับแสดงผลให้ผู้ใช้อ่าน DayOfWeek เหมาะสำหรับการเปรียบเทียบหรือตรรกะภายในโค้ด

ผลลัพธ์จะเป็นภาษาใด ถ้าไม่ระบุ culture?+

ผมกล่าว ถ้าไม่ระบุ parameter culture ฟังก์ชันจะใช้ culture ของระบบ โดยทั่วไปจะเป็นภาษาอังกฤษ ("Monday") แต่ถ้าต้องการให้ชัวร์ว่าจะได้ผลลัพธ์ตามต้องการ ให้ระบุ culture อย่างชัดเจน เช่น "th-TH" หรือ "en-US"

สามารถใช้ Date.DayOfWeekName กับการกรองข้อมูลได้หรือไม่?+

ผมแนะนำให้ใช้ Date.DayOfWeek (ตัวเลข) สำหรับการกรองแทน เพราะการเปรียบเทียบตัวเลขเร็วกว่า และหลีกเลี่ยงปัญหา locale ไม่ตรงกัน แต่ถ้าจำเป็นต้องใช้ชื่อวัน สามารถใช้ได้ เช่น Table.SelectRows(Source, each Date.DayOfWeekName([Date], "en-US") = "Monday")

Resources & Related

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

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

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

Date.DayOfWeek

แปลงวันที่ให้เป็นตัวเลข 0-6 แทนวันในสัปดาห์ (0=อาทิตย์ โดยค่าเริ่มต้น)

Date.DayOfYear

คืนค่าวันที่เท่าไหร่ของปี (1-366)

Date.MonthName

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

Text functions (1)
Text.Lower

Text.Lower ใช้แปลงอักขระทั้งหมดในข้อความให้เป็นตัวพิมพ์เล็ก (lowercase) ช่วยให้ข้อมูลมีรูปแบบสอดคล้องกัน สามารถกำหนด Culture เพื่อให้การแปลงเป็นไปตามกฎของภาษาและภูมิภาคที่ต้องการ

Comments

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