คูณ 2 ทุกตัว
=MAP(A1:B2, LAMBDA(val, val*2))
Array คูณ 2
ประมวลผลข้อมูลทุกเซลล์หรือทุกแถวด้วย LAMBDA
MAP เป็นฟังก์ชัน Helper ที่ส่งข้อมูลทีละเซลล์ (Element-by-element) จาก Array หนึ่งหรือหลายตัวเข้าไปใน LAMBDA เพื่อคำนวณและคืนค่ากลับมาในตำแหน่งเดิม สามารถรับ Input Array ได้หลายตัวพร้อมกัน
=MAP(array1, [array2], ..., lambda)
=MAP(array1, [array2], ..., lambda)
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| array1 | Range | Yes | ช่วงข้อมูลที่ 1 ที่ต้องการนำไปคำนวณ | |
| array2 | Range | Optional | ช่วงข้อมูลที่ 2 (ต้องมีขนาดเท่ากับ array1) | |
| lambda | Function | Yes | ฟังก์ชัน LAMBDA ที่รับค่าจาก array แต่ละตัวไปคำนวณ |
เช่น เช็คว่ายอดขาย (col A) > เป้า (col B) และ กำไร (col C) > 10% หรือไม่
ลบช่องว่าง (TRIM) หรือแก้คำผิดในตารางข้อมูลขนาดใหญ่ทุกเซลล์พร้อมกัน
ใช้ MAP เพื่อดึงข้อมูลจากหลาย Sheet มาคำนวณรวมกันในสูตรเดียว
=MAP(A1:B2, LAMBDA(val, val*2))
Array คูณ 2
=MAP(Scores, LAMBDA(s, IF(s>=50, "Pass", "Fail")))
Pass/Fail Array
=MAP(Text_Range, LAMBDA(t, TRIM(t)))
Clean Text
BYROW รับข้อมูลไป “ทั้งแถว” (เป็น Array ย่อย) แต่ MAP รับข้อมูลไป “ทีละตัว” (หรือทีละคู่ถ้ามีหลาย Array) และ MAP คืนค่ากลับมาเป็น Array ขนาดเท่าเดิมเสมอ
ไม่ได้ Array ทุกตัวที่ใส่ใน MAP ต้องมีขนาด (Rows/Columns) เท่ากันเป๊ะ ไม่งั้นจะขึ้น Error #VALUE!
ฟังก์ชัน MAP ใช้สำหรับส่งข้อมูลทุกเซลล์ใน Array (หนึ่งหรือหลายช่วง) เข้าไปประมวลผลในฟังก์ชัน LAMBDA ทีละตัว แล้วส่งค่ากลับมาเป็น Array ขนาดเท่าเดิม เหมาะสำหรับงานที่ต้องคำนวณข้อมูลหลายๆ คอลัมน์พร้อมกันแบบ Row-by-Row