ส่งกลับอาร์เรย์ที่สร้างโดยการแมปแต่ละค่าในอาร์เรย์กับค่าใหม่โดยใช้ LAMBDA เพื่อสร้างค่าใหม่
ไวยากรณ์
=MAP (array1, lambda_or_array<#>)
ไวยากรณ์ของฟังก์ชัน MAP มีอาร์กิวเมนต์และพารามิเตอร์ดังนี้:
-
array1 อาร์เรย์ที่จะแมป
-
lambda_or_array<#> LAMBDA ซึ่งจะต้องเป็นอาร์กิวเมนต์สุดท้ายและต้องมีพารามิเตอร์สําหรับแต่ละอาร์เรย์ที่ส่งผ่าน หรืออาร์เรย์อื่นที่จะแมป
ข้อผิดพลาด
การระบุฟังก์ชัน LAMBDA ที่ไม่ถูกต้องหรือจํานวนพารามิเตอร์ไม่ถูกต้องจะส่งกลับ #VALUE! ข้อผิดพลาดที่เรียกว่า "พารามิเตอร์ไม่ถูกต้อง"
ตัวอย่าง
ตัวอย่างที่ 1: ตัวเลขยกกําลังสองเหนือค่าบางค่า
ใส่ข้อมูลตัวอย่างลงในเซลล์ A1:C2 แล้วคัดลอกสูตรลงในเซลล์ D4:
=MAP(A1:C2, LAMBDA(a, IF(a>4,a*a,a)))
ตัวอย่างที่ 2: ค้นหาค่าจากสองคอลัมน์ในหนึ่งแถวที่เป็น TRUE ทั้งคู่
สร้างตารางที่ชื่อ "TableA" ที่มีสองคอลัมน์ที่ชื่อว่า "Col1" และ "Col2" โดยเริ่มต้นในเซลล์ D1 เพิ่มคอลัมน์ที่ชื่อ "BothTrue" ในเซลล์ G1 คัดลอกสูตรลงในเซลล์ G2:
=MAP(TableA[Col1],TableA[Col2],LAMBDA(a,b,AND(a,b)))
ตัวอย่างที่ 3: ค้นหาค่าจากสามคอลัมน์ในหนึ่งแถวที่ตรงกับเกณฑ์ที่กําหนด
สร้างช่วงของข้อมูลตัวอย่างที่มีสองคอลัมน์ที่ชื่อว่า "ขนาด" และ "สี" ในเซลล์ D1:E11 เพิ่มส่วนหัวของคอลัมน์สองคอลัมน์ที่ชื่อ "ขนาดที่ถูกต้อง" และ "สีที่ถูกต้อง" ในเซลล์ F1 และ G1 ตามลําดับ คัดลอกสูตรลงในเซลล์ F2:
=FILTER(D2:E11,MAP(D2:D11,E2:E11,LAMBDA(s,c,AND(s="Large",c="Red"))))