running total excel

สารพัดวิธีคำนวณ Running Total ใน Excel: ตั้งแต่วิธีพื้นฐานไปจนถึงขั้นสูง 📊

เคยสงสัยไหมว่า “ยอดสะสม” (Running Total) ใน Excelทำได้กี่วิธี? ซึ่งแน่นอนว่าคงมีหลายทางเลือกมากมาย! แต่สิ่งที่ผมอยากให้ลองทำ คือ การลองแก้โจทย์เดียวกันด้วยวิธีที่ต่างกันนี่แหละ คือหนึ่งในวิธีฝึก Excel ให้เก่งขึ้นแบบก้าวกระโดด!

บทความนี้จะพาไปดูสารพัดวิธีคำนวณ Running Total ที่ครอบคลุมทุกระดับ ตั้งแต่มือใหม่จนถึงสายการใช้เครื่องมือขั้นสูงแบบจัดเต็มครับ!

  • ✅มือใหม่: เรียนรู้การใช้ SUM และ SUMIFS แบบเข้าใจง่าย
  • ✅ สายวิเคราะห์: ลอง Pivot Table หรือสูตร Array สุดทันสมัย
  • ✅ ขั้นโปร: จัดเต็มด้วย Python, Power Query (M Code) และ DAX
  • ✅ เปรียบเทียบทุกวิธี: รู้ว่าแบบไหนเหมาะกับงานคุณ

ข้อมูลตัวอย่างที่ใช้

เราเอาข้อมูลไว้ในพื้นที่ A2:B10 นะครับ

OrderIDAmount
Order0001200
Order0002150
Order000375
Order0004125
Order000550
Order0006100
Order0007250
Order0008300

และเราอาจมีบางเคสทำเป็น Table จะสะดวกกว่า โดยเราจะทำเป็น Table ชื่อ Sales นะครับ

สารพัดวิธีคำนวณ Running Total ใน Excel: ตั้งแต่วิธีพื้นฐานไปจนถึงขั้นสูง 📊 1

เราจะคำนวณยอดสะสมของคอลัมน์ Amount โดยอิงจากลำดับของ OrderID ไปทีละวิธีกันเลย!


1. วิธีพื้นฐานโดยใช้สูตรปกติ (Regular Formula)

วิธีนี้เหมาะสำหรับผู้เริ่มต้น เพราะง่ายและรวดเร็ว ไม่ต้องใช้เครื่องมือพิเศษใดๆ

1.1 วิธีพื้นฐานแบบดั้งเดิม (ใช้ SUM)

เพิ่มคอลัมน์ใหม่ชื่อ “RunningTotal” ในคอลัมน์ C โดยในเซลล์ C3 (แถวแรกของข้อมูล) ใส่สูตร:

=SUM($B$3:B3)
  • $B$3 ล็อกแถวเริ่มต้นให้คงที่
  • B3 จะขยายไปตามแถวที่สูตรถูก Copy ลงมา

ลากสูตรลงไปจนถึงแถวสุดท้าย (C10) จะได้ตามรูป

สารพัดวิธีคำนวณ Running Total ใน Excel: ตั้งแต่วิธีพื้นฐานไปจนถึงขั้นสูง 📊 2

ผลลัพธ์:

  • C3: 200
  • C4: 350 (200+150)
  • C5: 425 (200+150+75)
  • และต่อไปเรื่อยๆ

Tips : เคสนี้ ถ้าข้อมูลเป็น Table จะใช้ [@Amount] ที่เป็น Structure Reference ของ Table วิธีนี้จะไม่ Work ยังไงก็ต้องใช้การอ้างอิงด้วย Cell Reference ตามปกติอยู่ดีนะ แต่ข้อดีของการทำเป็น Table คือสูตรจะถูก Copy ลงมาโดยอัตโนมัตินั่นเอง

สารพัดวิธีคำนวณ Running Total ใน Excel: ตั้งแต่วิธีพื้นฐานไปจนถึงขั้นสูง 📊 3

