Thep Excel

Table.RowCountนับจำนวนแถวในตาราง

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

fx
=Table.RowCount(table) as number

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

อัปเดต 3 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด คำอธิบาย
table table ตารางที่ต้องการนับจำนวนแถว สามารถเป็นตารางจากแหล่งข้อมูลใดก็ได้ (Excel, CSV, Database, API ฯลฯ) หรือตารางที่เกิดจากการแปลง

Additional Notes

Table.RowCount เป็นฟังก์ชันพื้นฐาน แต่มีประโยชน์มากในการนับแถว ผมใช้มันบ่อยเวลาต้องการตรวจสอบว่าข้อมูลหลังจากการกรองหรือรวมตารางมีกี่แถว หรือเมื่อต้องการตัดสินใจว่าจะแสดงข้อมูลแบบไหนตามจำนวนแถว 😎

ฟังก์ชันนี้คืนค่าเป็นตัวเลขธรรมชาติ (whole number) แสดงจำนวนแถวทั้งหมดในตารางที่ส่งเข้าไป ไม่ว่าตารางนั้นจะมีกี่คอลัมน์ก็ตาม

Examples

นับแถวในตารางพื้นฐานlet Sales = Table.FromRows( {{1, "Product A", 1000}, {2, "Product B", 1500}, {3, "Product C", 800}}, {"OrderID", "Product", "Amount"} ), RowCount = Table.RowCou…

สร้างตารางขายสินค้า 3 แถว แล้วนับแถวโดยใช้ Table.RowCount ผลลัพธ์คือ 3

fx
let
Sales = Table.FromRows(
{{1, "Product A", 1000}, {2, "Product B", 1500}, {3, "Product C", 800}},
{"OrderID", "Product", "Amount"}
),
RowCount = Table.RowCount(Sales)
in
RowCount

ผลลัพธ์3
นับแถวหลังจากกรองข้อมูลlet Sales = Table.FromRows( {{1, "Product A", 1000}, {2, "Product B", 1500}, {3, "Product C", 800}, {4, "Product D", 2000}}, {"OrderID", "Product", "Amount"} ),…

กรองเอาเฉพาะบิลที่มีจำนวนเงินมากกว่า 1000 ผลลัพธ์ได้ 2 แถว (Product B: 1500 และ Product D: 2000)

fx
let
Sales = Table.FromRows(
{{1, "Product A", 1000}, {2, "Product B", 1500}, {3, "Product C", 800}, {4, "Product D", 2000}},
{"OrderID", "Product", "Amount"}
),
FilteredSales = Table.SelectRows(Sales, each [Amount] > 1000),
CountAfterFilter = Table.RowCount(FilteredSales)
in
CountAfterFilter

ผลลัพธ์2
ตรวจสอบแถวหลังจากรวมตารางlet Table1 = Table.FromRows( {{1, "Alice"}, {2, "Bob"}}, {"ID", "Name"} ), Table2 = Table.FromRows( {{3, "Charlie"}, {4, "David"}, {5, "Eve"}}, {"ID", "Name"} )…

รวมสองตารางเข้าด้วยกัน Table1 มี 2 แถว และ Table2 มี 3 แถว รวมกันได้ 5 แถว

fx
let
Table1 = Table.FromRows(
{{1, "Alice"}, {2, "Bob"}},
{"ID", "Name"}
),
Table2 = Table.FromRows(
{{3, "Charlie"}, {4, "David"}, {5, "Eve"}},
{"ID", "Name"}
),
CombinedTable = Table.Combine({Table1, Table2}),
TotalRows = Table.RowCount(CombinedTable)
in
TotalRows

ผลลัพธ์5
ตัดสินใจกรณีตารางว่างlet EmptyTable = Table.FromRows({}, {"ID", "Name"}), CountRows = Table.RowCount(EmptyTable), HasData = if CountRows > 0 then "มีข้อมูล" else "ตารางว่าง" in HasD…

ตารางว่างมี 0 แถว ใช้ Table.RowCount ในเงื่อนไข if เพื่อตรวจสอบว่ามีข้อมูลหรือไม่ ในกรณีนี้ไม่มีข้อมูลเลยคืนค่า "ตารางว่าง"

fx
let
EmptyTable = Table.FromRows({}, {"ID", "Name"}),
CountRows = Table.RowCount(EmptyTable),
HasData = if CountRows > 0 then "มีข้อมูล" else "ตารางว่าง"
in
HasData

ผลลัพธ์"ตารางว่าง"

FAQs

Table.RowCount จะคิด Header Row เข้าไปหรือไม่?+

ไม่ครับ Table.RowCount นับเฉพาะ Data Rows เท่านั้น Header Row จะไม่รวม หากตารางมี Header คือ "ID, Name, Amount" และ Data 3 แถว ผลลัพธ์ก็คือ 3 ไม่ใช่ 4

ถ้าตารางมีคอลัมน์เยอะเลยจะเป็นปัญหาไหม?+

ไม่เป็นปัญหาเลย Table.RowCount ไม่สนใจจำนวนคอลัมน์ มันนับแถวเท่านั้น ตารางกว้างแค่ไหนก็ตาม ผลลัพธ์เหมือนกัน

การใช้ Table.RowCount บนตารางขนาดใหญ่ (millions of rows) จะช้าไหม?+

มันควรจะเร็วครับ Power Query จัดการ Table.RowCount ได้อย่างมีประสิทธิภาพ แม้แต่ตารางขนาดใหญ่ก็ตาม แต่ถ้าตารางนั้นเกิดจากการแปลงที่ซับซ้อนมากๆ อาจต้องคำนวณก่อน ซึ่งอาจใช้เวลา

Resources & Related

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

ฟังก์ชันนี้Table.RowCountTable functions
Table functions (6)
Table.ColumnCount

Table.ColumnCount ใช้สำหรับการประมวลผล

Table.Combine

Table.Combine ใช้สำหรับรวม list ของ table เข้าเป็น table เดียว ยับยั้ง append ตัว 1 แถวหลาย ๆ ตารางพร้อมกัน

Table.Group

Table.Group จัดกลุ่มข้อมูลตามคอลัมน์ที่กำหนดและสรุปผลในแต่ละกลุ่มด้วย aggregation functions เช่น List.Sum, List.Count, List.Average คล้ายกับ GROUP BY ใน SQL แต่ทรงพลังกว่าเพราะสามารถจัดกลุ่มหลายคอลัมน์พร้อมกันและสร้างคอลัมน์สรุปผลหลายคอลัมน์ในคำสั่งเดียว รองรับ GroupKind.Local เพื่อเพิ่มประสิทธิภาพเมื่อข้อมูลเรียงลำดับแล้ว

Table.IsEmpty

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

Table.SelectRows

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

Tables.GetRelationships

Tables.GetRelationships ดึงข้อมูลความสัมพันธ์ (Relationships) ระหว่างตารางต่างๆ จาก Navigation Table เพื่อวิเคราะห์โครงสร้างข้อมูล

List functions (1)
List.Count

List.Count ใช้นับจำนวนสมาชิกทั้งหมดในลิสต์ (รวม null) ส่งคืนค่าตัวเลข ถ้าต้องการนับเฉพาะที่ไม่ว่างให้ใช้ List.NonNullCount แทน

Comments

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