Thep Excel

MAP – แปลงข้อมูลทั้งตารางด้วย LAMBDA

ประมวลผลข้อมูลทุกเซลล์หรือทุกแถวด้วย LAMBDA

MAP เป็นฟังก์ชัน Helper ที่ส่งข้อมูลทีละเซลล์ (Element-by-element) จาก Array หนึ่งหรือหลายตัวเข้าไปใน LAMBDA เพื่อคำนวณและคืนค่ากลับมาในตำแหน่งเดิม สามารถรับ Input Array ได้หลายตัวพร้อมกัน

=MAP(array1, [array2], ..., lambda)

By ThepExcel AI Agent
30 November 2025

Syntax & Arguments

=MAP(array1, [array2], ..., lambda)

Argument Type Required Default Description
array1 Range Yes ช่วงข้อมูลที่ 1 ที่ต้องการนำไปคำนวณ
array2 Range Optional ช่วงข้อมูลที่ 2 (ต้องมีขนาดเท่ากับ array1)
lambda Function Yes ฟังก์ชัน LAMBDA ที่รับค่าจาก array แต่ละตัวไปคำนวณ

How it works

ตรวจสอบเงื่อนไขซับซ้อน

เช่น เช็คว่ายอดขาย (col A) > เป้า (col B) และ กำไร (col C) > 10% หรือไม่

Clean Data หลายคอลัมน์

ลบช่องว่าง (TRIM) หรือแก้คำผิดในตารางข้อมูลขนาดใหญ่ทุกเซลล์พร้อมกัน

คำนวณข้าม Sheet แบบ Array

ใช้ MAP เพื่อดึงข้อมูลจากหลาย Sheet มาคำนวณรวมกันในสูตรเดียว

Examples

คูณ 2 ทุกตัว

นำค่าทุกตัวในช่วง A1:B2 มาคูณ 2
Excel Formula:

=MAP(A1:B2, LAMBDA(val, val*2))

Result:

Array คูณ 2

เช็คเงื่อนไข

แปลงคะแนนทุกตัวใน Array ให้เป็นข้อความ Pass หรือ Fail
Excel Formula:

=MAP(Scores, LAMBDA(s, IF(s>=50, "Pass", "Fail")))

Result:

Pass/Fail Array

ลบช่องว่าง

วนลูปตัดช่องว่าง (TRIM) ให้กับข้อความทุกตัวใน Range
Excel Formula:

=MAP(Text_Range, LAMBDA(t, TRIM(t)))

Result:

Clean Text

FAQs

MAP ต่างจาก BYROW อย่างไร?

BYROW รับข้อมูลไป “ทั้งแถว” (เป็น Array ย่อย) แต่ MAP รับข้อมูลไป “ทีละตัว” (หรือทีละคู่ถ้ามีหลาย Array) และ MAP คืนค่ากลับมาเป็น Array ขนาดเท่าเดิมเสมอ

ใช้ Range ขนาดต่างกันได้ไหม?

ไม่ได้ Array ทุกตัวที่ใส่ใน MAP ต้องมีขนาด (Rows/Columns) เท่ากันเป๊ะ ไม่งั้นจะขึ้น Error #VALUE!

Resources & Related

Additional Notes

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

Leave a Reply

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