Thep Excel

Date.Fromแปลงข้อมูลต่างประเภทเป็นวันที่

Date.From แปลงข้อมูลหลายรูปแบบ (ข้อความ ตัวเลข DateTime DateTimeZone) เป็นค่า date ที่สามารถใช้ในการคำนวณและจัดรูปแบบได้ รองรับการระบุ culture สำหรับการแปลงวันที่ localized

fx
= Date.From(value, [culture]) as nullable date

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

อัปเดต 3 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด ค่าเริ่มต้น คำอธิบาย
value any ค่าที่ต้องการแปลง ยอมรับ text datetime datetimezone number หรือ date
[culture]ไม่บังคับ text null (ใช้ default culture ของระบบ) รหัสภาษา/วัฒนธรรม เช่น ‘en-US’ ‘de-DE’ ‘fr-FR’ ใช้เมื่อข้อความวันที่ถูกเขียนตามรูปแบบ localized

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

Additional Notes

Date.From(value as any, optional culture as nullable text) as nullable date

Date.From เป็นฟังก์ชันที่ใช้แปลงข้อมูลจากหลายรูปแบบให้เป็นประเภท date ซึ่งจำเป็นสำหรับการวิเคราะห์ข้อมูลอนุกรมเวลา การแปลงข้อความวันที่จากแหล่งข้อมูลต่างประเทศ หรือการแยกส่วนวันที่จาก DateTime values

ใช้ได้กับข้อมูลประเภท text (รวมรูปแบบ localized) datetime datetimezone number (OLE Automation format) และ date ตัวเอง จะคืนค่า null หากค่า input เป็น null ทำให้ไม่เกิด error

ส่วนตัวผมมักใช้ Date.From เมื่อต้องทำความสะอาดวันที่จากระบบต่างๆ ที่มีรูปแบบแตกต่าง แล้วจึงกำหนด culture เพื่อให้ Power Query อ่านข้อความวันที่อย่างถูกต้องตามท้องถิ่น 😎 ข้อดีคือถ้า input เป็น null จะคืน null กลับมาไม่ทำให้เกิดข้อผิดพลาด ทำให้การจัดการข้อมูลที่ไม่สมบูรณ์ง่ายขึ้น

How it works

ตัดเวลาออกจาก DateTime

แปลงคอลัมน์ที่มีทั้งวันที่และเวลา ให้เหลือแค่วันที่

แปลงข้อความเป็นวันที่

แปลง "2025-12-31" ให้เป็นชนิดข้อมูล Date ที่ถูกต้อง

แปลงตัวเลขเป็นวันที่

แปลง Serial Number ของ Excel (เช่น 45658) ให้เป็นวันที่

Examples

