---
title: Table.FillUp – เติมค่าว่างด้วยค่าจากแถวด้านล่าง
url: https://www.thepexcel.com/functions/power-query/table-functions/table-fillup/
type: function-explainer
program: Power Query
syntax: "Table.FillUp(table as table, columns as list) as table"
date: 2025-12-03
updated: 2025-12-25
scores:
  popularity: 6
  difficulty: 3
  usefulness: 6
---

# Table.FillUp – เติมค่าว่างด้วยค่าจากแถวด้านล่าง

> Table.FillUp เติมเต็มค่าว่าง (null) ด้วยค่าจากแถวด้านล่างขึ้นไป ทำงานตรงกันข้ามกับ FillDown ใช้สำหรั

## คำอธิบาย

Table.FillUp เติมเต็มค่าว่าง (null) ด้วยค่าจากแถวด้านล่างขึ้นไป ทำงานตรงกันข้ามกับ FillDown ใช้สำหรับจัดการข้อมูลที่ค่าสรุปอยู่ล่างสุด

## Syntax

```excel
Table.FillUp(table as table, columns as list) as table
```

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| table | Yes | table |  | ตารางข้อมูลต้นทางที่ต้องการเติมค่าว่าง |
| columns | Yes | list |  | List ของชื่อคอลัมน์ที่ต้องการเติมค่า null (เขียนเป็น {"ColumnName1", "ColumnName2"}) |

## ตัวอย่าง

### 1. เติมค่าหนึ่งคอลัมน์ (พื้นฐาน)

```excel
let
    Source = #table(
        {"Item", "Amount"},
        {{"Product A", null}, {"Product B", null}, {"Total", 1500}}
    ),
    Filled = Table.FillUp(Source, {"Amount"})
in
    Filled
```

**ผลลัพธ์:** `Table แสดง: Product A 1500, Product B 1500, Total 1500`

ค่า null ใน Amount row แรกและแถว 2 จะถูกแทนที่ด้วยค่า 1500 จากแถวล่างสุด (Total row)

### 2. เติมหลายคอลัมน์พร้อมกัน

```excel
let
    Source = #table(
        {"Date", "Category", "Status"},
        {{null, null, "Pending"}, {null, null, "Pending"}, {"2025-12-25", "Sales", "Pending"}}
    ),
    Filled = Table.FillUp(Source, {"Date", "Category"})
in
    Filled
```

**ผลลัพธ์:** `Table แสดง: Date 2025-12-25, Category Sales ในทุกแถว`

เติมค่า Date และ Category จากแถวล่างสุดขึ้นไปเพื่อให้ข้อมูล complete

### 3. ข้อมูลจริง: Report Summary

```excel
let
    Source = #table(
        {"Division", "Revenue", "Expense"},
        {{"North", 50000, null}, {"Central", 75000, null}, {"South", 60000, null}, {"", "", 30000}}
    ),
    Filled = Table.FillUp(Source, {"Expense"})
in
    Filled
```

**ผลลัพธ์:** `Table แสดง Expense 30000 ในแถว North, Central, South`

สถานการณ์จริงที่ Expense แสดงเพียงครั้งเดียวที่บรรทัดล่างสุด (ค่าใช้ร่วม) ใช้ FillUp เพื่อเติมค่านี้ให้กับทุกแถว

### 4. ต่างจาก FillDown

```excel
let
    Source = #table(
        {"ID", "Value"},
        {{"A", 100}, {"B", null}, {"C", null}}
    ),
    FillUpResult = Table.FillUp(Source, {"Value"}),
    FillDownResult = Table.FillDown(Source, {"Value"})
in
    FillUpResult
    // FillDown จะคืนค่า 100, 100, 100
    // FillUp จะคืนค่า 100, null, null (ไม่มีค่าด้านล่าง)
```

**ผลลัพธ์:** `ขึ้นอยู่กับทิศทาง: FillUp ดึงจากด้านล่าง vs FillDown ดึงจากด้านบน`

FillUp ค้นหาค่า non-null ด้านล่างและดึงขึ้นไป ส่วน FillDown ค้นหาค่า non-null ด้านบนและดึงลงมา สองฟังก์ชันนี้ตรงกันข้าม

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

- ผมแนะนำให้ใช้ FillUp เมื่อข้อมูลมี Subtotal หรือ Summary อยู่บรรทัดล่างสุด ปกติจะเห็นในรายงาน Excel ที่มี section ต่างๆ

- ถ้าข้อมูลมี header row ที่ต้องเก็บไว้ ให้ใช้ Table.Skip เพื่อข้ามแถวแรก จากนั้น FillUp แล้ว Table.Combine กลับ

- ส่วนตัวผมมักใช้ FillUp + FillDown ด้วยกันในกรณีที่มีค่า null ให้เติมทั้งหลายทิศทาง (ไม่พบบ่อยแต่มีประโยชน์)

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

**Q: ต่างจาก Table.FillDown อย่างไร?**

Table.FillDown ดึงค่าจากด้านบนลงมา ส่วน Table.FillUp ดึงค่าจากด้านล่างขึ้นไป ผมแนะนำใช้ FillUp เมื่อข้อมูลสรุป (Subtotal, Total) อยู่บรรทัดล่างสุดและต้องการให้ค่านั้นบังคับแถวด้านบน

**Q: แล้วถ้าค่าด้านล่างก็ null ด้วยละ?**

FillUp จะหาต่อเนื่องไปยังแถวล่างไปเรื่อยๆ จนกว่าจะหาค่า non-null ถ้าหาไม่เจอเลยก็ค่า null นั้นจะเหลือเป็น null แบบเดิม ผมแนะนำให้เช็กข้อมูลต้นทางก่อนใช้ FillUp

**Q: เติมได้หลายคอลัมน์พร้อมกันมั้ย?**

ได้ครับ! ใส่ชื่อคอลัมน์หลายตัวใน list เช่น Table.FillUp(Source, {"Column1", "Column2", "Column3"}) ส่วนตัวผมชอบใช้วิธีนี้เพราะสะดวกมากกว่าทำทีละคอลัมน์

## ฟังก์ชันที่เกี่ยวข้อง

- [Table.FillDown – เติมค่าว่างด้วยค่าจากแถวด้านบน](https://www.thepexcel.com/functions/power-query/table-functions/table-filldown/)
- [Table.ReplaceValue – แทนที่ค่าในตารางตามเงื่อนไข](https://www.thepexcel.com/functions/power-query/table-functions/table-replacevalue/)

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

- [Microsoft Learn: Table.FillUp](https://learn.microsoft.com/en-us/powerquery-m/table-fillup) _(official)_
- [PowerQuery.how - Table.FillUp](https://powerquery.how/table-fillup/) _(article)_

---

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