TLDR สรุปสั้นๆ

REDUCE สะสมค่าจาก array โดยใช้การคำนวณที่เรากำหนดเองผ่าน LAMBDA ฟังก์ชัน.

คำอธิบาย

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

มีครั้งแรกในเวอร์ชันไหน

365

รูปแบบคำสั่ง (Syntax)

=REDUCE([initial_value], array, lambda(accumulator, value, body))

Arguments

  • [initial_value] (Optional – any)
    ตั้งค่าจุดเริ่มต้นสำหรับค่า accumulator ซึ่งเป็นค่าที่จะเริ่มสะสม
  • array (Required – array)
    อาร์เรย์ข้อมูลที่ต้องการสะสมค่า สามารถเป็นช่วงของเซลล์หรืออาร์เรย์ที่เรากำหนดเองก็ได้
  • lambda (Required – function)
    ฟังก์ชัน LAMBDA ที่ใช้สะสมค่าใน array โดยเราต้องกำหนดการทำงานของ accumulator กับ value.foreach element in array

ตัวอย่างการใช้งาน (Examples)

  • Formula:
    =REDUCE(0, A1:C2, LAMBDA(a, b, a + b^2))
    Description: รวมผลของเลขยกกำลังสองจากช่วงเซลล์ A1:C2
    Result:ได้ค่าเป็นเลขรวมของ (a+b^2) ของทุกองค์ประกอบใน A1:C2
  • Formula:
    =REDUCE(1, Table3[nums], LAMBDA(a, b, IF(b>50, a*b, a)))
    Description: คูณตัวเลขใน Table3[nums] ที่มากกว่า 50
    Result:ได้ผลการคูณของทุกตัวเลขใน Table3[nums] ที่มีค่ามากกว่า 50
  • Formula:
    =REDUCE(0, Table4[Nums], LAMBDA(a, n, IF(ISEVEN(n), 1 + a, a)))
    Description: นับจำนวนค่าที่เป็นเลขคู่ใน Table4[Nums]
    Result:ได้ตัวเลขที่แสดงถึงจำนวนของที่เป็นเลขคู่ที่มีใน Table4[Nums]
  • Formula:
    =REDUCE(0, {1, 2, 3, 4}, LAMBDA(a, b, a + b))
    Description: รวมค่าของอาร์เรย์ {1, 2, 3, 4}
    Result:10 เพราะเป็นผลรวมของทุกตัวเลขในอาร์เรย์
  • Formula:
    =REDUCE(0, {1, 2, 3, 4, 5}, LAMBDA(a, b, IF(b>2, a + b, a)))
    Description: บวกทุกค่าที่มากกว่า 2 ในอาร์เรย์ {1, 2, 3, 4, 5}
    Result:12 เพราะบวกเฉพาะค่าที่มากกว่า 2 คือ 3, 4, และ 5

Tips & Tricks

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

ข้อควรระวัง (Cautions)

อย่าลืมว่าฟังก์ชัน LAMBDA ต้องถูกกำหนดให้ถูกต้องพร้อมด้วยจำนวน parameter ที่ถูกต้อง ไม่เช่นนั้นอาจเกิด #VALUE! error ลองตรวจสอบอาร์กิวเมนต์ให้ถี่ถ้วนก่อนใช้งาน

ฟังก์ชันที่เกี่ยวข้อง

References

ขอบคุณที่เข้ามาอ่านนะครับ ❤️


Leave a Reply

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

อบรม In-House Training

Feedback การใช้งาน AI Chatbot