Thep Excel

List.Sumรวมค่าตัวเลขในรายการ

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

fx
=List.Sum(list, [precision]) as any

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

อัปเดต 3 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด ค่าเริ่มต้น คำอธิบาย
list list รายการของตัวเลขที่ต้องการรวม
[precision]ไม่บังคับ nullable number null พารามิเตอร์ที่ระบุความแม่นยำในการคำนวณ (ถ้าใช้)

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

Additional Notes

List.Sum ใช้สำหรับรวมตัวเลขทั้งหมดในรายการ (list) โดยจะข้ามค่า null และเฉพาะรวมค่าตัวเลขเท่านั้น ส่วนหากรายการว่างหรือมีเพียง null จะคืนค่า null

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

ส่วนตัวผมชอบใช้ List.Sum คู่กับ Table.Column เพื่อรวมค่าจากคอลัมน์ที่เลือก หรือใช้กับ List.Transform เพื่อรวมค่าผลลัพธ์หลังจากแปลงข้อมูลแล้ว 😎

How it works

คำนวณยอดขายรวม

รวมยอดขายจากทุกแถว หรือจากทุกสินค้า เพื่อหายอดขายรวมทั้งสิ้น

บอกรายงานทางการเงิน

รวมค่าใช้จ่าย รายได้ หรือค่าชำระเงินจากรายการต่างๆ

Examples

รวมตัวเลขง่ายๆList.Sum({1, 2, 3})

รวมตัวเลขสามตัว 1 + 2 + 3 = 6 นี่คือการใช้งานพื้นฐานที่สุด ที่ผม ใช้เพื่อทดสอบหรือคำนวณสนใจของรายการเล็กน้อย

fx
= List.Sum({1, 2, 3})

ผลลัพธ์6
รวมค่าจากคอลัมน์ตารางlet Sales = Table.FromRows( {{"A", 100}, {"B", 200}, {"C", 300}}, {"Product", "Amount"} ), AmountList = Table.Column(Sales, "Amount") in List.Sum(AmountList)

ดึงคอลัมน์ "Amount" จากตาราง Sales จากนั้นรวมค่าทั้งหมด ผลลัพธ์ = 100 + 200 + 300 = 600 นี่คือวิธีการใช้ที่พบบ่อยที่สุดในการสรุปข้อมูล

fx
let
Sales = Table.FromRows(
{{"A", 100}, {"B", 200}, {"C", 300}},
{"Product", "Amount"}
),
AmountList = Table.Column(Sales, "Amount")
in
List.Sum(AmountList)

ผลลัพธ์600
รวมตัวเลขที่มี null ปะปนอยู่List.Sum({10, null, 20, null, 30})

List.Sum จะละเว้นค่า null โดยอัตโนมัติ ดังนั้นผลลัพธ์ = 10 + 20 + 30 = 60 นี่คือจุดที่เจ๋งของฟังก์ชัน เพราะข้อมูลจริงมักมี null ปะปนอยู่บ่อยครั้ง

fx
= List.Sum({10, null, 20, null, 30})

ผลลัพธ์60
รวมค่าหลังการแปลงข้อมูลด้วย List.Transformlet Prices = {10, 20, 30}, Discounted = List.Transform(Prices, each _ * 0.9), Total = List.Sum(Discounted) in Total

ใช้ List.Transform เพื่อลดราคา 10% จากนั้นรวมค่า ที่ผม ชอบเทคนิคนี้ เพราะสามารถทำการแปลงข้อมูลและรวมค่าได้ในพบ้าษา Power Query ที่เดียว (10×0.9 + 20×0.9 + 30×0.9 = 54)

fx
let
Prices = {10, 20, 30},
Discounted = List.Transform(Prices, each _ * 0.9),
Total = List.Sum(Discounted)
in
Total

ผลลัพธ์54

FAQs

ถ้ารายการว่างหรือมีเพียง null ฟังก์ชันจะคืนค่าอะไร?+

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

List.Sum จะข้ามค่า null หรือไม่?+

ใช่จริงครับ List.Sum จะข้ามค่า null โดยอัตโนมัติ ดังนั้นไม่ต้องทำการ Filter null ออกก่อนใช้ฟังก์ชัน เพียงแต่ถ้า List มีเพียง null เท่านั้น ผลลัพธ์ก็จะเป็น null นะครับ

ข้อมูลประเภทอื่น เช่น Text จะเกิดอะไรขึ้น?+

List.Sum จะไม่สามารถรวมข้อมูล Text ได้ แต่มันจะข้ามไปเหมือนกับการข้าม null ส่วนตัวผมจึงมักเช็คประเภทข้อมูลก่อนด้วย Table.TransformColumnTypes เพื่อให้แน่ใจว่าข้อมูลเป็น Number ทั้งหมด

Resources & Related

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

ฟังก์ชันนี้List.SumList 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.Average

List.Average คำนวณค่าเฉลี่ยของตัวเลข วันที่ เวลา หรือระยะเวลาในรายการ ฟังก์ชันนี้เป็นตัวช่วยแรกที่ผมใช้ทุกครั้งที่ต้องการวิเคราะห์ค่าเฉลี่ยจากชุดข้อมูลใดๆ

List.Count

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

List.Covariance

List.Covariance คืนค่าความแปรปรวนร่วมของตัวเลขสองชุดใน List เพื่อดูความสัมพันธ์เชิงทิศทาง

List.Max

List.Max หาค่าที่มากที่สุดในรายการได้อย่างรวดเร็ว รองรับค่าเริ่มต้นสำหรับรายการว่าง และสามารถจัดการค่า null ตามที่ต้องการ ฟังก์ชันนี้ใช้บ่อยสำหรับหาค่าสูงสุด คะแนนสูงสุด หรือวันที่ล่าสุด

List.Min

List.Min หาค่าที่น้อยที่สุดในรายการ ใช้เมื่อต้องการหาค่าสุดต่ำ วันที่เก่าสุด หรือเปรียบเทียบแบบ custom criteria

List.Product

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

List.Select

List.Select จะรับ List และฟังก์ชันเงื่อนไข (selection as function) โดยจะประเมินฟังก์ชันเงื่อนไขกับสมาชิกแต่ละตัว หากฟังก์ชันคืนค่า true จะเก็บสมาชิกนั้นไว้ใน List ใหม่ หากคืนค่า false จะถูกคัดทิ้งไป

List.StandardDeviation

List.StandardDeviation คำนวณส่วนเบี่ยงเบนมาตรฐานของรายการตัวเลข ใช้สำหรับการวิเคราะห์ข้อมูล สถิติ และการวัดความเปลี่ยนแปลง

List.Transform

List.Transform ใช้สำหรับสร้างลิสต์ใหม่โดยนำฟังก์ชันไปประมวลผลแต่ละตัวในลิสต์เดิม

enumerations (1)
GroupKind.Type

ระบุประเภทการจัดกลุ่มใน Table.Group ว่าจะใช้ Local (จัดกลุ่มแถวติดต่อกัน) หรือ Global (รวบรวมแถวทั้งหมดที่มี key เดียวกัน) ใช้เพื่อปรับประสิทธิภาพและควบคุมวิธีการจัดกลุ่มข้อมูล

Comments

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