คลังสูตรExcel 80 · DAX 95 · M 15
ในหน้านี้
หน้าแรก › Power Query › เพิ่มคอลัมน์ › Table.AddColumn

Table.AddColumn

Power Query · Mเพิ่มคอลัมน์ระดับพื้นฐาน

อัปเดต 3 ต.ค. 2569 · ตารางทุกขั้นในตัวอย่างตรงกับตัวคำนวณอ้างอิงที่เขียนแยก · ยังไม่ได้ตรวจใน Power Query ของ Excel หรือ Power BI Desktop

เอกสารอ้างอิง: Table.AddColumn (Microsoft Learn) · ตัวจำลองบนหน้านี้รองรับเฉพาะฟังก์ชันและรูปแบบที่ใช้ในตัวอย่าง วันที่แสดงแบบ วัน/เดือน/ปี ค.ศ.

Table.AddColumn คืออะไร

เพิ่มคอลัมน์ใหม่ที่คำนวณจากคอลัมน์อื่นในแถวเดียวกัน (Custom Column)

ปุ่มใน Power Query Editor ที่สร้างขั้นนี้Add Column › General › Custom Column

ใช้เมื่อไหร่

  • คำนวณยอดเงินจากจำนวน ราคา และส่วนลดในแต่ละแถว
  • สร้างคอลัมน์จัดกลุ่ม เช่น ขนาดคำสั่งซื้อ ใหญ่ หรือ เล็ก

รูปแบบสูตร

Table.AddColumn(table as table, newColumnName as text, columnGenerator as function, optional columnType as nullable type) as table

optional คือไม่ใส่ก็ได้ · ชื่อฟังก์ชันต้องสะกดตัวพิมพ์ใหญ่เล็กให้ตรง

Argument แต่ละตัว

ชี้ที่ argument ในรูปแบบสูตรด้านบนเพื่อไฮไลต์แถวนั้น

Argumentจำเป็นไหมความหมาย
tableจำเป็นตารางต้นทาง
newColumnNameจำเป็นชื่อคอลัมน์ใหม่
columnGeneratorจำเป็นฟังก์ชันที่คำนวณค่าทีละแถว เช่น each [จำนวน] * [ราคาต่อหน่วย]
columnTypeไม่บังคับชนิดข้อมูลของคอลัมน์ใหม่ เช่น type number (ไม่ใส่ = any)

ลองเลย: คำนวณยอดสุทธิของแต่ละคำสั่งซื้อ

คลิกขั้นใน Applied Steps เพื่อดูตารางหลังขั้นนั้น สลับดูก่อนและหลังขั้น เปลี่ยนค่าที่ปุ่มด้านบน หรือแก้สูตรในแถบสูตรแล้วกดคำนวณ

