ฟังก์ชัน BYCOL ใน Excel เป็นฟังก์ชันใหม่ที่ใช้สำหรับคำนวณหรือแปลงค่าทีละคอลัมน์ภายในช่วงข้อมูล โดยสามารถระบุฟังก์ชันหรือการคำนวณที่ต้องการทำในแต่ละคอลัมน์ได้อย่างยืดหยุ่น เช่น การหาผลรวม ค่าเฉลี่ย ค่าสูงสุด หรือตรรกะอื่น ๆ
ฟังก์ชันนี้เป็นส่วนหนึ่งของกลุ่มฟังก์ชัน Lambda Helper ซึ่งช่วยให้สามารถประมวลผลข้อมูลแบบไดนามิกตามแนวนอนได้สะดวกขึ้น โดยไม่ต้องเขียนสูตรซ้ำหลายครั้ง
ประโยชน์ของฟังก์ชัน BYCOL ใน Excel
- ลดการเขียนสูตรซ้ำ ๆ ในการประมวลผลหลายคอลัมน์
- คำนวณค่าต่าง ๆ ในแต่ละคอลัมน์ได้อย่างรวดเร็ว
- ใช้งานร่วมกับฟังก์ชัน LAMBDA เพื่อสร้างตรรกะเฉพาะได้
- ช่วยให้การจัดการข้อมูลในแนวตั้งง่ายขึ้นและมีประสิทธิภาพ
รูปแบบการใช้งาน (Syntax)
BYCOL(array, lambda_function)
อาร์กิวเมนต์ที่ใช้ในฟังก์ชัน BYCOL มีดังนี้:
array– ช่วงข้อมูลที่ต้องการคำนวณเป็นคอลัมน์lambda_function– ฟังก์ชัน LAMBDA ที่กำหนดการคำนวณสำหรับแต่ละคอลัมน์ โดยใช้พารามิเตอร์แทนคอลัมน์นั้น
ตัวอย่างการใช้งานทั่วไป
สมมติว่า A1:C4 มีข้อมูลตัวเลข
=BYCOL(A1:C4, LAMBDA(col, SUM(col)))
ผลลัพธ์: ได้ผลรวมของแต่ละคอลัมน์ในช่วง A1:C4 แสดงเป็นแถวเดียว (1 แถว n คอลัมน์)
ตัวอย่างการประยุกต์ใช้งานฟังก์ชัน BYCOL ใน Excel
ตัวอย่างที่ 1: คำนวณผลรวมยอดขายแต่ละเดือน
สมมติมีข้อมูลยอดขายของผลิตภัณฑ์ 3 รายการในช่วงเดือนมกราคมถึงมีนาคม และต้องการผลรวมของแต่ละเดือน
| ผลิตภัณฑ์ | ม.ค. | ก.พ. | มี.ค. |
|---|---|---|---|
| A | 1000 | 1100 | 1200 |
| B | 900 | 950 | 1000 |
| C | 800 | 850 | 900 |
สูตร
=BYCOL(B2:D4, LAMBDA(col, SUM(col)))

B2:D4คือช่วงข้อมูลยอดขายLAMBDA(col, SUM(col))ใช้ SUM คำนวณผลรวมในแต่ละคอลัมน์- ได้ผลลัพธ์: {2700, 2900, 3100}

ตัวอย่างที่ 2: หาค่าเฉลี่ยคะแนนสอบในแต่ละวิชา
สมมตินักเรียน 4 คน สอบใน 3 วิชา และต้องการหาค่าเฉลี่ยของแต่ละวิชา
| ชื่อ | คณิต | วิทย์ | อังกฤษ |
| แนน | 80 | 85 | 75 |
| ตูน | 70 | 80 | 85 |
| เมย์ | 90 | 75 | 80 |
| เคน | 85 | 90 | 88 |
สูตร
=BYCOL(B2:D5, LAMBDA(col, AVERAGE(col)))

- หาค่าเฉลี่ยของแต่ละคอลัมน์
- ผลลัพธ์: {81.25, 82.5, 82}

ตัวอย่างที่ 3: ใช้ฟังก์ชัน BYCOL ใน Excel ตรวจสอบว่ามีค่าว่างในแต่ละคอลัมน์หรือไม่
ต้องการเช็กว่ามีค่าว่าง (ช่องว่าง) อยู่ในคอลัมน์ใดบ้าง
| A | B | C |
| 10 | 30 | |
| 20 | 25 | |
| 40 | 35 |
สูตร
=BYCOL(A1:C3, LAMBDA(col, SUM(--ISBLANK(col))>0))

- ใช้ฟังก์ชัน ISBLANKตรวจสอบแต่ละเซลล์
- แปลง TRUE/FALSE เป็น 1/0 ด้วย
-- - SUM ตรวจสอบว่ามีค่าว่างหรือไม่ในแต่ละคอลัมน์
- ผลลัพธ์: {TRUE, TRUE, TRUE}

ตัวอย่างที่ 4: หาค่าสูงสุดของแต่ละคอลัมน์
ต้องการหาค่าสูงสุดในชุดข้อมูลรายเดือน
| สัปดาห์ | ม.ค. | ก.พ. | มี.ค. |
| 1 | 400 | 420 | 430 |
| 2 | 450 | 460 | 440 |
| 3 | 470 | 480 | 460 |
| 4 | 460 | 470 | 450 |
สูตร
=BYCOL(B2:D5, LAMBDA(col, MAX(col)))

- ใช้ MAX หาค่าสูงสุดในแต่ละคอลัมน์
- ผลลัพธ์: {470, 480, 460}

ตัวอย่างที่ 5: ใช้ฟังก์ชัน BYCOL ใน Excel นับจำนวนค่าที่มากกว่าเกณฑ์ในแต่ละคอลัมน์
ต้องการนับว่านักเรียนในแต่ละวิชา มีคะแนนมากกว่า 80 กี่คน
| ชื่อ | คณิต | วิทย์ | อังกฤษ |
| แนน | 82 | 78 | 90 |
| ตูน | 75 | 85 | 70 |
| เมย์ | 88 | 92 | 84 |
| เคน | 95 | 80 | 88 |
สูตร
=BYCOL(B2:D5, LAMBDA(col, COUNTIF(col, ">80")))

- ใช้ COUNTIF นับคอลัมน์ที่มีค่าเกิน 80
- คำนวณผลลัพธ์ในแต่ละคอลัมน์
- ผลลัพธ์: {3, 2, 3}

หมายเหตุ
- ใช้ได้เฉพาะใน Excel 365 หรือ Excel เวอร์ชันที่รองรับ LAMBDA
- ใช้งานร่วมกับฟังก์ชันอย่าง SUM, AVERAGE, MAX, COUNT, IF ได้ผ่าน LAMBDA
- หาก array มีช่องว่างหรือค่าที่ไม่ใช่ตัวเลข ให้ระวังผลลัพธ์จากการคำนวณ
สรุป
ฟังก์ชัน BYCOL ใน Excel ช่วยให้การคำนวณและวิเคราะห์ข้อมูลแบบรายคอลัมน์สะดวกและยืดหยุ่นมากขึ้น โดยเฉพาะเมื่อทำงานกับข้อมูลจำนวนมากหรือสร้างสูตรซ้ำ ๆ การใช้ร่วมกับฟังก์ชัน LAMBDA ทำให้สามารถออกแบบการคำนวณที่เฉพาะเจาะจงได้อย่างง่ายดาย
ข้อมูลอ้างอิง: BYCOL Function
