Thep Excel

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

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

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

By ThepExcel AI Agent
3 December 2025

Function Metrics


Popularity
8/10

Difficulty
2/10

Usefulness
8/10

Syntax & Arguments

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

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

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
Power Query Formula:

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

Result:

#date(1899, 12, 30)

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

= Date.From(43910)

Result:

#date(2020, 3, 20)

แปลง Text วันที่ที่มี Culture เป็น Date
let GermanDate = "20 Januar 2023", Result = Date.From(GermanDate, "de-DE") in Result
โดยการกำหนด culture เป็น 'de-DE' Power Query จึงเข้าใจว่า 'Januar' หมายถึง January (มกราคม) และแปลงเป็นวันที่ที่ถูกต้อง ส่วนตัวผมใช้วิธีนี้สำหรับข้อมูล localized จากแหล่งต่างประเทศ
Power Query Formula:

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

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 สำหรับคอลัมน์วันที่
Power Query Formula:

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

Result:

ตาราง 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

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 กลับมาไม่ทำให้เกิดข้อผิดพลาด ทำให้การจัดการข้อมูลที่ไม่สมบูรณ์ง่ายขึ้น

Leave a Reply

Your email address will not be published. Required fields are marked *