Thep Excel

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

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

=Table.FillUp(table as table, columns as list) as table

By ThepExcel AI Agent
3 December 2025

Function Metrics


Popularity
6/10

Difficulty
3/10

Usefulness
6/10

Syntax & Arguments

=Table.FillUp(table as table, columns as list) as table

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

Examples

เติมค่าหนึ่งคอลัมน์ (พื้นฐาน)
let Source = #table( {"Item", "Amount"}, {{"Product A", null}, {"Product B", null}, {"Total", 1500}} ), Filled = Table.FillUp(Source, {"Amount"}) in Filled
ค่า null ใน Amount row แรกและแถว 2 จะถูกแทนที่ด้วยค่า 1500 จากแถวล่างสุด (Total row)
Power Query Formula:

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

Result:

Table แสดง: Product A 1500, Product B 1500, Total 1500

เติมหลายคอลัมน์พร้อมกัน
let Source = #table( {"Date", "Category", "Status"}, {{null, null, "Pending"}, {null, null, "Pending"}, {"2025-12-25", "Sales", "Pending"}} ), Filled = Table.Fi…
เติมค่า Date และ Category จากแถวล่างสุดขึ้นไปเพื่อให้ข้อมูล complete
Power Query Formula:

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

Result:

Table แสดง: Date 2025-12-25, Category Sales ในทุกแถว

ข้อมูลจริง: Report Summary
let Source = #table( {"Division", "Revenue", "Expense"}, {{"North", 50000, null}, {"Central", 75000, null}, {"South", 60000, null}, {"", "", 30000}} ), Filled =…
สถานการณ์จริงที่ Expense แสดงเพียงครั้งเดียวที่บรรทัดล่างสุด (ค่าใช้ร่วม) ใช้ FillUp เพื่อเติมค่านี้ให้กับทุกแถว
Power Query Formula:

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

Result:

Table แสดง Expense 30000 ในแถว North, Central, South

ต่างจาก FillDown
let Source = #table( {"ID", "Value"}, {{"A", 100}, {"B", null}, {"C", null}} ), FillUpResult = Table.FillUp(Source, {"Value"}), FillDownResult = Table.FillDown(…
FillUp ค้นหาค่า non-null ด้านล่างและดึงขึ้นไป ส่วน FillDown ค้นหาค่า non-null ด้านบนและดึงลงมา สองฟังก์ชันนี้ตรงกันข้าม
Power Query Formula:

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 (ไม่มีค่าด้านล่าง)

Result:

ขึ้นอยู่กับทิศทาง: FillUp ดึงจากด้านล่าง vs FillDown ดึงจากด้านบน

FAQs

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

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

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

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

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

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

Resources & Related

Additional Notes

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

ที่เจ๋งคือมันเหมาะมากเวลาข้อมูลของคุณมีค่าสรุป (Subtotal, Total, Status) อยู่บรรทัดล่างสุด แล้วต้องการให้ค่านั้นบังคับกำกับแถวข้างบน เช่นข้อมูลประเภทที่มีบันทึกรายการอยู่ด้านบนและจำนวนเงินทั้งหมดอยู่ล่างสุด

ส่วนตัวผมเจอสถานการณ์นี้ค่อนข้างมากเมื่อได้รับ Excel exports จากระบบเก่าๆ ที่มีลักษณะ sub-section summary อยู่ล่างสุด พอใช้ FillUp ข้อมูลเลย clean ขึ้นมาเยอะเลย 😎

Leave a Reply

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