แปลง DateTime เป็น Date (ตัวอย่างพื้นฐาน)Date.From(#datetime(1899, 12, 30, 06, 45, 12))

เมื่อมี DateTime value ที่มีเวลา ฟังก์ชัน Date.From จะตัดส่วนเวลาออก และเหลือเพียงส่วนวันที่ เหมาะสำหรับเวลาที่ไม่ต้องการเก็บ time component

fx
= Date.From(#datetime(1899, 12, 30, 06, 45, 12))

ผลลัพธ์#date(1899, 12, 30)
แปลงตัวเลข (OLE Automation) เป็น DateDate.From(43910)

ตัวเลข 43910 แทนจำนวนวันตั้งแต่ 30 ธันวาคม 1899 (วันที่ 0) การใช้ Date.From จะคำนวณเป็นวันที่ที่ถูกต้อง ระบบเดียวกับ Excel serial dates

fx
= Date.From(43910)

ผลลัพธ์#date(2020, 3, 20)
แปลง Text วันที่ที่มี Culture เป็น Datelet GermanDate = "20 Januar 2023", Result = Date.From(GermanDate, "de-DE") in Result

โดยการกำหนด culture เป็น 'de-DE' Power Query จึงเข้าใจว่า 'Januar' หมายถึง January (มกราคม) และแปลงเป็นวันที่ที่ถูกต้อง ส่วนตัวผมใช้วิธีนี้สำหรับข้อมูล localized จากแหล่งต่างประเทศ

fx
let
GermanDate = "20 Januar 2023",
Result = Date.From(GermanDate, "de-DE")
in
Result

ผลลัพธ์#date(2023, 1, 20)
ใช้ Date.From ในการแปลงคอลัมน์ในตารางlet Source = Table.FromRows( {{"2024-01-15", 100}, {"2024-02-20", 200}, {"2024-03-10", 150}}, {"DateText", "Amount"} ), ConvertedDates = Table.TransformColumns(…

ใช้ Table.TransformColumns ร่วมกับ Date.From เพื่อแปลงคอลัมน์ทั้งหมด ฟังก์ชัน each _ อ้างถึงค่าในแต่ละแถว นี่คือวิธี standardize data types สำหรับคอลัมน์วันที่

fx
let
Source = Table.FromRows(
{{"2024-01-15", 100}, {"2024-02-20", 200}, {"2024-03-10", 150}},
{"DateText", "Amount"}
),
ConvertedDates = Table.TransformColumns(
Source,
{"DateText", each Date.From(_), type date}
)
in
ConvertedDates

ผลลัพธ์ตาราง 3 แถว คอลัมน์ DateText เปลี่ยนจากข้อความเป็น date type ได้สำเร็จ

FAQs

Date.From กับ Date.FromText ต่างกันอย่างไร?+

Date.From ยอมรับข้อมูลหลายประเภท (text datetime number datetimezone) ส่วน Date.FromText ต้องการ text เท่านั้นแต่ให้ control format ที่ละเอียดกว่า ถ้า input เป็นหลายประเภท ให้ใช้ Date.From

ถ้า input เป็น null จะเกิดอะไร?+

Date.From จะคืน null กลับมา ไม่เกิด error ทำให้สะอาดเมื่อมีข้อมูลที่ขาดหายไป

OLE Automation date (ตัวเลข) นับจากวันไหน?+

นับจาก 30 ธันวาคม 1899 เป็นวันที่ 1 ซึ่งเป็นมาตรฐาน Excel ด้วย วันที่ 43910 = 20 มีนาคม 2020

Culture code มี option อะไรบ้าง?+

ตัวอย่าง en-US (องเกิษฐ์) de-DE (เยอรมัน) fr-FR (ฝรั่งเศส) ja-JP (ญี่ปุ่น) th-TH (ไทย) zh-CN (จีนแบบจำหน่าย) เป็นต้น

Resources & Related

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

ฟังก์ชันนี้Date.FromDate functions
Date functions (2)
Date.FromText

Date.FromText แปลงค่าข้อความให้เป็นค่าวันที่ รองรับการระบุรูปแบบวันที่และภาษาที่แตกต่างกัน ฟังก์ชันนี้จำเป็นสำหรับการอ่านข้อมูลวันที่จากแหล่งข้อมูลภายนอก การจัดการข้อมูลที่มีรูปแบบวันที่หลากหลาย และการทำให้ข้อมูลเป็นมาตรฐาน

Date.ToText

Date.ToText แปลงค่า Date ให้เป็น Text String โดยสามารถกำหนด Format และ Culture ได้ตามต้องการ เหมาะสำหรับแสดงผลวันที่ในรูปแบบที่สวยงาม

DateTime functions (1)
DateTime.Date

ดึงเฉพาะส่วนวันที่ (Date) ออกจากค่า DateTime หรือ DateTimeZone โดยทิ้งเวลาไป

DateTimeZone functions (1)
DateTimeZone.LocalNow

DateTimeZone.LocalNow ส่งกลับวันและเวลาปัจจุบันของระบบพร้อมข้อมูลเขตเวลาท้องถิ่น ใช้สำหรับสร้าง Timestamp ที่รับรู้เขตเวลา

Number functions (1)
Number.From

Number.From จะพยายามแปลงค่า Input ให้เป็น Number หากเป็น Text จะพยายาม Parse ตัวเลขออกมา หากเป็น Date/Time จะแปลงเป็น Serial Number (เช่นเดียวกับ Excel)

Table functions (1)
Table.TransformColumnTypes

Table.TransformColumnTypes เปลี่ยน Data Type ของคอลัมน์ที่ระบุให้เป็นประเภทใหม่ (เช่น Text เป็น Number, Date เป็น Text) โดยใช้ built-in conversion methods เบื้องหลัง รองรับการแปลงหลายคอลัมน์พร้อมกัน และสามารถระบุ culture parameter เพื่อจัดการ locale-specific formatting สำหรับวันที่และตัวเลข เหมาะสำหรับขั้นตอนเตรียมข้อมูลก่อน Load เข้า Data Model เพื่อป้องกัน conversion errors และเพิ่มประสิทธิภาพ ใช้ร่วมกับ Table.TransformColumns, Number.From, Text.From และ Date.From เมื่อต้องการ custom transformation logic

Comments

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