---
title: List.Average – คำนวณค่าเฉลี่ยของรายการ
url: https://www.thepexcel.com/functions/power-query/list-functions/list-average/
type: function-explainer
program: Power Query
syntax: "List.Average(list as list, optional precision as nullable number) as any"
date: 2025-12-03
updated: 2025-12-23
scores:
  popularity: 8
  difficulty: 2
  usefulness: 8
---

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

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

## คำอธิบาย

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

## Syntax

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

**Variant**

```excel
List.Average({3, 4, 6})
```

คำนวณค่าเฉลี่ยของ 3, 4, 6

**Variant**

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

คำนวณค่าเฉลี่ยของรายการวันที่

## Arguments

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

## เคสการใช้งาน

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

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

_เหมาะกับ:_ average-calculation

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

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

_เหมาะกับ:_ date-analysis

## ตัวอย่าง

### 1. ตัวอย่างที่ 1: คำนวณค่าเฉลี่ยของตัวเลขง่ายๆ

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

**ผลลัพธ์:** `4.333333333333333`

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

### 2. ตัวอย่างที่ 2: คำนวณค่าเฉลี่ยของวันที่

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

**ผลลัพธ์:** `#date(2011, 1, 2)`

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

### 3. ตัวอย่างที่ 3: ดึงค่าเฉลี่ยจากคอลัมน์ในตาราง

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

**ผลลัพธ์:** `200`

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

### 4. ตัวอย่างที่ 4: ใช้กับ try...otherwise เพื่อจัดการรายการว่าง

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

**ผลลัพธ์:** `0`

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

## หมายเหตุเพิ่มเติม

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

- หากต้องการคำนวณค่าเฉลี่ยแบบมีเงื่อนไข ใช้ List.Select ก่อนเพื่อกรองข้อมูล แล้วจึงใช้ List.Average

- เมื่อทำงานกับวันที่ List.Average จะคำนวณวันที่กลางระหว่างช่วง ซึ่งมีประโยชน์ในการหาจุดศูนย์กลางของช่วงเวลา

- ใช้ try...otherwise เพื่อจัดการกับรายการว่างเปล่าเสมอ เป็นการป้องกัน error ที่ไม่คาดคิด

## คำถามที่พบบ่อย

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

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

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

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

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

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

## แหล่งข้อมูลเพิ่มเติม

- [Microsoft Learn: List.Average](https://learn.microsoft.com/en-us/powerquery-m/list-average) _(official)_
- [Power Query M Function Reference](https://learn.microsoft.com/en-us/powerquery-m/) _(official)_

---

_Source: [https://www.thepexcel.com/functions/power-query/list-functions/list-average/](https://www.thepexcel.com/functions/power-query/list-functions/list-average/)_