กดใน Power Query EditorAdd Column › General › Custom Column
Ctrl + Enter คำนวณ · แก้ได้ทุกขั้น เลือกขั้นจาก Applied Steps
10 คอลัมน์ · 65 แถวใหม่หรือเปลี่ยนชื่อ
Added Custom · ตารางหลังขั้นนี้ 65 แถว 10 คอลัมน์
แถวABCเลขที่คำสั่งซื้อ100%วันที่100%ABCรหัสสินค้า100%ABCพนักงานขาย100%ABCภูมิภาค100%ABCช่องทาง100%123จำนวน100%1.2ราคาต่อหน่วย100%1.2ส่วนลด100%1.2ยอดสุทธิ100%
1SF-2025-02372/1/2025P009วรวุฒิ แสงทองเหนือOnline547200.0536936
2SF-2025-02384/1/2025P024นันทิดา กิจเจริญกลางOnline355200.0517290
3SF-2025-02395/1/2025P036อรทัย พิทักษ์วงศ์กลางOnline38540020520
4SF-2025-02407/1/2025P039ปิยะนุช ศรีสวัสดิ์กลางFood Service2042008400
5SF-2025-02417/1/2025P009นันทิดา กิจเจริญกลางModern Trade187200.0512312
6SF-2025-02428/1/2025P009ชยพล บุญมาตะวันออกเฉียงเหนือModern Trade21720015120
7SF-2025-02439/1/2025P036สุภาพร หงษ์ทองตะวันออกModern Trade305400.114580
8SF-2025-024411/1/2025P006วรวุฒิ แสงทองเหนือOnline20560011200
9SF-2025-024512/1/2025P009ธีรพงษ์ ฉัตรแก้วตะวันออกเฉียงเหนือFood Service157200.19720
10SF-2025-024613/1/2025P006วรวุฒิ แสงทองเหนือOnline37560020720
11SF-2025-024714/1/2025P009อรทัย พิทักษ์วงศ์กลางTraditional Trade39720028080
12SF-2025-024815/1/2025P009ธีรพงษ์ ฉัตรแก้วตะวันออกเฉียงเหนือOnline24720017280
13SF-2025-024916/1/2025P006สุภาพร หงษ์ทองตะวันออกTraditional Trade505600.0526600
14SF-2025-025016/1/2025P001กมลชนก พงษ์พานิชใต้Traditional Trade35420014700
15SF-2025-025117/1/2025P006ชยพล บุญมาตะวันออกเฉียงเหนือModern Trade656003360
16SF-2025-025218/1/2025P001ปิยะนุช ศรีสวัสดิ์กลางTraditional Trade444200.116632
17SF-2025-025320/1/2025P024กมลชนก พงษ์พานิชใต้Online485200.122464
18SF-2025-025421/1/2025P036กมลชนก พงษ์พานิชใต้Traditional Trade51540027540
19SF-2025-025522/1/2025P011ปิยะนุช ศรีสวัสดิ์กลางFood Service216500.112285
20SF-2025-025625/1/2025P001กมลชนก พงษ์พานิชใต้Modern Trade204200.057980
21SF-2025-025726/1/2025P036กมลชนก พงษ์พานิชใต้Traditional Trade38540020520
22SF-2025-025829/1/2025P036วรวุฒิ แสงทองเหนือModern Trade385400.0519494
23SF-2025-025930/1/2025P011กมลชนก พงษ์พานิชใต้Modern Trade166500.059880
24SF-2025-02601/2/2025P017วรวุฒิ แสงทองเหนือTraditional Trade222500.14950
25SF-2025-02613/2/2025P036วรวุฒิ แสงทองเหนือModern Trade1854009720
26SF-2025-02626/2/2025P001ชยพล บุญมาตะวันออกเฉียงเหนือOnline742002940
27SF-2025-02638/2/2025P003อรทัย พิทักษ์วงศ์กลางOnline206001200
28SF-2025-02649/2/2025P001นันทิดา กิจเจริญกลางFood Service74200.052793
29SF-2025-026510/2/2025P006นันทิดา กิจเจริญกลางModern Trade33560018480
30SF-2025-026610/2/2025P006กมลชนก พงษ์พานิชใต้Modern Trade33560018480
31SF-2025-026713/2/2025P036ชยพล บุญมาตะวันออกเฉียงเหนือTraditional Trade21540011340
32SF-2025-026815/2/2025P036วรวุฒิ แสงทองเหนือFood Service43540023220
33SF-2025-026916/2/2025P017ปิยะนุช ศรีสวัสดิ์กลางOnline282500.16300
34SF-2025-027019/2/2025P009ปิยะนุช ศรีสวัสดิ์กลางOnline1072007200
35SF-2025-027119/2/2025P024อรทัย พิทักษ์วงศ์กลางOnline1952009880
36SF-2025-027220/2/2025P003ชยพล บุญมาตะวันออกเฉียงเหนือFood Service206001200
37SF-2025-027320/2/2025P006วรวุฒิ แสงทองเหนือModern Trade32560017920
38SF-2025-027421/2/2025P030ชยพล บุญมาตะวันออกเฉียงเหนือModern Trade414200.0516359
39SF-2025-027522/2/2025P011วรวุฒิ แสงทองเหนือModern Trade32650020800
40SF-2025-027623/2/2025P017ปิยะนุช ศรีสวัสดิ์กลางOnline42250010500

Added Custom · ขั้นนี้ทำอะไร

Table.AddColumn รับตาราง 65 แถว × 9 คอลัมน์ ได้ 65 แถว × 10 คอลัมน์

คำนวณคอลัมน์ ยอดสุทธิ ทีละแถว 65 แถว ค่าในแถวมาจากคอลัมน์ของแถวเดียวกัน

each ทำงานทีละแถว · 8 แถวแรกจาก 65 แถว
แถว[จำนวน][ราคาต่อหน่วย][ส่วนลด]ผล
1547200.0536936
2355200.0517290
338540020520
42042008400
5187200.0512312
621720015120
7305400.114580
820560011200
Advanced Editor · โค้ดทั้ง query
let
    Source = Excel.CurrentWorkbook(){[Name="Sales"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"เลขที่คำสั่งซื้อ", type text}, {"วันที่", type date}, {"รหัสสินค้า", type text}, {"พนักงานขาย", type text}, {"ภูมิภาค", type text}, {"ช่องทาง", type text}, {"จำนวน", Int64.Type}, {"ราคาต่อหน่วย", type number}, {"ส่วนลด", type number}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "ยอดสุทธิ", each [จำนวน] * [ราคาต่อหน่วย] * (1 - [ส่วนลด]), type number)
