Thep Excel

List.Averageคำนวณค่าเฉลี่ยของรายการ

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

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

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

อัปเดต 3 December 2025

Syntax & Arguments

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

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

Additional Notes

List.Average ใช้คำนวณค่าเฉลี่ย (average) ของตัวเลขหรือค่าข้อมูลในรายการ โดยรองรับ number date time datetime datetimezone และ duration

ที่เจ๋งคือมันไม่เพียงแค่ทำงานกับตัวเลขเท่านั้น มันสามารถคำนวณค่าเฉลี่ยของวันที่หรือช่วงเวลาได้ด้วย ซึ่งมีประโยชน์มากเวลาต้องหาวันกลางหรือช่วงเวลาเฉลี่ยของโครงการ

ส่วนตัวผมมักใช้ List.Average คู่กับ Table.Column เพื่อดึงคอลัมน์หนึ่งออกมาแล้วคำนวณค่าเฉลี่ย ทำให้ไม่ต้องสร้างตัวแปรกลาง ง่ายและสะอาดเลย 😎

How it works

คำนวณค่าเฉลี่ยของตัวเลขในคอลัมน์

ใช้กับ Table.TransformColumns เพื่อคำนวณค่าเฉลี่ยของคอลัมน์ตัวเลข

วิเคราะห์ข้อมูลวันที่

หาวันที่กลางของชุดวันที่ โดยการคำนวณค่าเฉลี่ยของวันที่ต่างๆ

Examples

ตัวอย่างที่ 1: คำนวณค่าเฉลี่ยของตัวเลขง่ายๆList.Average({3, 4, 6})

คำนวณค่าเฉลี่ยของ 3, 4, 6 โดยบวก (3 + 4 + 6 = 13) แล้วหารด้วยจำนวนรายการ (13 / 3 ≈ 4.33)

fx
= List.Average({3, 4, 6})

ผลลัพธ์4.333333333333333
ตัวอย่างที่ 2: คำนวณค่าเฉลี่ยของวันที่List.Average({#date(2011, 1, 1), #date(2011, 1, 2), #date(2011, 1, 3)})

คำนวณค่าเฉลี่ยของ 1, 2, 3 มกราคม 2011 ได้ผลลัพธ์เป็น 2 มกราคม 2011 (วันที่อยู่ตรงกลาง)

fx
= List.Average({#date(2011, 1, 1), #date(2011, 1, 2), #date(2011, 1, 3)})

ผลลัพธ์#date(2011, 1, 2)
ตัวอย่างที่ 3: ดึงค่าเฉลี่ยจากคอลัมน์ในตารางlet Sales = #table({"Product", "Amount"}, {{"A", 100}, {"B", 200}, {"C", 300}}), AmountColumn = Table.Column(Sales, "Amount") in List.Average(AmountColumn)

ดึงคอลัมน์ 'Amount' จากตาราง Sales ที่มีค่า {100, 200, 300} แล้วคำนวณค่าเฉลี่ย ผลลัพธ์ (100 + 200 + 300) / 3 = 200

fx
let
Sales = #table({"Product", "Amount"}, {{"A", 100}, {"B", 200}, {"C", 300}}),
AmountColumn = Table.Column(Sales, "Amount")
in
List.Average(AmountColumn)

ผลลัพธ์200
ตัวอย่างที่ 4: ใช้กับ try…otherwise เพื่อจัดการรายการว่างlet EmptyList = {}, Result = try List.Average(EmptyList) otherwise 0 in Result

เมื่อรายการว่างเปล่า List.Average จะคืนค่า null ใช้ try…otherwise เพื่อกำหนดค่าเริ่มต้นเป็น 0 แทนเมื่อเกิดข้อผิดพลาด

fx
let
EmptyList = {},
Result = try List.Average(EmptyList) otherwise 0
in
Result

FAQs

ถ้ารายการว่าง List.Average จะคืนค่าอะไร?+

ฟังก์ชันจะคืนค่า null หากรายการว่างเปล่า ใช้ try…otherwise หรือ List.IsEmpty เพื่อตรวจสอบก่อนใช้ฟังก์ชัน

List.Average รองรับวันที่หรือเวลาหรือไม่?+

ได้ รองรับ date time datetime datetimezone และ duration นอกเหนือจาก number

ความแตกต่างระหว่าง List.Average และการใช้ Table.SelectRows คืออะไร?+

List.Average ทำงานกับรายการ (list) โดยคำนวณค่าเฉลี่ยของทั้งหมด ส่วน Table.SelectRows เป็นการกรองแถวของตาราง ทั้งสองมีจุดประสงค์ต่างกัน

Resources & Related

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

ฟังก์ชันนี้List.AverageList functions
List functions (12)
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.Covariance

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

List.Max

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

List.Median

List.Median คืนค่ามัธยฐานของ List หากมีจำนวนคู่จะหาค่าเฉลี่ยของคู่กลาง (สำหรับตัวเลข/เวลา) หรือคืนค่าตัวที่น้อยกว่า

List.Min

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

List.Mode

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

List.Modes

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

List.Percentile

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

List.Product

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

List.StandardDeviation

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

List.Sum

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

List.Transform

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

Table functions (1)
Table.Column

Table.Column ดึงค่าจากคอลัมน์เฉพาะออกมาจากตาราง และคืนค่าเป็น List เพื่อให้สามารถนำไปประมวลผลต่อได้

Comments

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