หน้าแรก บทความ Microsoft
Microsoft

MAP, REDUCE, SCAN ใน Excel ใช้ฟังก์ชันคำนวณกับข้อมูลทีละตัว

เผยแพร่ 15 ส.ค. 69

บางโจทย์ต้องคำนวณค่าทีละเซลล์ด้วยสูตรเดียวกัน แล้วรวมผลลัพธ์ทั้งหมดเข้าด้วยกัน เช่น คำนวณราคาหลังภาษีของสินค้าทุกแถวพร้อมกัน MAP, REDUCE และ SCAN คือกลุ่มฟังก์ชันที่ใช้ร่วมกับ LAMBDA เพื่อคำนวณข้อมูลทีละตัวในช่วงเซลล์แบบอัตโนมัติ โดยไม่ต้องเขียนสูตรซ้ำทีละเซลล์เอง

ความแตกต่างของทั้ง 3 ฟังก์ชัน

ฟังก์ชัน ทำอะไร
MAP คำนวณค่าใหม่ให้ทุกเซลล์ในช่วง ได้ผลลัพธ์เป็นช่วงข้อมูลขนาดเท่าเดิม
REDUCE คำนวณสะสมค่าทั้งช่วงจนเหลือผลลัพธ์เดียว (เช่น ผลรวม)
SCAN คำนวณสะสมค่าเหมือน REDUCE แต่เก็บผลลัพธ์ระหว่างทางทุกขั้นตอนไว้ด้วย

ตัวอย่าง MAP

B1fx=MAP(A1:A3,LAMBDA(x,x*1.07))
A B
1 100 107
2 200 214
3 300 321

สูตรนี้คำนวณราคาหลัง VAT 7% ให้ทุกแถวพร้อมกันในสูตรเดียว โดย LAMBDA กำหนดสูตรที่ใช้กับแต่ละค่า (x) คือ “คูณ 1.07” แล้ว MAP ก็นำสูตรนี้ไปใช้กับทุกเซลล์ในช่วง A1:A3

ตัวอย่าง REDUCE

C1fx=REDUCE(0,A1:A3,LAMBDA(รวม,x,รวม+x))
A C
1 100 600
2 200
3 300

เริ่มจาก 0 แล้วบวกค่าแต่ละเซลล์เข้าไปสะสมเรื่อยๆ จนได้ผลรวมสุดท้าย 600 (ทำงานคล้าย SUM แต่ปรับตรรกะการสะสมได้อิสระกว่า เช่น เปลี่ยนเป็นคูณสะสมแทนบวกก็ได้)

ข้อควรรู้

ข้อควรรู้ รายละเอียด
ต้องใช้ Excel รุ่นไหน ใช้ได้กับ Microsoft 365 ที่อัปเดตล่าสุด
ต้องเข้าใจ LAMBDA ก่อน ทั้ง 3 ฟังก์ชันต้องใช้ร่วมกับ LAMBDA เสมอ ควรทำความเข้าใจ LAMBDA พื้นฐานก่อน
เหมาะกับโจทย์แบบไหน โจทย์ที่ต้องคำนวณซับซ้อนกว่าสูตรสำเร็จรูปทั่วไปรองรับ

สรุป

MAP, REDUCE และ SCAN เหมาะกับผู้ใช้ที่คุ้นกับ LAMBDA แล้วและต้องการคำนวณข้อมูลทีละตัวแบบยืดหยุ่นกว่าฟังก์ชันสำเร็จรูป ถ้ายังไม่เคยใช้ LAMBDA มาก่อน แนะนำอ่านพื้นฐานก่อนที่ LAMBDA ใน Excel สร้างฟังก์ชันของตัวเองใช้ซ้ำได้

หมายเหตุ: บทความนี้เขียนและเรียบเรียงโดย AI

← กลับหน้าบทความ
Line