Thep Excel

List.Countนับจำนวนรายการในลิสต์

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

fx
=List.Count(list)

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

อัปเดต 3 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด คำอธิบาย
list List ลิสต์ที่ต้องการนับจำนวนสมาชิก (ลิสต์ของตัวเลข, ข้อความ, ระเบียน หรือโครงสร้างอื่นๆ)

Additional Notes

List.Count ใน Power Query ทำหน้าที่นับจำนวนรายการทั้งหมดที่มีอยู่ในลิสต์ โดยนับทุกตัว รวมถึงค่า null และค่าซ้ำด้วย ส่งคืนค่าเป็นตัวเลข

ที่เจ๋งคือ List.Count นับจริงๆ ไม่มีการตรวจสอบหรือกรองอะไร บางครั้งคนอื่นใช้ Table.RowCount กับตารางแล้วงงว่าทำไมผลต่าง แล้วก็ลืมไปว่า List.Count คือสำหรับลิสต์ (ข้อมูลแบบคอลัมน์เดียว) ส่วน Table.RowCount คือสำหรับตาราง

ส่วนตัวผม ใช้ List.Count เพื่อตรวจสอบว่าการกรองข้อมูลสำเร็จไหม แล้วดูว่าตัดข้อมูลหลุดกี่แถว ประมาณแบบนี้ครับ: let Source = … in List.Count(Source[OrderID]) 😎

How it works

นับจำนวนแถว

ใช้นับว่าตารางนี้มีกี่แถว (โดยแปลง Table เป็น List หรือนับ Key Column)

ตรวจสอบเงื่อนไข

ใช้เช็คว่า List.Count > 0 หรือไม่ เพื่อดูว่ามีข้อมูลหรือไม่ก่อนทำขั้นตอนถัดไป

นับจำนวนคำ

ใช้ Text.Split เพื่อแยกประโยคเป็น List แล้วใช้ List.Count เพื่อนับจำนวนคำ

Examples

ตัวอย่างที่ 1: นับตัวเลขในลิสต์List.Count({1, 2, 3, 4, 5})

ลิสต์ {1, 2, 3, 4, 5} มี 5 สมาชิก ส่งคืน 5

fx
= List.Count({1, 2, 3, 4, 5})

ผลลัพธ์5
ตัวอย่างที่ 2: นับรวมค่า nullList.Count({"Apple", null, "Banana", ""})

List.Count นับค่า null และสตริงว่างเป็นสมาชิก เพราะฉะนั้นนับได้ 4 ตัว (null กับสตริงว่างต่างกัน)

fx
= List.Count({"Apple", null, "Banana", ""})

ผลลัพธ์4
ตัวอย่างที่ 3: นับจากการกรองข้อมูลlet Sales = Table.FromRows({{"Alice", 150}, {"Bob", 75}, {"Carol", 120}}, {"Name", "Amount"}), HighSales = List.Select(Sales[Amount], each _ > 100), Count = Lis…

กรองเฉพาะข้อมูล Amount > 100 (150 และ 120) ส่งคืน 2

fx
let
Sales = Table.FromRows({{"Alice", 150}, {"Bob", 75}, {"Carol", 120}}, {"Name", "Amount"}),
HighSales = List.Select(Sales[Amount], each _ > 100),
Count = List.Count(HighSales)
in
Count

ผลลัพธ์2
ตัวอย่างที่ 4: นับค่าซ้ำList.Count({"Red", "Blue", "Red", "Green", "Red"})

List.Count นับค่าซ้ำ ไม่มีการกำจัด ทั้งหมด 5 ตัว ถ้าต้องการนับเฉพาะที่ไม่ซ้ำให้ใช้ List.Count(List.Distinct(…))

fx
= List.Count({"Red", "Blue", "Red", "Green", "Red"})

ผลลัพธ์5

FAQs

ถ้าต้องการนับเฉพาะค่าที่ไม่ซ้ำให้ทำยังไง?+

ใช้ List.Distinct ก่อน แล้วค่อย List.Count ครับ เช่น = List.Count(List.Distinct({1, 2, 2, 3})) ส่งคืน 3 แทนที่จะ 4

List.Count กับ Table.RowCount ต่างกันยังไง?+

List.Count ใช้กับลิสต์ (เช่น {1, 2, 3} หรือ Source[ColumnName]) ส่วน Table.RowCount ใช้กับตาราง ถ้านับทั้งตารางผลลัพธ์จะเหมือนกัน