วิธี 1.1 นี้เหมาะกับตารางเล็กๆ และไม่ซับซ้อน แต่ถ้าข้อมูลเยอะ อาจเริ่มช้าได้ เพราะต้องบวกการสะสมใหม่ทั้งหมดซ้ำหลายรอบโดยไม่จำเป็น (ลองสังเกตวิธีคิดในสูตร)

1.2 : ใช้สูตรอ้างอิงข้อมูลสะสมก่อนหน้า

เพื่อแก้ปัญหาความไม่มีประสิทธิภาพจากวิธีแรก และใช้ประโยชน์จากตาราง Excel (Structured Table) เราสามารถปรับสูตรให้อ้างอิงยอดสะสมจากแถวก่อนหน้าได้ง่ายขึ้น

ในเซลล์ C3 (แถวแรกของข้อมูล) ใส่สูตร:

=SUM(C2)+[@Amount]
  • SUM(C2) อ้างอิงยอดสะสมจากแถวก่อนหน้า (ถ้า C2 เป็นหัวตารางที่เป็น text เช่น “RunningTotal” ฟังก์ชัน SUM จะไม่สนใจค่า text โดยอัตโนมัติอยู่แล้ว)
  • [@Amount] อ้างอิงค่า Amount ในแถวปัจจุบันโดยใช้ Structured Reference

กด Enter สูตรจะถูกเติมลงในทุกแถวของคอลัมน์ในตารางอัตโนมัติ

ผลลัพธ์:

สารพัดวิธีคำนวณ Running Total ใน Excel: ตั้งแต่วิธีพื้นฐานไปจนถึงขั้นสูง 📊 4
  • C3: 200
  • C4: 350 (200+150)
  • C5: 425 (350+75)
  • และต่อไปเรื่อยๆ

ข้อดี:

วิธีนี้เร็วกว่าวิธีแรก เพราะคำนวณเฉพาะการบวกเพิ่มจากยอดก่อนหน้า ไม่ต้องบวกใหม่ทั้งหมด และใช้ Structured Reference ทำให้สูตรอ่านง่ายและยืดหยุ่น เหมาะกับข้อมูลขนาดใหญ่กว่า

1.3 ใช้ SUMIFS เพื่อยึดตาม OrderID แม้เรียงข้อมูลใหม่

อีกวิธีนึงที่สามารถใช้ได้ดี คือ SUMIFS ซึ่งใช้ประโยชน์จากการอ้างอิง OrderID มาช่วยในการคำนวณสะสมได้

=SUMIFS(Sales[Amount], Sales[OrderID], "<=" & [@OrderID])

คำอธิบาย:

  • ฟังก์ชัน SUMIFS จะบวกเฉพาะค่าจากคอลัมน์ Amount ที่ OrderID มีค่าน้อยกว่าหรือเท่ากับแถวปัจจุบัน
  • ใช้ [@OrderID] เพื่ออ้างอิงค่าในแถวปัจจุบัน
  • ข้อดีคือ ไม่ต้องอาศัยลำดับแถวใน Excel จะเรียงข้อมูลใหม่ หรือ Filter ยังไง Running Total ก็ยังคำนวณได้ถูกต้องเสมอ (เพราะดูจากค่า ไม่ใช่ตำแหน่ง)

📌 เหมาะกับใคร?

  • เหมาะกับงานที่มีการ Sort หรือ Filter ข้อมูลบ่อยๆ
  • ใช้ใน Table ได้เต็มรูปแบบ ทำงานร่วมกับ Structured Reference ได้
  • ไม่สนตำแหน่งของแถว ใช้ได้แม้ Sort / Filter / สลับลำดับข้อมูล
  • อย่างไรก็ตาม การคำนวณแบบนี้จะไม่สามารถเอายอดสะสมก่อนหน้ามาคิดได้นะ ต้องคำนวณใหม่ทุกตัว (เพื่อรองรับการเรียงใหม่)

