Thep Excel

Table.IsEmptyตรวจสอบว่าตารางว่างหรือไม่

Table.IsEmpty ใช้สำหรับตรวจสอบว่าตารางไม่มีข้อมูล (ไม่มีแถว) ใช่หรือไม่ คืนค่า true หากตารางว่าง false หากมีข้อมูลอย่างน้อย 1 แถว

fx
=Table.IsEmpty(table) as logical

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

อัปเดต 15 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด คำอธิบาย
table table ตารางที่ต้องการตรวจสอบว่างหรือไม่

Additional Notes

Table.IsEmpty(table) ใช้เพื่อตรวจสอบว่าตารางมีแถวข้อมูลหรือไม่ คืนค่า true สำหรับตารางว่าง (0 แถว) และ false เมื่อตารางมีข้อมูล

ที่เจ๋งของ Table.IsEmpty คือว่ามันประเมินเฉพาะจำนวนแถวเท่านั้น ไม่สนใจโครงสร้างของคอลัมน์ แม้ตารางจะมีคอลัมน์อยู่ แต่ถ้าไม่มีแถว ก็ถือว่าว่าง ใช้ได้ดีเมื่อต้องการตัดสินใจว่าจะทำขั้นตอนต่อไปหรือไม่

ส่วนตัวผม ชอบใช้ Table.IsEmpty ในการจัดการกับกรณี edge case คือ “เกิดอะไรขึ้นเมื่อข้อมูลอินพุตว่างเปล่า” ตัวอย่างเช่น หลังจากกรองข้อมูล ถ้า Table.IsEmpty คืนค่า true แสดงว่าไม่มีแถวที่ตรงเงื่อนไข เราสามารถจัดการกรณีนี้ได้โดยใช้ if condition

How it works

ตรวจสอบก่อนเริ่มประมวลผลเพื่อป้องกัน Error

ตรวจสอบก่อนเริ่มประมวลผลเพื่อป้องกัน Error

ตรวจสอบผลลัพธ์การกรองข้อมูลว่าเหลือข้อมูลหรือไม่

ตรวจสอบผลลัพธ์การกรองข้อมูลว่าเหลือข้อมูลหรือไม่

ใช้ในการสร้างเงื่อนไขจัดการกรณีไม่มีข้อมูล (Empty State)

ใช้ในการสร้างเงื่อนไขจัดการกรณีไม่มีข้อมูล (Empty State)

Examples

ตัวอย่างที่ 1: ตรวจสอบตารางที่มีข้อมูลlet Source = Table.FromRecords({[CustomerID=1, Name="Alice"]}), IsEmpty = Table.IsEmpty(Source) in IsEmpty

ตารางมีข้อมูล 1 แถว ดังนั้น Table.IsEmpty จึงคืนค่า false (ตารางไม่ว่าง)

fx
let
Source = Table.FromRecords({[CustomerID=1, Name="Alice"]}),
IsEmpty = Table.IsEmpty(Source)
in
IsEmpty

ผลลัพธ์false
ตัวอย่างที่ 2: ตรวจสอบตารางเปล่าlet Source = Table.FromRecords({}), IsEmpty = Table.IsEmpty(Source) in IsEmpty

ตารางไม่มีแถวข้อมูลเลย (0 แถว) ดังนั้น Table.IsEmpty จึงคืนค่า true (ตารางว่าง)

fx
let
Source = Table.FromRecords({}),
IsEmpty = Table.IsEmpty(Source)
in
IsEmpty

ผลลัพธ์true
ตัวอย่างที่ 3: ตรวจสอบผลลัพธ์หลังการกรองข้อมูลlet Sales = Table.FromRecords({[Region="North", Amount=1000], [Region="South", Amount=2000]}), FilteredEast = Table.SelectRows(Sales, each [Region] = "East"), C…

กรองข้อมูลแล้วไม่เหลือแถวที่ตรงเงื่อนไข (ไม่มี Region="East") ตารางผลลัพธ์จึงเป็นตารางว่าง

fx
let
Sales = Table.FromRecords({[Region="North", Amount=1000], [Region="South", Amount=2000]}),
FilteredEast = Table.SelectRows(Sales, each [Region] = "East"),
CheckEmpty = Table.IsEmpty(FilteredEast)
in
CheckEmpty

ผลลัพธ์true
ตัวอย่างที่ 4: ใช้กับ if condition สำหรับ error handlinglet Data = Table.FromRecords({}), Result = if Table.IsEmpty(Data) then "No data found" else Table.RowCount(Data) in Result

เมื่อตารางว่าง ใช้ if condition เพื่อแสดงข้อความแทนที่จะพยายามประมวลผลข้อมูลที่ไม่มี

fx
let
Data = Table.FromRecords({}),
Result = if Table.IsEmpty(Data) then "No data found" else Table.RowCount(Data)
in
Result

ผลลัพธ์"No data found"

FAQs

ต่างระหว่าง Table.IsEmpty กับ Table.RowCount อย่างไร?+

Table.IsEmpty คืนค่า true/false ส่วน Table.RowCount คืนค่าตัวเลขจำนวนแถว ใช้ Table.IsEmpty เมื่อต้องการตัดสินใจ if/else ใช้ Table.RowCount เมื่อต้องการรู้จำนวนที่แน่นอน

Table.IsEmpty จะหลวมหรือเข้มงวด?+

เข้มงวด – ตรวจเฉพาะจำนวนแถว ไม่สนใจว่าตารางมีคอลัมน์หรือเพียงว่างเปล่า แม้ตารางจะถูกสร้างจาก record ที่มี schema แต่ถ้าไม่มีแถว ก็ถือว่าว่าง

ใช้กับ null table ได้ไหม?+

ไม่ได้ จะเกิด error หากอินพุตเป็น null ต้องป้องกัน null ก่อนใช้ Table.IsEmpty โดยใช้ try-catch หรือ if x is table

ประสิทธิภาพเป็นอย่างไร?+

เร็วมาก ไม่ต้องดึงข้อมูลทั้งหมด เพียงแค่ตรวจสอบว่ามีแถวหนึ่งแถวขึ้นไป ใช้ได้ปลอดภัยแม้กับ large dataset

Resources & Related

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

ฟังก์ชันนี้Table.IsEmptyTable functions
Table functions (2)
Table.RowCount

ฟังก์ชันสำหรับนับจำนวนแถวทั้งหมดในตาราง โดยคืนค่าเป็นตัวเลขครับ

Table.SelectRows

Table.SelectRows เป็นฟังก์ชันสำหรับกรองตาราง (filter table) ใน Power Query โดยใช้ฟังก์ชันเงื่อนไข (condition function) เพื่อตรวจสอบแต่ละแถว ถ้าเงื่อนไขคืนค่า true จะเก็บแถวนั้นไว้ ถ้าเป็น false จะตัดทิ้ง สามารถใช้ keyword 'each' ร่วมกับการอ้างอิงคอลัมน์ด้วย [ColumnName] เพื่อเขียนเงื่อนไขได้สะดวก รองรับการกรองตามตัวเลข ข้อความ วันที่ การตรวจสอบค่า null และเงื่อนไขที่ซับซ้อนด้วย and/or operators ฟังก์ชันนี้รองรับ Query Folding ซึ่งช่วยเพิ่มประสิทธิภาพเมื่อทำงานกับ data source ขนาดใหญ่

List functions (1)
List.IsEmpty

List.IsEmpty ตรวจสอบว่ารายการไม่มีข้อมูลเลย คืนค่า true หากรายการว่าง false หากมีข้อมูล

Comments

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