ถ้าลิสต์ว่างเปล่า List.Count จะส่งคืนอะไร?+

ส่งคืน 0 ถ้าลิสต์ว่าง {} List.Count({}) = 0

List.Count กับ List.NonNullCount ต่างกันอย่างไร?+

List.Count นับทั้งหมด รวม null ส่วน List.NonNullCount ไม่นับ null หากข้อมูลมี null อยู่ผลลัพธ์จะต่างกัน

Resources & Related

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

ฟังก์ชันนี้List.CountList functions
List functions (10)
List.Accumulate

List.Accumulate เป็นฟังก์ชันสำหรับการวนลูปผ่านแต่ละ element ใน list พร้อมทั้งเก็บสถานะสะสมไว้ตลอดการทำงาน
.
โดยจะเริ่มต้นจากค่าเริ่มต้นที่กำหนด (seed value) และในแต่ละรอบของการวนลูป ฟังก์ชันจะส่งค่าสถานะปัจจุบัน (current state) พร้อมกับ element ปัจจุบันเข้าไปใน accumulator function ที่คุณกำหนดขึ้นมา เพื่อคำนวณและสร้างสถานะใหม่สำหรับรอบถัดไป
.
เมื่อวนลูปครบทุก element แล้ว ฟังก์ชันจะคืนค่าสถานะสุดท้ายกลับมา เหมาะสำหรับการคำนวณยอดสะสม (running totals) การรวมแบบกำหนดเอง (custom aggregations) และการสร้างรูปแบบ For-Next loop pattern ใน M language ครับ

List.IsDistinct

List.IsDistinct ตรวจสอบว่า List มีค่าซ้ำหรือไม่ คืนค่า true ถ้าไม่มีตัวซ้ำเลย

List.IsEmpty

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

List.Mode

List.Mode หาค่าที่ปรากฏบ่อยที่สุดในรายการ (Mode คือค่าที่เกิดขึ้นมากที่สุด) ใช้สำหรับการวิเคราะห์ข้อมูล สถิติ และการหาแนวโน้มกลาง

List.Modes

List.Modes หารายการของค่าทั้งหมดที่ปรากฏบ่อยที่สุดในรายการ หากมีหลายค่าที่เกิดขึ้นจำนวนครั้งเท่ากัน จะคืนค่าทั้งหมด

List.NonNullCount

List.NonNullCount นับจำนวนของค่าในรายการที่ไม่เป็น null ใช้สำหรับการวิเคราะห์ข้อมูลและการตรวจสอบความเสมบูรณ์ของข้อมูล

List.Product

List.Product คำนวณผลคูณ (คูณ) ของตัวเลขทั้งหมดในรายการ โดยจะแสดงผลลัพธ์เป็นตัวเลขหรือ null หากไม่มีค่าตัวเลขในรายการ ฟังก์ชันนี้มีประโยชน์สำหรับการคำนวณค่าทางสถิติและการวิเคราะห์ข้อมูล เช่น การคำนวณผลคูณของราคา ปริมาณ หรือสัดส่วนต่างๆ

List.RemoveNulls

List.RemoveNulls ลบค่า null ทั้งหมดจากรายการ ใช้สำหรับการทำความสะอาดข้อมูล การลบข้อมูลที่หายไป และการเตรียมข้อมูล

List.SingleOrDefault

List.SingleOrDefault คืนค่าเดียวจากรายการ หรือค่าเริ่มต้นหากไม่พบหรือมีมากกว่า 1 ค่า ใช้สำหรับการดึงข้อมูลเดียว

List.Sum

List.Sum รวมค่าตัวเลขทั้งหมดในรายการ โดยละเว้นค่า null โดยอัตโนมัติ ฟังก์ชันนี้เป็นพื้นฐานสำหรับการคำนวณสรุป การจำสรุป และการวิเคราะห์ข้อมูลในการแปลงข้อมูล

Table functions (1)
Table.RowCount

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

Value functions (1)
Value.Type

Value.Type คืนค่า Type ของข้อมูลที่กำหนด ช่วยตรวจสอบว่าเป็น number, text, date, table, list หรือชนิดอื่นๆ มีประโยชน์มากสำหรับ data validation และการเขียน dynamic functions

Comments

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