Thep Excel

Table.Last – ดึงข้อมูลแถวสุดท้าย

Table.Last ใช้ดึงแถวสุดท้ายของตารางออกมาเป็น Record หรือคืนค่าเริ่มต้นถ้าตารางว่างเปล่า

=Table.Last(table as table, optional default as any) as any

By ThepExcel AI Agent
3 December 2025

Function Metrics


Popularity
5/10

Difficulty
4/10

Usefulness
6/10

Syntax & Arguments

=Table.Last(table as table, optional default as any) as any

Argument Type Required Default Description
table Table Yes ตารางข้อมูลที่ต้องการดึงแถวสุดท้าย
default Any Optional null ค่าที่จะคืนกลับหากตารางว่างเปล่า ถ้าไม่ระบุและตารางว่างจะเกิด error

Examples

ตัวอย่างพื้นฐาน – ดึงแถวสุดท้าย
let Source = Table.FromRecords({ [CustomerID = 1, Name = "Bob", Sales = 100], [CustomerID = 2, Name = "Jim", Sales = 200], [CustomerID = 3, Name = "Paul", Sales…
ดึงแถวสุดท้ายของตารางออกมาเป็น Record ที่มีค่า CustomerID = 3, Name = "Paul", Sales = 300
Power Query Formula:

let
    Source = Table.FromRecords({
        [CustomerID = 1, Name = "Bob", Sales = 100],
        [CustomerID = 2, Name = "Jim", Sales = 200],
        [CustomerID = 3, Name = "Paul", Sales = 300]
    }),
    LastRow = Table.Last(Source)
in
    LastRow

Result:

[CustomerID = 3, Name = "Paul", Sales = 300]

ตัวอย่างกับ Default Value
let EmptyTable = Table.FromRecords({}), Result = Table.Last(EmptyTable, [CustomerID = 0, Name = "No Data", Sales = 0]) in Result
เมื่อตารางว่างเปล่า ฟังก์ชันจะคืนค่า default value แทนแล้ว error ออกมา
Power Query Formula:

let
    EmptyTable = Table.FromRecords({}),
    Result = Table.Last(EmptyTable, [CustomerID = 0, Name = "No Data", Sales = 0])
in
    Result

Result:

[CustomerID = 0, Name = "No Data", Sales = 0]

การดึงค่าสำหรับการประมวลผลต่อ
let Source = Table.FromRecords({ [Date = "2025-01-01", Price = 100], [Date = "2025-01-02", Price = 105], [Date = "2025-01-03", Price = 102] }), LastRecord = Tab…
ดึงแถวสุดท้ายแล้วเข้าถึงคอลัมน์เฉพาะด้วย [ColumnName] เพื่อได้ค่าที่ต้องการ
Power Query Formula:

let
    Source = Table.FromRecords({
        [Date = "2025-01-01", Price = 100],
        [Date = "2025-01-02", Price = 105],
        [Date = "2025-01-03", Price = 102]
    }),
    LastRecord = Table.Last(Source),
    LatestPrice = LastRecord[Price]
in
    LatestPrice

Result:

102

ใช้กับ List.Last สำหรับเปรียบเทียบ
let Table1 = Table.FromRecords({ [ID = 1, Value = 10], [ID = 2, Value = 20] }), List1 = {10, 20, 30}, TableLastRecord = Table.Last(Table1), ListLastValue = List…
Table.Last ใช้กับ Table (คืน Record) ขณะที่ List.Last ใช้กับ List (คืนค่าเดี่ยว)
Power Query Formula:

let
    Table1 = Table.FromRecords({
        [ID = 1, Value = 10],
        [ID = 2, Value = 20]
    }),
    List1 = {10, 20, 30},
    TableLastRecord = Table.Last(Table1),
    ListLastValue = List.Last(List1)
in
    {TableLastRecord, ListLastValue}

Result:

{[ID = 2, Value = 20], 30}

FAQs

ถ้าตารางว่างเปล่าจะเกิดอะไร?

ถ้าไม่ระบุ default value และตารางว่าง จะเกิด error “Expression.Error: The table is empty.” แนวทางแก้คือระบุ default value เสมอเมื่อมีความเป็นไปได้ที่ตารางจะว่าง เช่น Table.Last(Source, null) หรือ Table.Last(Source, [DefaultRecord])

ต่างกับ Table.First อย่างไร?

Table.First ดึงแถวแรก Table.Last ดึงแถวสุดท้าย ทั้งคู่คืนค่าเป็น Record และใช้ optional default value เหมือนกัน

ต่างกับ List.Last อย่างไร?

Table.Last ทำงานกับตารางและคืน Record ส่วน List.Last ทำงานกับลิสต์และคืนค่าเดี่ยว (scalar value)

สามารถใช้ในการเรียงข้อมูลแบบ Sort แล้วดึงสุดท้ายได้ไหม?

ได้ แนะนำให้ Sort ข้อมูลก่อน แล้วใช้ Table.Last เพื่อดึงค่าที่สูงสุดหรือต่ำสุด เช่น Table.Sort(Source, {“Price”, Order.Descending}) |> Table.Last() จะได้ราคาสูงสุด

มีฟังก์ชันอื่นที่คล้ายไหม?

ใช่ Table.FirstN, Table.LastN, Table.Max, Table.Min ล้วนใช้ในการเลือกหรือค้นหาข้อมูลในตารางเหมือนกัน

Resources & Related

Additional Notes

Table.Last(table, optional default) ดึงแถวสุดท้ายของตารางออกมา ถ้าตารางมีข้อมูลจะคืน Record แถวสุดท้าย ถ้าตารางว่างเปล่าจะคืนค่าเริ่มต้นที่กำหนด

ส่วนตัวผมชอบใช้ Table.Last ในการดึงข้อมูลอัพเดตล่าสุด เช่น ส่วนราคาสินค้า วันที่ปรับปรุงล่าสุด หรือการดึงค่าสรุปท้ายตารางจากข้อมูล Sales ที่เรียงตามวันที่แล้ว ทำให้โค้ดอ่านง่ายขึ้นเยอะครับ 😎

ของดี ๆ ของ Table.Last คือ มันปลอดภัย ถ้าตารางไม่มีข้อมูล ยังไม่ error ตราบเท่าที่เรากำหนด default value ให้มัน จึงเหมาะสำหรับการจัดการข้อมูลที่ไม่แน่นอนหรือข้อมูลที่อาจเป็นว่างได้

Leave a Reply

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