2. ใช้ Pivot Table: วิธีที่สะดวกสำหรับการวิเคราะห์

ถ้าคุณชอบเครื่องมือที่ช่วยจัดการข้อมูลอัตโนมัติแบบง่ายๆ โดยไม่ต้องเขียนสูตรเลย Pivot Table คือตัวเลือกที่ดี

ขั้นตอน:

  1. เลือก Table ที่ทำไว้
  2. ไปที่แท็บ Insert > Pivot Table > เลือก “New Worksheet”
  3. ใน Pivot Table Fields:
    • ลาก “OrderID” ไปที่ Rows
    • ลาก “Amount” ไปที่ Values (เลือกให้เป็น Sum of Amount)
  4. คลิกที่ “Sum of Amount” ใน Values > เลือก Value Field Settings
  5. ไปที่ Show Values As > เลือก Running Total In > Base Field เลือก “OrderID”
  6. กด OK

ผลลัพธ์:

สารพัดวิธีคำนวณ Running Total ใน Excel: ตั้งแต่วิธีพื้นฐานไปจนถึงขั้นสูง 📊 5

Pivot Table จะแสดงยอดสะสมตามลำดับ OrderID อัตโนมัติ โดยไม่ต้องเขียนสูตรเอง

วิธีนี้เหมาะกับการวิเคราะห์ข้อมูลแบบรวดเร็ว และสามารถปรับแต่งเพิ่มเติมได้ แต่ข้อเสียคือ โครงสร้างตารางมันต้องมีหน้าตาแบบ PivotTable เท่านั้น และต้องมีการ Refresh ผลลัพธ์ถึงจะอัปเดทตามข้อมูลใหม่


3. ใช้สูตร Array: วิธีทันสมัยใน Excel 365/2021

สำหรับผู้ใช้ Excel เวอร์ชันใหม่ (365 หรือ 2021) สามารถใช้ฟังก์ชัน SCAN เพื่อคำนวณยอดสะสมแบบอาร์เรย์ได้

แต่เวลาเราใช้ Dynamic Arrays แล้วกรณีผลลัพธ์ออกมาหลายค่า จะใส่ไว้ใน Table ไม่ได้ ดังนั้นมันจะเหมาะกับกรณีที่ผลลัพธ์ออกมาในบริเวณที่เป็นข้อมูลปกติที่ไม่ได้เป็น Table ซะมากกว่า

ขั้นตอน:

ในเซลล์ C3 ใส่สูตร: SCAN + LAMBDA มาช่วยได้

SCAN(initial_value,array,function)
=SCAN(0, Sales[Amount], LAMBDA(acc,val, acc+val))
  • 0 คือค่าเริ่มต้นของผลรวม
  • Sales[Amount] คือช่วงข้อมูล Amount ซึ่งเป็น Array ที่มีหลายค่า
  • LAMBDA(acc, val, acc+val) บอกให้บวกสะสมไปเรื่อยๆ
    • acc = accum value ก่อนหน้า (ค่าเริ่มต้นคือ initial_value คือ 0)
    • val = ค่าแต่ละตัวที่กำลังไล่ SCAN อยู่
    • ชื่อตัวแปรจะตั้งอะไรก็ได้ ไม่จำเป็นต้องใช้ acc กับ val นะ

กด Enter สูตรจะคำนวณยอดสะสมทั้งหมดในครั้งเดียว

สารพัดวิธีคำนวณ Running Total ใน Excel: ตั้งแต่วิธีพื้นฐานไปจนถึงขั้นสูง 📊 6

ผลลัพธ์:

  • C3: 200
  • C4: 350 (200+150)
  • C5: 425 (350+75)
  • และต่อไปเรื่อยๆ

วิธีนี้ก็สะดวก ไม่ต้องลากสูตร และทำงานได้มีประสิทธิภาพ เพราะเอาผลลัพธ์ที่สะสมไว้มาใช้ต่อได้


