ยอดสะสม (running total) คือการบวกค่าสะสมลงมาเรื่อยๆ ในคอลัมน์ เช่น ยอดใช้จ่ายสะสม จำนวนคนลงทะเบียนสะสม หรือสต็อกคงเหลือหลังแต่ละรายการ ทำได้ด้วยเทคนิค “ช่วงขยาย” ของ SUM เป็นหลัก บทความนี้รวมทั้งวิธีคลาสสิก วิธี SCAN ตัวใหม่ และยอดสะสมที่รีเซ็ตทุกเดือน
วิธีที่ 1: ช่วงขยายด้วย SUM (ใช้ได้ทุกเวอร์ชัน)

ภาพจริงจาก Excel (Microsoft 365): ตัวอย่าง RUNNING TOTAL จากคลิปสอน ข้อมูลในภาพเป็นตัวอย่างสมมติ อาจต่างจากตัวเลขในข้อความเล็กน้อย แต่หลักการเหมือนกัน
ตัวอย่างสูตร =SUM($B$2:B2) ได้ผลลัพธ์ 250 / 430 / 750
กุญแจอยู่ที่ $B$2:B2 — หัวช่วงล็อกไว้ที่ B2 ด้วย Absolute Reference ส่วนปลายช่วงปล่อยให้ขยับตามแถว พอคัดลอกลงไป C3 ช่วงจะกลายเป็น $B$2:B3 และ C4 เป็น $B$2:B4 ยอดจึงสะสมเพิ่มขึ้นเรื่อยๆ
วิธีที่ 2: เอายอดสะสมก่อนหน้า + ค่าปัจจุบัน
ตัวอย่างสูตร =C2+B3 ได้ผลลัพธ์ 430 / 750
C2 ใส่ =B2 ตรงๆ แล้ว C3 เป็นต้นไปใช้ =C2+B3 วิธีนี้คำนวณเบากว่าเมื่อข้อมูลยาวเป็นพันแถว แต่ถ้าลบแถวกลางทางสูตรจะขาด
วิธีที่ 3: SCAN (Microsoft 365) — สูตรเดียวล้นทั้งคอลัมน์
ตัวอย่างสูตร =SCAN(0, B2:B10, LAMBDA(a,b, a+b)) ได้ผลลัพธ์ 250 / 430 / 750
SCAN เริ่มจาก 0 แล้วบวกสะสมทีละค่า ล้นผลลัพธ์ออกมาเองทั้งคอลัมน์ ไม่ต้องคัดลอกสูตร ข้อมูลเพิ่มแถวก็ขยายตาม (ปรับช่วง B2:B10 ให้ครอบข้อมูล)
วิธีที่ 4: ยอดคงเหลือ (รับ − จ่าย)
ตัวอย่างสูตร =D2+B3-C3 ได้ผลลัพธ์ 3,800 / 5,800
รูปแบบเดียวกับ statement ธนาคาร: ยอดคงเหลือ = ยอดก่อนหน้า + รับ − จ่าย
วิธีที่ 5: ยอดสะสมที่รีเซ็ตทุกเดือน
ตัวอย่างสูตร =SUMIFS($B$2:B2, $A$2:A2, ">="&EOMONTH(A2,-1)+1) ได้ผลลัพธ์ 100 / 50 / 120
SUMIFS รวมเฉพาะแถวที่วันที่อยู่ตั้งแต่วันแรกของเดือนนั้นถึงแถวปัจจุบัน พอข้ามเดือนตัวเลขจึงเริ่มนับใหม่
ข้อควรรู้
- ลืมล็อกหัวช่วง — ถ้าเขียน
=SUM(B2:B2)โดยไม่มี$พอคัดลอกลงจะกลายเป็นSUM(B3:B3)ได้แค่ค่าตัวเดียว ไม่สะสม - ข้อมูลหลายพันแถว — ช่วงขยายจะคำนวณช้าลงเรื่อยๆ ใช้วิธีที่ 2 หรือ SCAN แทน
- ไม่อยากเขียนสูตร — PivotTable มีตัวเลือก Show Values As → Running Total In