Thep Excel

19 functions

AND ตรวจสอบเงื่อนไขได้สูงสุด 255 เงื่อนไข โดยจะคืนค่า TRUE ก็ต่อเมื่อ Logical ทุกตัว (logical1, logical2,…) ให้ผลเป็น TRUE ทั้งหมด.เรียกได้ว่าเป็นแบบ 'เข้มงวด' ที่ต้องผ่านทุกข้อถึงจะได้ TRUE ครับ ถ้าสักข้อเดียวเป็น FALSE… จบเลย 😅

Syntax
=AND(logical1, [logical2], ...)

BYCOL ส่งแต่ละคอลัมน์ทั้งคอลัมน์เข้า LAMBDA แล้ว return ผลลัพธ์เป็น Array แถวเดียว ต่างจาก MAP ที่ส่งทีละเซลล์ และ BYROW ที่ส่งทีละแถว ทำให้สามารถคำนวณ SUM, MAX, AVERAGE ของทุกคอลัมน์พร้อมกันในสูตรเดียว แทนที่จะต้องเขียนสูตรซ้ำหลายครั้ง ซึ่งช่วยลดโอกาสเกิดข้อผิดพลาดและทำให้แก้ไข logic ได้ง่ายกว่ามาก เหมาะสำหรับงาน dashboard summary, quality checking และการวิเคราตลัพธ์ทีละคอลัมน์แบบเป็นระบบ

Syntax
=BYCOL(array, lambda)

BYROW เป็น LAMBDA Helper Function ที่ประมวลผลข้อมูลทีละแถว โดยส่งแต่ละแถวทั้งหมด (เป็น array) เข้าไปใน LAMBDA แล้ว return ผลลัพธ์เป็นคอลัมน์เดียว ที่เจ๋งคือ BYROW รองรับทั้ง short-form syntax (=BYROW(array, SUM)) สำหรับการ aggregate ง่ายๆ และ custom LAMBDA สำหรับ logic ซับซ้อนที่ต้องตรวจสอบหลายคอลัมน์พร้อมกัน เช่น ตรวจว่านักเรียนผ่านทุกวิชา (MIN>=50) หรือรวมข้อความหลายคอลัมน์ด้วย TEXTJOIN ต่างจาก MAP ที่ทำงานทีละ cell และ BYCOL ที่ทำงานทีละคอลัมน์ BYROW ทำให้คุณเขียน logic ครั้งเดียว แล้วประมวลผลทุกแถวพร้อมกันทันที

Syntax
=BYROW(array, lambda)

FALSE คืนค่าตรรกะ Boolean FALSE โดยตรง ซึ่งมีค่าเท่ากับ 0 ในการคำนวณทางคณิตศาสตร์.ที่เจ๋งคือทำให้สามารถนำไปใช้กับฟังก์ชันคำนวณได้โดยตรงโดยไม่ต้องแปลง มักใช้ร่วมกับ IF AND OR NOT และ IFERROR เพื่อควบคุม logic ของสูตรเงื่อนไข.ใน Excel คุณสามารถพิมพ์ FALSE โดยตรง (ไม่มีวงเล็บ) หรือเรียกเป็นฟังก์ชัน FALSE() ก็ได้ ผลลัพธ์เหมือนกันทุกประการ

Syntax
=FALSE()

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

Syntax
=IF(logical_test, value_if_true, [value_if_false])