in
    #"Added Custom"
วางใน Home › Advanced Editor ของ Power Query ในไฟล์ฝึกได้ทันที

ถ้าคุณใช้ Excel หรือ DAX อยู่แล้ว

EXCEL=[@จำนวน]*[@ราคาต่อหน่วย]*(1-[@ส่วนลด])

คอลัมน์คำนวณใน Excel Table ใช้ [@คอลัมน์] อ้างแถวเดียวกัน M ใช้ each กับ [คอลัมน์] แนวคิดเดียวกัน

POWER QUERY · M#"Added Custom" = Table.AddColumn(#"Changed Type", "ยอดสุทธิ", each [จำนวน] * [ราคาต่อหน่วย] * (1 - [ส่วนลด]), type number)

เพิ่มคอลัมน์ใหม่ที่คำนวณจากคอลัมน์อื่นในแถวเดียวกัน (Custom Column)

DAXยอดสุทธิ = 'ยอดขาย'[จำนวน] * 'ยอดขาย'[ราคาต่อหน่วย] * (1 - 'ยอดขาย'[ส่วนลด])

Calculated column ของ DAX คำนวณหลังโหลด ส่วน Custom Column ใน Power Query คำนวณก่อนโหลด ถ้าใช้แค่ผลรวม Measure แบบ SUMX ประหยัดกว่าทั้งคู่

ข้อผิดพลาดและเคล็ดลับ

ใส่ชนิดข้อมูลเป็น argument ที่สี่ (type number) ไม่เช่นนั้นคอลัมน์ใหม่เป็น any (ไอคอน ABC123) และต้องเปลี่ยนชนิดอีกขั้น
ถ้ามีช่องใดเป็น null ผลคำนวณของแถวนั้นจะเป็น null ด้วย ใช้ ?? ใส่ค่าแทน เช่น ([ส่วนลด] ?? 0)
ยอดที่ใช้แค่ผลรวมในรายงาน เขียนเป็น Measure ด้วย SUMX ใน DAX แทนการเพิ่มคอลัมน์ ไฟล์จะเล็กกว่า

แบบทดสอบ 3 ข้อ

1. each [จำนวน] * [ราคาต่อหน่วย] คำนวณอย่างไร

2. ไม่ใส่ argument columnType คอลัมน์ใหม่เป็นชนิดใด

3. แถวที่ [ส่วนลด] เป็น null ผลของ [จำนวน] * [ราคาต่อหน่วย] * (1 - [ส่วนลด]) คืออะไร

ไฟล์ฝึก Table.AddColumn

9Expert-M-Table-AddColumn-Practice-v1.0.xlsx

รุ่น 1.0 · 3/10/2026 · 21 KB · ไม่มี Macro · เปิดใน Excel › Data › Get Data › Blank Query แล้ววางโค้ดตั้งต้น ทำโจทย์ พิมพ์คำตอบกลับในไฟล์ ตรวจเอง
เริ่มต้นข้อมูลส่งออกยอดขายเป้าหมายโค้ดตั้งต้นแบบฝึกหัดเฉลย

โจทย์ในชีตแบบฝึกหัด

  1. ข้อ 1ยอดสุทธิของคำสั่งซื้อแถวแรก · ดูที่ขั้น Added Custom
  2. ข้อ 2ใช้สูตรยอดก่อนลด (each [จำนวน] * [ราคาต่อหน่วย]) ผลรวมคอลัมน์ใหม่ · ดูที่ขั้น Added Custom
  3. ข้อ 3ใช้สูตรมูลค่าส่วนลด ผลรวมคอลัมน์ใหม่ · ดูที่ขั้น Added Custom
  4. ข้อ 4ยอดสุทธิของคำสั่งซื้อแถวสุดท้าย · ดูที่ขั้น Added Custom
  5. ข้อ 5หลัง Added Custom ตารางมีกี่คอลัมน์ · ดูที่ขั้น Added Custom

ไปต่อ

อยากใช้ Power Query เตรียมข้อมูลจริงทั้งระบบ

ต่อยอดในหลักสูตร Power BI และ Power Query ของ 9Expert Training: รวมไฟล์ ล้างข้อมูล และสร้างโมเดลสำหรับรายงาน

ดูหลักสูตร