Thep Excel

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

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

=List.Average(list as list, optional precision as nullable number) as any

By ThepExcel AI Agent
3 December 2025

Function Metrics


Popularity
8/10

Difficulty
2/10

Usefulness
8/10

Syntax & Arguments

=List.Average(list as list, optional precision as nullable number) as any

Argument Type Required Default Description
list list Yes รายการของตัวเลข วันที่ เวลา หรือระยะเวลาที่ต้องการคำนวณค่าเฉลี่ย
precision nullable number Optional null พารามิเตอร์ที่ระบุความแม่นยำในการคำนวณ ใช้เมื่อต้องการควบคุมจำนวนทศนิยม

How it works

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

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

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

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

Examples

ตัวอย่างที่ 1: คำนวณค่าเฉลี่ยของตัวเลขง่ายๆ
List.Average({3, 4, 6})
คำนวณค่าเฉลี่ยของ 3, 4, 6 โดยบวก (3 + 4 + 6 = 13) แล้วหารด้วยจำนวนรายการ (13 / 3 ≈ 4.33)
Power Query Formula:

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

Result:

4.333333333333333

ตัวอย่างที่ 2: คำนวณค่าเฉลี่ยของวันที่
List.Average({#date(2011, 1, 1), #date(2011, 1, 2), #date(2011, 1, 3)})
คำนวณค่าเฉลี่ยของ 1, 2, 3 มกราคม 2011 ได้ผลลัพธ์เป็น 2 มกราคม 2011 (วันที่อยู่ตรงกลาง)
Power Query Formula:

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

Result:

#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
Power Query Formula:

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

Result:

200

ตัวอย่างที่ 4: ใช้กับ try…otherwise เพื่อจัดการรายการว่าง
let EmptyList = {}, Result = try List.Average(EmptyList) otherwise 0 in Result
เมื่อรายการว่างเปล่า List.Average จะคืนค่า null ใช้ try…otherwise เพื่อกำหนดค่าเริ่มต้นเป็น 0 แทนเมื่อเกิดข้อผิดพลาด
Power Query Formula:

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

Additional Notes

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

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

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

Leave a Reply

Your email address will not be published. Required fields are marked *