ฟังก์ชัน MAP ใน Excel

ฟังก์ชัน MAP ใน Excel เป็นฟังก์ชันที่ใช้งานร่วมกับ LAMBDA สำหรับประมวลผลข้อมูลในหลายอาร์เรย์ (arrays) พร้อมกัน โดยจะนำค่าจากแต่ละอาร์เรย์ในตำแหน่งเดียวกัน (เช่น แถวที่ 1) มาผ่านฟังก์ชัน LAMBDA ที่เรากำหนด แล้วคืนค่าเป็นอาร์เรย์ใหม่ที่มีขนาดเท่ากับข้อมูลต้นทาง

ฟังก์ชัน MAP ช่วยให้สามารถทำงานกับชุดข้อมูลหลายชุดในรูปแบบ dynamic array โดยไม่ต้องเขียนสูตรซ้ำหลายจุด เหมาะสำหรับการประมวลผลแบบกำหนดเอง เช่น การรวมข้อความจากหลายคอลัมน์ การคำนวณแบบมีเงื่อนไข หรือการเปลี่ยนรูปแบบข้อมูล

ประโยชน์ของฟังก์ชัน MAP ใน Excel

  • ใช้ประมวลผลอาร์เรย์หลายชุดพร้อมกัน
  • ลดการใช้สูตรซ้ำ และไม่ต้องใช้การคัดลอกสูตรลงหลายเซลล์
  • ประหยัดเวลาในการจัดรูปแบบข้อมูลหรือคำนวณตามเงื่อนไขที่ซับซ้อน
  • ใช้งานร่วมกับ LAMBDA ได้อย่างยืดหยุ่น
  • ผลลัพธ์สามารถจัดการแบบ dynamic array ได้โดยตรง

รูปแบบการใช้งาน (Syntax)

MAP(array1, [array2], ..., LAMBDA(x1, [x2], ..., calculation))

อาร์กิวเมนต์ที่ใช้ในฟังก์ชัน MAP มีดังนี้:

  • array1, array2, … – ข้อมูลที่ต้องการนำมาใช้ประมวลผล (อย่างน้อย 1 ชุด)
  • LAMBDA(x1, x2, ...) – สูตรที่รับค่าจากแต่ละอาร์เรย์ในตำแหน่งเดียวกัน แล้วประมวลผล
  • calculation – คำสั่งที่กำหนดการคำนวณหรือจัดรูปแบบผลลัพธ์

ตัวอย่าง: MAP({1,2,3},{4,5,6},LAMBDA(x,y,x+y)) จะได้ {5,7,9}

ตัวอย่างการประยุกต์ใช้งานฟังก์ชัน MAP ใน Excel

ตัวอย่างที่ 1: รวมชื่อและนามสกุลในแต่ละแถว

สมมติมีชื่อและนามสกุลอยู่ในสองคอลัมน์ ต้องการรวมให้เป็นชื่อเต็มในคอลัมน์ใหม่

ชื่อนามสกุล
สมชายใจดี
สมศรีใจเด็ด
สำเร็จใจกล้า
สุดาใจแกร่ง
แสวงใจงาม
ศรรามใจป้ำ

สูตร:

=MAP(A2:A7, B2:B7, LAMBDA(first, last, first & " " & last))
ใช้ฟังก์ชัน MAP ใน Excel รวมชื่อและนามสกุลในแต่ละแถว
  • first: ค่าจากคอลัมน์ชื่อ
  • last: ค่าจากคอลัมน์นามสกุล
  • ผลลัพธ์: จะได้ชื่อ เว้นวรรค ตามด้วยนามสกุล

ผลลัพธ์

ตัวอย่างที่ 1: รวมชื่อและนามสกุลในแต่ละแถว

ตัวอย่างที่ 2: ใช้ฟังก์ชัน MAP ใน Excel คำนวณราคาสินค้าหลังหักส่วนลด

สมมติต้องการหายอดเงินหลังหักส่วนลดของสินค้าแต่ละรายการ

ราคาเต็มส่วนลด (%)
100010
5005
4004
3503
12558
467815

สูตร:

=MAP(A2:A7, B2:B7, LAMBDA(price, discount, price * (1 - discount / 100)))
ใช้ฟังก์ชัน MAP ใน Excel คำนวณราคาสินค้าหลังหักส่วนลด
  • price: ราคาสินค้าเต็ม
  • discount: เปอร์เซ็นต์ส่วนลด
  • คำนวณราคาหลังลดราคา: price × (1 – discount / 100)

