Thep Excel

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

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

fx
=Table.Last(table, [default]) as any

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

อัปเดต 3 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด ค่าเริ่มต้น คำอธิบาย
table Table ตารางข้อมูลที่ต้องการดึงแถวสุดท้าย
[default]ไม่บังคับ Any null ค่าที่จะคืนกลับหากตารางว่างเปล่า ถ้าไม่ระบุและตารางว่างจะเกิด error

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

Additional Notes

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

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

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

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

fx
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

ผลลัพธ์[CustomerID = 3, Name = "Paul", Sales = 300]
ตัวอย่างกับ Default Valuelet EmptyTable = Table.FromRecords({}), Result = Table.Last(EmptyTable, [CustomerID = 0, Name = "No Data", Sales = 0]) in Result

เมื่อตารางว่างเปล่า ฟังก์ชันจะคืนค่า default value แทนแล้ว error ออกมา

fx
let
EmptyTable = Table.FromRecords({}),
Result = Table.Last(EmptyTable, [CustomerID = 0, Name = "No Data", Sales = 0])
in
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] เพื่อได้ค่าที่ต้องการ

fx
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

ผลลัพธ์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 (คืนค่าเดี่ยว)

fx
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}

ผลลัพธ์{[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

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

ฟังก์ชันนี้Table.LastTable functions
Table functions (2)
Table.First

ดึงแถวแรก (Record) จากตารางข้อมูล พร้อมตัวเลือกค่า default สำหรับกรณีตารางว่าง

Table.Sort

เรียงลำดับข้อมูลในตารางตามคอลัมน์ที่ระบุ รองรับการเรียงหลายระดับและกำหนดทิศทางการเรียง

List functions (1)
List.Last

List.Last คืนค่าสมาชิกตัวสุดท้ายของ List หรือค่า Default ถ้า List ว่าง

Comments

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