ค้นหาเว็บไซต์

5 ตัวอย่างในชีวิตจริงที่ฟังก์ชัน MAP ของ Excel โดดเด่น


หากคุณกำลังใช้ Microsoft Excel 365, 2021 หรือ 2024 คุณจะสามารถเข้าถึงฟังก์ชันอาเรย์ไดนามิก ฟังก์ชันเหล่านี้ช่วยเพิ่มประสิทธิภาพในการทำงานไปอีกขั้นด้วยความสามารถที่เรียกว่า "spill" ซึ่งหมายความว่าฟังก์ชันอาเรย์ไดนามิกเพียงตัวเดียวสามารถส่งค่าหลายค่าออกมาและกระจายไปยังเซลล์ข้างเคียง ทำให้การทำงานกับอาเรย์ซับซ้อนง่ายขึ้น ฟังก์ชันหนึ่งที่ผู้เชี่ยวชาญ Excel ใช้กันอย่างแพร่หลายคือฟังก์ชัน MAP

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

ตรรกะหลายคอลัมน์

ประมวลผลหลายอาร์เรย์ในสูตรเดียว

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

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

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

=MAP(B2:B11, C2:C11, LAMBDA(qty, reorder_point, IF(qty = 0, "OUT", IF(qty <= reorder_point, "LOW", "OK"))))

ลดข้อผิดพลาด

การแก้ไขข้อผิดพลาดก็ง่ายขึ้นเช่นกัน

ฉันเคยจัดการสินค้าคงคลังโดยใช้ Excel มาก่อน และหลายธุรกิจยังคงทำเช่นนั้น ควบคู่ไปกับตัวเลือกอื่น ๆ เช่น Zoho และ QuickBooks วิธีการใช้ Excel มักจะกลายเป็นการกรอกชีตด้วยสูตร IF จำนวนมากหรือพึ่งพาการจัดรูปแบบตามเงื่อนไขเพื่อสัญลักษณ์ทางสายตา แม้ว่าวิธีเหล่านี้จะมีประสิทธิภาพและใช้งานง่ายกว่า แต่ก็ทำให้ชีต Excel เสี่ยงต่อข้อผิดพลาดหลายอย่างและการบำรุงรักษาที่ซับซ้อน

ลองจินตนาการว่าคุณกรอกสูตรต่อไปนี้ในหลายพันแถว

=IF(B2=0, "OUT", IF(B2<=C2, "LOW", "OK"))

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

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

ทำให้สิ่งต่าง ๆ ป้องกันความผิดพลาดได้มากขึ้น

ความงดงามของแลมบาสที่มีชื่อ

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

ต่อเนื่องจากตัวอย่างสต็อกเทียบกับจุดสั่งซื้อ เราสามารถสร้าง LAMBDA ที่มีชื่อว่า CheckStock โดยใช้ Name Manager ของ Excel ในการทำเช่นนี้ ให้เลือกแท็บ สูตร และคลิก กำหนดชื่อ จากนั้นป้อน CheckStock ในช่อง ชื่อ และป้อนสูตรด้านล่างในช่อง อ้างอิงถึง

=LAMBDA(qty, reorder, IF(qty = 0, "OUT", IF(qty <= reorder, "LOW", "OK")))

ตอนนี้ แทนที่จะต้องเขียนสูตรยาวๆ นั้นทุกที่ ฟังก์ชัน MAP จะดูเรียบร้อยและสะอาดตามากขึ้น

=MAP(B2:B100, C2:C100, CheckStock)

การตรวจสอบการคำนวณในสูตร

ฟังก์ชัน MAP ทำให้ทุกอย่างอ่านง่ายขึ้น

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

นี่คือตัวอย่างของฟังก์ชัน MAP ที่คำนวณส่วนลดอย่างง่าย คอลัมน์ B มีราคาสินค้า และคอลัมน์ C มีส่วนลด (เป็นเปอร์เซ็นต์):

=MAP(B2:B5, C2:C5, LAMBDA(price, discount, price * (1-discount)))

สังเกตว่าฟังก์ชัน LAMBDA ทำให้สูตรอ่านเข้าใจง่ายขึ้นอย่างไร หากไม่มีฟังก์ชันนี้ สูตรสำหรับส่วนลดแรกจะดูเข้าใจยากเหมือนรหัสลับ ทำให้ผู้อ่านต้องเดาว่าการอ้างอิงเซลล์หมายถึงอะไร

=B2 * (1-C2)

แม้แต่ส่วนลดแบบหลายระดับก็จะเข้าใจง่ายขึ้นด้วยฟังก์ชัน MAP ใช่ คุณต้องแลกกับความกระชับ แต่ความยืดยาวก็ไม่ใช่เรื่องเสียหายเสมอไปหากบริบทเหมาะสม ใครก็ตามที่ใช้ Excel มาสักระยะสามารถเข้าใจได้ง่าย ๆ ว่าเกิดอะไรขึ้นในสูตรด้านล่าง:

=MAP(A2:A50, LAMBDA(price, IF(price > 100, price * 0.85, price * 0.95)))

การทำความสะอาดข้อมูลขั้นสูง

คุณไม่จำเป็นต้องใช้ตัวเลือกเติมลงเสมอไป

มีงานน่าเบื่อหลายอย่างที่ผู้ใช้ Excel ไม่ชอบ และหนึ่งในงานที่ใหญ่ที่สุดก็คือการทำความสะอาดข้อมูลดิบ การทำความสะอาดข้อมูลมักทำให้ฉันต้องพึ่งคอลัมน์ช่วยเหลือหรือสูตรซ้อนกัน ซึ่งฉันก็ต้องลากลงมาเต็มคอลัมน์ — และฉันก็เกลียดมัน เมื่อข้อมูลเพิ่มขึ้น คุณต้องจำไว้ว่าต้องขยายสูตร ซึ่งถ้าลืมก็อาจทำให้เกิดข้อผิดพลาดได้

ตัวอย่างเช่น สมมติว่าคุณมีรายการสินค้าที่ชื่อมีการใช้ตัวอักษรใหญ่-เล็กไม่สม่ำเสมอและมีช่องว่างนำหน้า ปัญหานี้มักเกิดขึ้นเมื่อข้อมูลมาจากหลายแหล่ง เพื่อทำให้ข้อความเป็นมาตรฐาน คุณสามารถใช้สูตรแบบด้านล่างแล้วก็ลากลงเพื่อใช้กับข้อมูลอื่น ๆ

=PROPER(TRIM(A2))

แต่ปัญหาในที่นี้เกิดจากการกรอกข้อมูลลงไปเองและความเสี่ยงในการที่สูตรจะเสีย ฟังก์ชัน MAP สามารถกำจัดปัญหาเหล่านี้ได้ง่ายๆ และทำให้เวิร์กบุ๊กดูเป็นระเบียบ

=MAP(A2:A1000, LAMBDA(text, PROPER(TRIM(text))))

สิ่งนี้จะกระจายข้อความที่กำหนดไว้ไปยังทั้งช่วงโดยอัตโนมัติ — ไม่จำเป็นต้องลาก

ให้ฟังก์ชัน MAP ทำงานทั้งหมด

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

บทความที่เกี่ยวข้อง