ผลลัพธ์

ตัวอย่างที่ 2: คำนวณราคาสินค้าหลังหักส่วนลด

ตัวอย่างที่ 3: สร้างข้อความแสดงผลลัพธ์คะแนนสอบ

สมมติต้องการแสดงข้อความ “ผ่าน/ไม่ผ่าน” ตามคะแนน

ชื่อคะแนน
แคน72
แจน58
แมน50
แดน49
แผน80
แอน95

สูตร:

=MAP(B2:B7, LAMBDA(score, IF(score >= 60, "ผ่าน", "ไม่ผ่าน")))
ใช้ฟังก์ชัน MAP ใน Excel แสดงผลสอบจากคะแนน
  • score: คะแนนในแต่ละแถว
  • ตรวจสอบว่า score >= 60 หรือไม่
  • คืนข้อความตามเงื่อนไขที่กำหนด

ผลลัพธ์

ตัวอย่างที่ 3: สร้างข้อความแสดงผลลัพธ์คะแนนสอบ

ตัวอย่างที่ 4: ใช้ฟังก์ชัน MAP ใน Excel รวมค่าจาก 3 คอลัมน์เป็นข้อความเดียว

สมมติต้องการรวมหมายเลขอาคาร, ชั้น, ห้อง เพื่อแสดงตำแหน่ง

อาคารชั้นห้อง
A2105
B4402
C5422
D1124
E8325
F3246
G2384

สูตร:

=MAP(A2:A8, B2:B8, C2:C8, LAMBDA(a, f, r, "อาคาร "&a&" ชั้น "&f&" ห้อง "&r))
ใช้ฟังก์ชัน MAP ใน Excel รวมค่าจาก 3 คอลัมน์เป็นข้อความเดียว
  • a: อาคาร, f: ชั้น, r: ห้อง
  • รวมข้อความเพื่อแสดงตำแหน่ง เช่น “อาคาร A ชั้น 2 ห้อง 105”

ผลลัพธ์

ตัวอย่างที่ 4: รวมค่าจาก 3 คอลัมน์เป็นข้อความเดียว

ตัวอย่างที่ 5: เปลี่ยนเลขเป็นข้อความระดับคะแนน

สมมติต้องการเปลี่ยนคะแนนสอบเป็นข้อความแสดงระดับ เช่น “ดีมาก”, “พอใช้”

คะแนน
85
68
55
98
48

สูตร:

=MAP(A2:A6, LAMBDA(score, IF(score >= 80, "ดีมาก", IF(score >= 60, "พอใช้", "ควรปรับปรุง"))))
ใช้ฟังก์ชัน MAP ใน Excel เปลี่ยนเลขเป็นข้อความระดับคะแนน
  • score: คะแนนที่ตรวจสอบแต่ละแถว
  • กำหนดเงื่อนไขซ้อน IF เพื่อแปลงคะแนนเป็นข้อความระดับ

ผลลัพธ์

ตัวอย่างที่ 5: เปลี่ยนเลขเป็นข้อความระดับคะแนน

หมายเหตุ

  • ฟังก์ชัน MAP ต้องใช้ใน Excel 365 หรือ Excel 2021 ขึ้นไปเท่านั้น
  • จำเป็นต้องมี ฟังก์ชัน LAMBDA เสมอ เพื่อกำหนดการประมวลผลในแต่ละตำแหน่ง
  • MAP จะทำงานได้ดีที่สุดเมื่อความยาวของอาร์เรย์เท่ากันในชุดข้อมูลแต่ละชุด

สรุป

ฟังก์ชัน MAP ใน Excel ช่วยให้เราสามารถจัดการกับข้อมูลจากหลายคอลัมน์หรือหลายอาร์เรย์ได้อย่างยืดหยุ่นในรูปแบบ dynamic array โดยสามารถใช้ LAMBDA เพื่อปรับแต่งผลลัพธ์ในแต่ละตำแหน่งของข้อมูลตามที่ต้องการ ฟังก์ชันนี้เหมาะสำหรับการประมวลผลซ้ำ ๆ ที่มีรูปแบบกำหนดแน่นอน ช่วยลดความซับซ้อนและทำให้สูตรอ่านง่ายขึ้น

ข้อมูลอ้างอิง: MAP function

แชร์เรื่องนี้