4. ใช้ Python in Excel: วิธีที่ง่ายกว่าที่คิด

ในเมื่อ Excel รุ่นใหม่อย่าง Excel 365 สามารถใช้ Python ที่เหมาะกับการคำนวณขั้นสูงได้แล้ว! เรามาลองใช้ Python คำนวณ Running Total ดู

ขั้นตอน:

ไปที่ช่อง Cell ว่างๆ พิมพ์ =PY แล้ว Tab เพื่อเข้าสู่โหมดเขียน Code ด้วย Python

ใส่โค้ด

df=xl("Sales[#All]", headers=True)
df['RunningTotal'] = df['Amount'].cumsum() 
df

กด Ctrl+Enter เพื่อรัน Code

ผลลัพธ์:

ตอนแรกจะแสดงเป็น Python Object ก่อน

สารพัดวิธีคำนวณ Running Total ใน Excel: ตั้งแต่วิธีพื้นฐานไปจนถึงขั้นสูง 📊 7

ให้กดเปลี่ยนเป็น Excel Value มันจะได้ Spill ออกมาเป็น Dynamic Array (กด Ctrl+Shift+Alt+M ก็ได้)

สารพัดวิธีคำนวณ Running Total ใน Excel: ตั้งแต่วิธีพื้นฐานไปจนถึงขั้นสูง 📊 8

ตารางจะแสดงคอลัมน์ “RunningTotal” พร้อมยอดสะสม

วิธีนี้ได้ผลลัพธ์ออกมาง่ายๆ เลย เพราะมีฟังก์ชันสำเร็จรูปอย่าง .cumsum() มาช่วยอยู่แล้วนั่นเอง


4. ใช้ Power Query (M Code)

Power Query เหมาะกับการจัดการข้อมูลที่มีหลายขั้นตอน แล้วบันทึกเป็น Step การทำงานไว้ได้ หากต้องการทำซ้ำ สามารถกด Refresh ได้เลย

เลือกตารางข้อมูล > ไปที่ Data > Get & Transform Data > From Table/Range

ใน Power Query Editor ใช้โค้ด M ดังนี้

4.1 วิธี M Code สร้าง List ที่เปลี่ยนช่วงข้อมูลให้เยอะขึ้นเรื่อยๆ

let
    Source = Excel.CurrentWorkbook(){[Name="Sales"]}[Content],
    AddRunningTotal = Table.AddColumn(Source, "RunningTotal", (current) => 
        List.Sum(
            Table.SelectRows(Source, each [OrderID] <= current[OrderID])[Amount]
        ), type number)
in
    AddRunningTotal

หลักการ:

  • สูตร (current) => List.Sum(Table.SelectRows(Source, each [OrderID] <= current[OrderID])[Amount])

    จะสร้าง List ของ Amount โดย Filter OrderID ที่ไม่เกิน OrderID ปัจจุบัน แล้วบวกผลรวม
  • ตัวอย่าง: ที่แถว Order0003 จะได้ List [200, 150, 75] แล้วคำนวณเป็น 425
สารพัดวิธีคำนวณ Running Total ใน Excel: ตั้งแต่วิธีพื้นฐานไปจนถึงขั้นสูง 📊 9

ข้อสังเกต:

วิธีนี้ยังไม่ค่อยมีประสิทธิภาพ เพราะมีการคำนวณซ้ำซ้อนในแต่ละแถว (ถ้าเปิดดู List ก่อนใช้ List.Sum จะเห็นชัดว่าเป็น List ที่ซ้ำกันในแต่ละรอบ)


4.2 วิธี M Code แบบมีประสิทธิภาพ (แต่ยากนะ)

เพื่อลดการคำนวณซ้ำซ้อน เราจะใช้การสะสม (Accumulation) ด้วย List.Generate เพื่อคำนวณ Running Total ทีละแถว