IFERROR ช่วยดักจับ Error ทุกประเภทที่เกิดขึ้นในสูตร (#N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME?, #NULL!) แล้วเปลี่ยนเป็นค่าที่เราต้องการแทน.ที่เจ๋งคือมันช่วยให้รายงานและ Dashboard ดูสะอาด ไม่มี Error แสดงให้ผู้ใช้งานเห็น โดยถ้าสูตรไม่มี Error ก็จะ return ผลลัพธ์ปกติ.ส่วนตัวผมคิดว่าฟังก์ชันนี้เป็น "ตัวช่วยมหาเทพ" สำหรับคนทำรายงานเลยครับ 😎

Syntax
=IFERROR(value, value_if_error)

IFNA เป็นฟังก์ชันที่ช่วยจัดการ #N/A errors โดยแทนค่าเป็นข้อความหรือค่าอื่นที่คุณกำหนด เหมาะสำหรับการค้นหาข้อมูลที่อาจไม่พบผลลัพธ์

Syntax
=IFNA(value, value_if_na)

IFS ทดสอบหลายเงื่อนไขตามลำดับที่กำหนด และคืนค่าของเงื่อนไขแรกที่เป็น TRUE แล้วหยุดทำงานทันที โครงสร้างเป็นคู่ (เงื่อนไข, ผลลัพธ์) ซ้ำได้สูงสุด 127 คู่ ทำให้อ่านและเขียนง่ายกว่า Nested IF แบบซ้อนชั้น ควรใส่ TRUE เป็นเงื่อนไขสุดท้ายเพื่อกำหนดค่า default ป้องกัน #N/A error มีตั้งแต่ Excel 2019 และ Microsoft 365 เท่านั้น

Syntax
=IFS(logical_test1, value_if_true1, [logical_test2, value_if_true2], ...)

LAMBDA สร้าง custom function ที่ใช้ซ้ำได้โดยไม่ต้องเขียน VBA กำหนด parameter และ calculation แล้วบันทึกผ่าน Name Manager (Ctrl+F3) ด้วยชื่อที่จดจำง่าย เรียกใช้เหมือนฟังก์ชันมาตรฐาน สูตรอยู่ที่เดียว แก้ไขที่เดียวมีผลทั้ง workbook ใช้ร่วมกับ helper functions (MAP, REDUCE, SCAN, BYROW, BYCOL, MAKEARRAY) สร้างสูตร dynamic array ขั้นสูงได้ รองรับ recursive LAMBDA เรียกตัวเองซ้ำจนถึงเงื่อนไข แทนที่สูตรยาวๆ ด้วย custom function ที่อ่านง่าย

Syntax
=LAMBDA([parameter1, parameter2, ...], calculation)

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

Syntax
=LET(name1, value1, [name2, value2, ...], calculation)

MAKEARRAY สร้าง Dynamic Array ตามขนาดที่กำหนด (rows × cols) โดยใช้ LAMBDA function คำนวณค่าในแต่ละเซลล์ตามตำแหน่ง row และ column index (เริ่มที่ 1) ต่างจาก SEQUENCE ที่สร้างเฉพาะตัวเลขเรียงลำดับ MAKEARRAY สามารถสร้างข้อมูลได้หลากหลายรูปแบบตามการคำนวณที่กำหนดใน LAMBDA เช่น ตารางสูตรคูณ matrix ทางคณิตศาสตร์ pattern ข้อความ หรือค่าสุ่ม เหมาะสำหรับสร้าง dataset ขนาดใหญ่ที่มีรูปแบบเฉพาะ หรือ lookup table แบบ dynamic โดย LAMBDA จะถูกเรียกทำงานสำหรับทุกเซลล์ใน array ผลลัพธ์ ทำให้สร้างข้อมูลจำนวนมากได้อย่างรวดเร็วด้วยสูตรเดียว

Syntax
=MAKEARRAY(rows, cols, lambda)

MAP ส่งค่าทีละ element จาก Array หนึ่งหรือหลายตัวเข้าไปประมวลผลใน LAMBDA แล้วคืน Array ผลลัพธ์ที่มีขนาดเท่ากับ input array ต้นฉบับ เหมาะสำหรับ element-wise operations เช่น การแปลงค่าทุกตัว การตรวจสอบเงื่อนไขทีละเซลล์ หรือการคำนวณจากหลาย Array พร้อมกัน ต่างจาก BYROW/BYCOL ที่ส่งทั้งแถวหรือทั้งคอลัมน์ MAP จะส่งเฉพาะค่าเดี่ยวๆ ทีละตำแหน่ง

Syntax
=MAP(array1, [array2, ...], lambda)

NOT ใช้เปลี่ยนค่าตรรกะจาก TRUE เป็น FALSE และจาก FALSE เป็น TRUE มีประโยชน์อย่างมากในการสร้างเงื่อนไขเชิงปฏิเสธ (Negative Condition) ในสูตรที่ต้องการตรวจสอบว่า 'ไม่ใช่' หรือ 'ไม่เท่ากับ' ค่าบางอย่าง เช่น NOT(ISBLANK()) เพื่อตรวจสอบว่าเซลล์นั้น 'ไม่ว่างเปล่า'

Syntax
=NOT(logical)

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

Syntax
=OR(logical1, [logical2], ...)

REDUCE เป็นฟังก์ชัน Helper ที่ทำงานร่วมกับ LAMBDA เพื่อวนลูปประมวลผลข้อมูลใน Array โดยรับค่าเริ่มต้น (initial_value) และส่งค่าเข้า LAMBDA ทีละ element เพื่อคำนวณค่าสะสม (accumulator) ที่สืบเนื่องจากรอบก่อนหน้า แล้ว return ผลลัพธ์สุดท้ายเพียงค่าเดียว ต่างจาก SCAN ที่ return Array ของทุกขั้นตอน REDUCE เหมาะสำหรับการสร้าง custom aggregation ที่ซับซ้อนกว่าฟังก์ชันมาตรฐาน

Syntax
=REDUCE([initial_value], array, lambda)

SCAN วนลูปผ่าน array โดยใช้ LAMBDA function คำนวณค่าสะสม (accumulator) และ return array ที่แสดงค่าสะสมในทุกขั้นตอนของการคำนวณ ต่างจาก REDUCE ที่ return เฉพาะค่าสุดท้าย SCAN เหมาะสำหรับ Running Total, Running Maximum/Minimum, การคำนวณดอกเบี้ยทบต้น หรือการแสดงผลลัพธ์แบบต่อเนื่องที่ต้องการเห็นทุกขั้นตอนของการเปลี่ยนแปลง ใช้งานได้ใน Excel 365 และ Excel 2024

Syntax
=SCAN([initial_value], array, lambda)

SWITCH ประเมินนิพจน์หรือค่าหนึ่งค่า แล้วเปรียบเทียบกับรายการค่าที่กำหนดตามลำดับ เมื่อพบค่าที่ตรงกันจะส่งคืนผลลัพธ์ที่เชื่อมโยงทันที หากไม่ตรงกับค่าใดเลยสามารถกำหนด default value ได้ เหมาะสำหรับแทนที่ nested IF หลายชั้นด้วยไวยากรณ์ที่อ่านง่ายกว่ามาก

Syntax
=SWITCH(expression, value1, result1, [value2, result2], ..., [default])

TRUE คืนค่าบูลีน TRUE ซึ่งมีค่าตัวเลขเท่ากับ 1 ใช้เป็น fundamental building block ในการสร้าง logical formulas ร่วมกับ IF, AND, OR, NOT.ใน Excel สมัยใหม่สามารถพิมพ์ TRUE โดยตรงได้โดยไม่ต้องใช้ =TRUE() ทั้งสองวิธีให้ผลเหมือนกัน.ที่เจ๋งคือฟังก์ชันนี้มีประโยชน์สำหรับการนับจำนวนเงื่อนไขที่เป็นจริง การแปลง Boolean เป็นตัวเลข และการสร้าง formula switches นะครับ

Syntax
=TRUE()