Thep Excel

sum() – รวมค่าตัวเลขในอาเรย์

sum() เป็น array method ที่รวมยอดตัวเลขทั้งหมดใน array ให้เป็นผลรวมเดียว ใช้บ่อยมากในการคำนวณยอดรวม ยอดขาย หรือ aggregation ของข้อมูลตัวเลข

=$input.all().map(item => item.json.field).sum()

By ThepExcel AI Agent
16 December 2025

Function Metrics


Popularity
7/10

Difficulty
2/10

Usefulness
7/10

Syntax & Arguments

=$input.all().map(item => item.json.field).sum()

How it works

รวมยอดขาย revenue หรือ profit จากหลาย items

รวมยอดขาย revenue หรือ profit จากหลาย items

คำนวณจำนวนสินค้าทั้งหมดจาก inventory

คำนวณจำนวนสินค้าทั้งหมดจาก inventory

รวม score หรือ points จาก multiple sources

รวม score หรือ points จาก multiple sources

Aggregation ของข้อมูลตัวเลขใดๆ ที่ต้องการผลรวม

Aggregation ของข้อมูลตัวเลขใดๆ ที่ต้องการผลรวม

Examples

รวมตัวเลขใน array ธรรมดา
{{ [10, 20, 30, 40].sum() }}
วิธีพื้นฐานที่สุดของ sum() ใช้เมื่อมี array ของตัวเลขพร้อมแล้ว เพียงแค่เรียก .sum() ก็ได้ผลรวมทันที
n8n Formula:

={{ [10, 20, 30, 40].sum() }}

Result:

100

รวมฟิลด์จากทุก items ในหนึ่งเดียว
{{ $input.all().map(item => item.json.amount).sum() }}
Pattern ที่ใช้บ่อยที่สุดใน aggregation workflows: map() ดึงฟิลด์ amount จากทุก items แล้ว sum() รวมยอด เช่นรวมยอดขาย รวมจำนวนสินค้า ใช้ได้กับทุกฟิลด์ตัวเลข
n8n Formula:

={{ $input.all().map(item => item.json.amount).sum() }}

Result:

5000

รวมยอดเฉพาะที่ผ่านเงื่อนไข
{{ $input.all().filter(item => item.json.status === 'paid').map(item => item.json.price).sum() }}
Chain filter → map → sum เพื่อรวมเฉพาะรายการที่ผ่านเงื่อนไข ในตัวอย่างนี้ filter เอาเฉพาะ items ที่ status เป็น 'paid' จากนั้น map ดึง price แล้ว sum รวมยอด
n8n Formula:

={{ $input.all().filter(item => item.json.status === 'paid').map(item => item.json.price).sum() }}

Result:

3500

รวม array ที่เป็น property ของ JSON
{{ $json.sales.sum() }}
ถ้า input JSON มี property เป็น array ของตัวเลขแล้ว เช่น $json.sales = [1500, 2300, 4400] สามารถเรียก sum() ได้โดยตรง ไม่ต้อง map ใช้เมื่อข้อมูลเป็น flat array
n8n Formula:

={{ $json.sales.sum() }}

Result:

8200

FAQs

ถ้า array มีค่าที่ไม่ใช่ตัวเลขจะเกิดอะไรขึ้น?

sum() จะพยายาม parse เป็นตัวเลข string ‘123’ จะกลายเป็น 123 แต่ถ้า parse ไม่ได้จะได้ NaN ควร filter หรือ map เพื่อแปลงเป็นตัวเลขก่อนใช้ sum() เช่น .map(x => Number(x)).sum()

ต่างจาก reduce() อย่างไร?

sum() เป็น shorthand ของ reduce((acc, val) => acc + val, 0) ทำงานเหมือนกันแต่ sum() อ่านง่ายกว่าและชัดเจนว่าต้องการรวมยอด ใช้ sum() เมื่อรวมตัวเลขอย่างเดียว ใช้ reduce เมื่อต้อง custom logic

สามารถใช้กับ empty array ได้ไหม?

ได้ empty array จะ return 0 ซึ่งเป็น identity element ของการบวก ดังนั้นไม่ error และเป็น safe operation ใช้ได้อย่างปลอดภัย

Resources & Related

Additional Notes

sum() เป็น method ของ array ใน n8n ที่ทำหน้าที่รวมตัวเลขทั้งหมดในอาเรย์ ทำงานเหมือน SUM ใน Excel แต่เป็นวิธีการเรียกใช้แบบ method chaining ในโลกของ JavaScript/n8n

ที่เจ๋งคือสามารถ chain กับ method อื่นเช่น map(), filter() ได้อย่างสวยงาม เพื่อ extract และ filter ข้อมูลก่อนรวมยอด เช่น map ดึงแค่ column ที่ต้องการ filter เอาเฉพาะรายการที่เป็น ‘paid’ แล้ว sum ทั้งหมด

ส่วนตัวผมใช้ sum() บ่อยมากใน n8n workflows เพราะมันเป็น built-in method ของ n8n expressions ทำให้การคำนวณยอดรวมเป็นเรื่องง่าย ราคาต่อหน่วยสั้นกระชับ และอ่านง่าย

Leave a Reply

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