ขั้นตอน:

ใช้โค้ด M ดังนี้ จะ Efficient ขึ้นเยอะ

let
    Source = Excel.CurrentWorkbook(){[Name="Sales"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source, {{"OrderID", type text}, {"Amount", Int64.Type}}),
    MyData = Table.Buffer(#"Changed Type"),
    AmountList = List.Buffer(MyData[Amount]),
    RunningTotalList = List.Generate(
        () => [Total = AmountList{0}, Index = 0],
        each [Index] < List.Count(AmountList), 
        each [Total = List.Sum({[Total], AmountList{[Index] + 1}}), Index = [Index] + 1], 
        each [Total]
    ),
    TransfromToList = Table.ToColumns(MyData) & {Value.ReplaceType(RunningTotalList, type {number})},
    Result = Table.FromColumns(TransfromToList, Table.ColumnNames(MyData) & {"Running Total"})
in
    Result
สารพัดวิธีคำนวณ Running Total ใน Excel: ตั้งแต่วิธีพื้นฐานไปจนถึงขั้นสูง 📊 10

คลิก Close & Load เพื่อโหลดข้อมูลกลับไปที่ Excel

หลักการทำงานของโค้ด

  • Source : ดึงตาราง “Sales” จาก Excel มาเป็นตารางใน Power Query
  • #”Changed Type” : กำหนด Data Type
  • MyData : ใช้ Table.Buffer เพื่อเก็บตารางไว้ในหน่วยความจำ ลดการประเมินซ้ำเมื่ออ้างอิง MyData ภายหลัง (เช่น ดึง Amount, Table.ToColumns)
  • AmountList : ดึงคอลัมน์ Amount ออกมาเป็น List (เช่น {200, 150, 75, …}) และใช้ List.Buffer เพื่อเก็บในหน่วยความจำ
  • RunningTotalList : คำนวณ Running Total ด้วย List.Generate ซึ่งจะอธิบายถัดไป
  • TransfromToList : แปลงตารางเป็น List และเพิ่ม Running Total โดยกำหนด Type เป็น Number
    • Table.ToColumns(MyData): แปลงตาราง MyData เป็น List ของคอลัมน์ (เช่น {{OrderID1, OrderID2, …}, {Amount1, Amount2, …}})
    • Value.ReplaceType(RunningTotalList, type {number}): กำหนด Data Type ให้ RunningTotalList เป็น List ของ number
    • รวม RunningTotalList เข้ากับ List ของคอลัมน์จาก MyData
  • Result : สร้างตารางผลลัพธ์
    • ใช้ Table.FromColumns เพื่อสร้างตารางใหม่จาก TransfromToList
    • ใช้ชื่อคอลัมน์จาก Table.ColumnNames(MyData) และเพิ่ม Running Total

ส่วนสำคัญ

ส่วนสำคัญ คือ Part ที่ เป็น Running Total List ที่ใช้สูตรนี้ ที่ทำให้มัน Efficient ขึ้นมาก

= List.Generate(
        () => [Total = AmountList{0}, Index = 1],
        each [Index] <= List.Count(AmountList),
        each [Total = [Total] + AmountList{[Index]}, Index = [Index] + 1],
        each [Total]
    )

หลักการ ของ RunningTotalList

  • เริ่มต้นที่ Total = AmountList{0} (Amt แรก คือ 200) และ Index = 0
  • วนลูปจนถึง Index < List.Count(AmountList) (เช่น 8 สมาชิก วนถึง Index = 7)
  • คำนวณ Total โดยใช้ List.Sum({[Total], AmountList{[Index] + 1}}), บวกยอดสะสมจาก Total เดิม และ Amount ใหม่ของแถวถัดไป
  • คืนค่า Total เป็น List ของ Running Total (เช่น {200, 350, 425, …})
สารพัดวิธีคำนวณ Running Total ใน Excel: ตั้งแต่วิธีพื้นฐานไปจนถึงขั้นสูง 📊 11

ผลลัพธ์:

  • RunningTotal จะแสดงยอดสะสมตามลำดับ (200, 350, 425, 550, 600, 700, 950, 1250)

ข้อดี:

วิธีนี้ลดการคำนวณซ้ำซ้อนเมื่อเทียบกับวิธี 4.1 เพราะคำนวณสะสมทีละครั้งแทนการ Filter ใหม่ทุกแถว เหมาะกับข้อมูลขนาดใหญ่


5. ใช้ DAX

DAX เหมาะสำหรับการทำงานใน Power Pivot (หรือ Power BI) โดยที่เราทำได้ 2 วิธี คือ ใช้ DAX สร้าง New Column หรือ สร้าง New Measure ก็ได้

5.1 DAX New Column

DAX New Column จะคำนวณ Running Total และเก็บผลลัพธ์เป็นคอลัมน์ใหม่ในตาราง Sales

กดสร้าง New Column ใน Data Model ชื่อ Running Total แล้วใส่สูตรนี้

โค้ด DAX สำหรับ New Column

= 
VAR CurrentID=Sales[OrderID]
VAR AccumTable=FILTER(
        ALL(Sales[Amount],Sales[OrderID]) ,
        Sales[OrderID] <= CurrentID)    
RETURN
    SUMX(AccumTable,Sales[Amount])
สารพัดวิธีคำนวณ Running Total ใน Excel: ตั้งแต่วิธีพื้นฐานไปจนถึงขั้นสูง 📊 12

การทำงาน

  • VAR CurrentID = Sales[OrderID]: เก็บค่า OrderID ของแถวปัจจุบัน (เช่น Order0001)
  • VAR AccumTable = FILTER…
    • ALL(Sales[Amount], Sales[OrderID]): ล้างบริบทการกรองและเลือกเฉพาะคอลัมน์ Amount และ OrderID
    • Sales[OrderID] <= CurrentID: กรองแถวที่มี OrderID น้อยกว่าหรือเท่ากับ CurrentID
  • SUMX(AccumTable, Sales[Amount]): รวมค่า Amount จากตาราง AccumTable ที่กรองแล้ว

    ข้อดี

    • โค้ดอ่านง่ายขึ้นด้วย VAR
    • เหมาะสำหรับการเก็บค่า Running Total แบบคงที่ไว้ในตารางเลย ตอนเรียกดูรายงานจะเร็ว

    ข้อควรระวัง

    • ต้องเรียงลำดับ OrderID ให้ถูกต้อง (เช่น ใช้ Power Query เพื่อเรียงลำดับก่อน)
    • ค่าเหล่านี้จะไม่เปลี่ยนตาม Filter Context ของรายงานแล้ว

    5.2 DAX Measure (ใช้ VAR)

    DAX Measure จะคำนวณ Running Total ตามบริบทการกรอง (เช่น ใน Visual หรือ PivotTable) โดยไม่เก็บผลลัพธ์ในตารางเลย

    โค้ด DAX สำหรับ New Measure

    Running Total Measure = 
    VAR CurrentID = MAX(Sales[OrderID])
    RETURN
    CALCULATE(
        SUM(Sales[Amount]),
            Sales[OrderID] <= CurrentID
    )
    สารพัดวิธีคำนวณ Running Total ใน Excel: ตั้งแต่วิธีพื้นฐานไปจนถึงขั้นสูง 📊 13

    การทำงาน

    • VAR CurrentID = MAX(Sales[OrderID]): เก็บค่า OrderID สูงสุดในบริบทการกรองปัจจุบัน (เช่น ถ้าใน PivotTable กรองถึง Order0003, CurrentID จะเป็น Order0003)
    • CALCULATE: คำนวณผลรวมของ Amount โดยล้าง Filter Context เกี่ยวกับ OrderID แล้วค่อยกรองแถวใน Sales โดยเลือกเฉพาะแถวที่มี OrderID น้อยกว่าหรือเท่ากับ CurrentID
    • ผลลัพธ์:
      • ถ้าใน Visual กรองถึง Order0003: 200 + 150 + 75 = 425
      • ถ้าแสดงทั้งตาราง: 200 + 150 + 75 + 125 + 50 + 250 + 100 + 300 = 1250

    ข้อดี

    • โค้ดชัดเจนด้วย VAR
    • คำนวณแบบไดนามิกตามบริบทการกรอง
    • ประหยัดหน่วยความจำ เพราะไม่เก็บในตาราง

    ข้อควรระวัง

    • ต้องใช้ใน Visual หรือ PivotTable ที่มีการกรอง OrderID
    • อาจช้าลงถ้ามีการกรองจำนวนมาก

    การเปรียบเทียบ

    คุณสมบัติNew Column (VAR)Measure (VAR)
    ที่เก็บข้อมูลอยู่ในตารางคำนวณแบบไดนามิก
    ประสิทธิภาพอาจช้าตอน refresh
    แต่เร็วตอนดูรายงาน
    เร็วตอน refresh
    แต่อาจช้าตอนดูรายงาน
    การใช้งานแสดงผลคงที่วิเคราะห์แบบโต้ตอบได้

    คำแนะนำ

    • New Column: ใช้เมื่อต้องการค่า Running Total แบบคงที่และไม่เปลี่ยนแปลงบ่อย
    • Measure: ใช้เมื่อต้องการวิเคราะห์แบบไดนามิกหรือกรองข้อมูลใน Visual

    📌 สรุป: วิธีไหนเหมาะกับใคร?

    วิธีจุดเด่นเหมาะกับกรณี
    1.1 SUM ปกติเข้าใจง่าย มือใหม่ใช้ได้ทันทีตารางเรียงลำดับแน่นอน
    1.2 SUM + [@Amount]ลากสูตรอัตโนมัติ, อ่านง่ายใช้กับ Table ได้ดี
    และประสิทธิภาพสูง
    1.3 SUMIFSไม่พึ่งลำดับแถว, คงผลลัพธ์เดิมไว้ได้แม้มีการสลับลำดับข้อมูลถูก Sort ใหม่แล้วไม่พัง
    2. Pivot Tableไม่ต้องเขียนสูตรวิเคราะห์ข้อมูลแบบ เปลี่ยนมุมมองได้สะดวก
    3. SCAN (Array)เขียนครั้งเดียว คำนวณทั้งชุดงานไม่อยู่ใน Table / ชอบสูตรใหม่
    4. Pythonเขียนสั้น ใช้ .cumsum()เขียน Script/Advanced Data Analysis
    5.1 Power Query
    (Filter)
    ขั้นตอนชัดเจนเหมาะในขั้นตอนข้อมูล ที่ข้อมูลไม่เยอะ
    5.2 Power Query (Accumulate)เร็วกว่าแบบ Filterเหมาะในขั้นตอนข้อมูล ใช้กับข้อมูลจำนวนมากได้
    6.1 DAX Columnค่าเก็บคงที่ ดูรายงานเร็วสร้าง Data Model
    6.2 DAX MeasureDynamic ตาม Contextวิเคราะห์ใน PowerPivot / Visual

    ส่งท้าย

    Running Total อาจดูเหมือนเรื่องเล็กๆ แต่พอเราได้ลองใช้หลายๆ วิธี จะพบว่าแต่ละแบบมี “แนวคิดเบื้องหลัง” ที่แตกต่างกัน และนั่นแหละคือกุญแจสู่การเป็น “คนเก่ง Excel” เลยล่ะ!
    ลองใช้หลายเทคนิคกับข้อมูลจริงดูนะ แล้วคุณจะเข้าใจ Excel ในแบบที่ลึกและสนุกยิ่งขึ้นแน่นอนครับ 😊

    Leave a Reply

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