---
title: Logic Function สิ่งสำคัญที่คุณต้องเชี่ยวชาญให้ได้
url: https://www.thepexcel.com/important-function/
type: post
date: 2015-04-03
updated: 2020-03-30
author: Sira Ekabut
categories: [Excel ทั่วไป]
tags: [AND, OR, logic, IF]
---

# Logic Function สิ่งสำคัญที่คุณต้องเชี่ยวชาญให้ได้

> บทความนี้คือส่วนหนึ่งของโครงการ ร่วมสร้าง “หนังสือคู่มือ Excel ที่เจ๋งที่สุด” ใครที่มี comment เพื่อแนะนำ ปรับปรุงหนังสือได้ คุณจะได้เครดิตในฐานะผู้ร่วมเขียน ลงในหนังสือที่จะพิมพ์จริงๆ ด้วย! อ่านรายละเอียด และดูสารบัญหนังสือ คลิ๊กที่นี่ ในส่วนนี้จะปูพื้นฐานฟังก์ชั่นที่จำเป็นมากๆ ต่อการใช้งานส่วนใหญ่ในชีวิตจริง ทั้งใช้ในการเขียนสูตรปกติ และใช้ในเครื่องมืออื่นๆ ของ Excel เช่น Conditional Formatting,...

[![co-create](https://www.thepexcel.com/wp-content/uploads/2015/04/co-create-150x150.png)](https://www.thepexcel.com/book-co-creation/)

บทความนี้คือส่วนหนึ่งของโครงการ **[ร่วมสร้าง “หนังสือคู่มือ Excel ที่เจ๋งที่สุด”](https://www.thepexcel.com/book-co-creation/) **ใครที่มี comment เพื่อแนะนำ ปรับปรุงหนังสือได้ **คุณจะได้เครดิตในฐานะผู้ร่วมเขียน **ลงในหนังสือที่จะพิมพ์จริงๆ ด้วย! [อ่านรายละเอียด และดูสารบัญหนังสือ คลิ๊กที่นี่](https://www.thepexcel.com/book-co-creation/)

 

---

 

ในส่วนนี้จะปูพื้นฐานฟังก์ชั่นที่จำเป็นมากๆ ต่อการใช้งานส่วนใหญ่ในชีวิตจริง ทั้งใช้ในการเขียนสูตรปกติ และใช้ในเครื่องมืออื่นๆ ของ Excel เช่น Conditional Formatting, Advanced Filter เป็นต้น

 

## ฟังก์ชั่นที่ใช้ในการคำนวณสรุปผล

 

การ “สรุปผล” จากข้อมูลจำนวนมาก สามารถทำได้หลากหลายวิธี เช่น หาผลรวม (SUM) , หาค่ามากที่สุด (MAX), ค่าน้อยที่สุด (MIN), หาค่ากลางของข้อมูล ซึ่งมีหลายประเภท เช่น ค่าเฉลี่ย(AVERAGE) ฐานนิยม (MODE) มัธยฐาน(MEDIAN), หาค่าการกระจายตัวของข้อมูล ซึ่งก็มีหลายประเภทอีกเช่นกัน เช่น ค่าพิสัย, ค่าเบี่ยงเบนมาตรฐาน

 

### การสรุปผลแบบ Basic

 

[![table1-fix](https://www.thepexcel.com/wp-content/uploads/2015/04/table1-fix.png)](https://www.thepexcel.com/wp-content/uploads/2015/04/table1-fix.png)

 

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

 

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

 
- **Mean **(ค่าเฉลี่ยเลขคณิต)=AVERAGE 
    - เป็นค่ากลางที่นิยมที่สุด คำนวณโดยเอาข้อมูลทุกค่าบวกกันแล้วหารด้วยจำนวนข้อมูล  
       เช่น = AVERAGE(A1:A5) มันจะเอา (A1+A2+A3+A4+A5)/5
    - ถ้ามีค่ามากหรือน้อยผิดปกติอาจจะดึงค่า MEAN ไปในทิศทางนั้นๆ อาจให้ผลไม่ดีได้
- **Mode **(ฐานนิยม) = MODE 
    - เป็นการวัดค่ากลาง โดยจะแสดงข้อมูลที่เกิดขึ้นบ่อยที่สุด (มีความถี่สูงสุด)
- **Median **(มัธยฐาน)= MEDIAN 
    - เป็นการวัดค่ากลาง โดยจะนำค่ามากเรียงกันจากน้อยไปมาก แล้วดูตำแหน่งตรงกลาง
    - **สามารถใช้ได้แม้กับข้อมูลที่มีค่าที่มากหรือน้อยผิดปกติ** เพราะค่าเหล่านั้นจะไม่ส่งผลใดๆ ต่อการคำนวณเนื่องจากจะถูกเรียงลำดับอยู่ที่หัวและท้าย
    - มีฟังก์ชั่นคล้ายๆ กัน คือ QUARTILE (ควอไทล์) และ PERCENTILE (เปอร์เซ็นต์ไทล์) ซึ่ง Concept คล้ายกัน แต่จะแบ่งช่วงข้อมูลต่างกัน

 

### การหาค่าการกระจายของข้อมูล

 

เราวัดการกระจายของข้อมูล เพื่อดูว่าข้อมูลแต่ละตัวกระจายกันหรือห่างกันมากแค่ไหน กลุ่มข้อมูลที่กระจายกันมากๆ ค่ากลางหรือตัวแทนของข้อมูลอาจจะไม่ได้ใกล้เคียงกับข้อมูลบางตัวก็ได้

 

เช่น เรามีกลุ่มข้อมูล 2 กลุ่ม มีค่าเฉลี่ยเท่ากัน คือ 70 แต่กลุ่มแรกมีการกระจายตัวน้อย (ข้อมูลมีการเกาะกลุ่มอยู่ที่ใกล้ๆ 70) อีกกลุ่มมีการกระจายตัวมาก เช่น อาจกระจาย 40-100 เลยก็ได้

 

การวัดการกระจายตัวที่นิยม มีอยู่ 3 แบบ คือ

 
- **Range **(พิสัย) คือการหาผลต่างของค่าสูงสุดและค่าต่ำสุดของข้อมูลนั้น 
    - ดังนั้นสามารถใช้สูตร MAX มาลบด้วย MIN ได้ เช่น =MAX(A1:A10)-MIN(A1:A10)
    - ข้อมูลที่ได้จะค่อนข้างหยาบ เพราะใช้ข้อมูลแค่ 2 ตัวคือ ค่าสูงสุดและต่ำสุดเท่านั้น
- **Standard Deviation** (ส่วนเบี่ยงเบนมาตรฐาน) เป็นการวัดการกระจายที่มีความนิยมมากที่สุด หลักการคล้ายๆ การหาค่าเฉลี่ยของระยะห่างระหว่างข้อมูลแต่ละตัวกับค่าเฉลี่ยเลขคณิต 
    - STDEV หรือ S ใช้กับข้อมูลที่เป็นกลุ่มตัวอย่าง (S=Sample) และ
    - STDEVP หรือ P เอาไว้ใช้กับข้อมูลทั้งหมด (P=Populations)

  

## ฟังก์ชั่นกลุ่มตรรกศาสตร์ TRUE/FALSE (จริง/เท็จ)

 

เรื่องของตรรกะ (การใช้เหตุผล) เป็นสิ่งที่หลายๆ คนคิดว่าคงได้เจอแค่ในวิชาคณิตศาสตร์ แต่ความจริงแล้วใน Excel ก็มีหลายครั้งที่เราจะต้องใช้ฟังก์ชั่นตรรกศาสตร์มาช่วย โดยเฉพาะในเครื่องมือต่างๆ มักจะต้องใส่สูตรที่เป็นตรรกะเข้าไปทั้งสิ้น ดังนั้นเรามาทวนความรู้ตรรกศาสตร์พื้นฐานกันดีกว่าครับ

 

ก่อนอื่นต้องบอกว่า ในฟังก์ชั่นทางตรรกศาสตร์ของ Excel นั้น จะ**ใช้กับเนื้อหาหรือ ****Input ที่ให้ผลเป็น TRUE/FALSE (จริง/เท็จ) ได้อย่างใดอย่างหนึ่งเท่านั้น** (วิชาตรรกศาสตร์เรียกสิ่งนี้ว่า Propositions หรือ ประพจน์ แต่ช่างมันเหอะ ไม่ต้องไปสนใจศัพท์ยากๆ นั่นหรอกครับ)

 

ดังนั้นเราต้องแยกให้ออกก่อน ระหว่างสิ่งที่ให้ผลเป็น TRUE/FALSE ได้ กับอะไรที่ไม่สามารถให้คำตอบแบบนั้นได้ ดังตัวอย่างต่อไปนี้

 

**ตัวอย่าง : ให้ผลเป็น TRUE/FALSE อย่างใดอย่างหนึ่งเท่านั้น **

 

**สังเกตว่าจะต้องมีเครื่องหมายเปรียบเทียบ (COMPARISON OPERATOR) อยู่ด้วย** เพื่อทำให้ค่าออกมาเป็น TRUE หรือ FALSE เช่น = เท่ากับ, < น้อยกว่า, > มากกว่า, <> ไม่เท่ากับ, >= มากกว่าหรือเท่ากับ, <= น้อยกว่าหรือเท่ากับ

 

**

[![table2](https://www.thepexcel.com/wp-content/uploads/2015/04/table2.png)](https://www.thepexcel.com/wp-content/uploads/2015/04/table2.png)

  
 ตัวอย่าง : ไม่สามารถให้ผลเป็น TRUE/FALSE หรือเป็นเรื่องที่ขึ้นอยู่กับผู้มอง (Subjective)**

 

[![table3](https://www.thepexcel.com/wp-content/uploads/2015/04/table3.png)](https://www.thepexcel.com/wp-content/uploads/2015/04/table3.png)

 

### การคำนวณเกี่ยวกับ ค่า TRUE/FALSE

 

เมื่อเรารู้ Input แต่ละตัวแล้วว่าสามารถออกผลเป็น TRUE หรือ FALSE ได้ เราก็สามารถเอา input แต่ละตัวมาเชื่อมกันได้ด้วยฟังก์ชั่นทางตรรกศาสตร์ เพื่อดูว่าเมื่อ Input รวมกันทุกอันแล้ว ผลลัพธ์สุดท้ายจะเป็นค่า TRUE หรือ FALSE เพื่อนำไปใช้กับฟังก์ชั่นอื่นๆ เช่น IF หรือใช้ในเครื่องมืออื่นๆ เช่น Conditional Formatting, Data Validation ต่อไป

 

แม้ว่าในวิชาตรรกศาสตร์จะมีตัวเชื่อมอยู่มากมาย เช่น 

[![logic-sign](https://www.thepexcel.com/wp-content/uploads/2015/04/logic-sign.png)](https://www.thepexcel.com/wp-content/uploads/2015/04/logic-sign.png)

 

แต่ว่าใน Excel เราจะมีแค่ 3 แบบ ที่เป็นรูปแบบพื้นฐานที่สุดเท่านั้น คือ

 

#### ~(นิเสธ) แทนด้วย ฟังก์ชั่น NOT :

 

กลับจริงเป็นเท็จ เท็จเป็นจริง

 

|   |   |
| --- | --- |
| **เงื่อนไข** | NOT(เงื่อนไข) |
| TRUE | FALSE |
| FALSE | TRUE |

 

**การใช้งาน **=NOT(logical)  
 =NOT(3>5)  
 =NOT(FALSE) จะได้ TRUE เพราะกลับทิศจากเท็จเป็นจริง

 

#### “และ” แทนด้วย ฟังก์ชั่น AND

 

ถ้าเงื่อนไข Input ทุกอันเป็นจริง จะได้ค่าออกมาเป็นจริง กรณีอื่นจะเป็นเท็จ ตรงกับภาษาพูดว่า “และ”

 

|   |   |   |
| --- | --- | --- |
| **เงื่อนไข****1** | **เงื่อนไข****2** | AND(เงื่อนไข1,เงื่อนไข2) |
| **TRUE** | **TRUE** | **TRUE** |
| TRUE | FALSE | FALSE |
| FALSE | TRUE | FALSE |
| FALSE | FALSE | FALSE |

 

**การใช้งาน **=AND(logical1, [logical2], …)  
 =AND(3>5,10-3<8)  
 =AND(FALSE,TRUE) จะได้ FALSE เพราะมีตัวใดตัวหนึ่ง FALSE** **

 

#### “หรือ: แทนด้วย ฟังก์ชั่น OR

 

ถ้าอย่างน้อยเงื่อนไขใดเงื่อนไขหนึ่งจริง จะได้ค่าออกมาเป็นจริง (ต้องเท็จทุกอันจึงจะออกมาเป็นเท็จ) คล้ายกับภาษาพูดว่า “หรือ”

 

|   |   |   |
| --- | --- | --- |
| **เงื่อนไข****1** | **เงื่อนไข****2** | AND(เงื่อนไข1,เงื่อนไข2) |
| TRUE | TRUE | TRUE |
| TRUE | FALSE | TRUE |
| FALSE | TRUE | TRUE |
| **FALSE** | **FALSE** | **FALSE** |

 

**  
 การใช้งาน **=OR(logical1, [logical2], …)  
 =OR(3>5,10-3<8)  
 =OR(FALSE,TRUE) จะได้ TRUE เพราะมีตัวใดตัวหนึ่ง TRUE

 

จะเห็นว่า OR แบบนี้ไม่เหมือนกับ กรณีพนักงานเสิร์ฟมาถามคุณว่าจะเอา “ชา หรือ กาแฟ” ดีคะ? ซึ่งปกติจะหมายถึงให้เลือก Choice อันใดอันหนึ่งเท่านั้น (เรียกว่า Exclusive OR)

 

### inwTips : ให้เลือกแค่อันใดอันหนึ่ง หรือ Exclusive OR

 

ถ้าเราจะให้เลือกได้แค่อย่างใดอย่างหนึ่ง ใน Excel ไม่มีฟังก์ชั่นนี้ตรงๆ เราจะต้องผสมฟังก์ชั่นเอง

 

ซึ่งเราจะต้องเข้าใจเงื่อนไข นั่นคือ การที่ให้เลือกอันไหนก็ได้ได้อันใดอันหนึ่ง **แปลว่า ****“เลือกอันไหนก็ได้** **และ ต้องห้ามเป็นจริงพร้อมกัน****”** ดังนั้น เราต้องเขียนดังนี้

 

**Exclusive OR** = เลือกอันไหนก็ได้ และ ไม่เป็นจริงพร้อมกัน (ห้ามเลือกพร้อมกัน)

 

=(OR(เงื่อนไข1,เงื่อนไข2) AND NOT(AND(เงื่อนไข1,เงื่อนไข2))  
 =AND(OR(เงื่อนไข1,เงื่อนไข2),NOT(AND(เงื่อนไข1,เงื่อนไข2)))

 

|   |   |   |
| --- | --- | --- |
| **เงื่อนไข****1** | **เงื่อนไข****2** | Exclusive OR (เงื่อนไข1,เงื่อนไข2) |
| TRUE | TRUE | FALSE |
| TRUE | FALSE | TRUE |
| FALSE | TRUE | TRUE |
| FALSE | FALSE | FALSE |

 

## การใส่เงื่อนไขด้วย IF

 

IF คือฟังก์ชั่น ที่ทำหน้าแสดงผลลัพธ์ 2 แบบ ขึ้นอยู่กับเงื่อนไขที่เราระบุลงไปว่าจริงหรือเท็จ? ถ้าเงื่อนไขมีผลลัพธ์เป็นจริง (TRUE) จะทำการคำนวณผลลัพธ์แบบหนึ่ง ถ้าเงื่อนไขเป็นเท็จ (FALSE) จะคำนวณผลลัพธ์อีกแบบหนึ่ง

 

[![IF-concept](https://www.thepexcel.com/wp-content/uploads/2015/04/IF-concept.png)](https://www.thepexcel.com/wp-content/uploads/2015/04/IF-concept.png)

 

ผมแนะนำให้มองว่า **IF 1 ตัว สามารถแตกกิ่งก้านสาขาการตัดสินใจ (****Decision Tree) ออกไปได้ 2 กิ่ง ดังนั้นการใช้ IF 1 ตัว จะมีผลลัพธ์ได้ 2 อย่าง** คือ TRUE และ FALSE ดังนั้นถ้าหากเราต้องการให้มีผลลัพธ์การตัดสินใจที่มากกว่า 2 อย่าง เราก็จะต้องแตกกิ่งมากกว่านี้ โดยเอา IF หลายตัวมาซ้อนกันซึ่งจะอธิบายในช่วงหลังของฟังก์ชั่นนี้

 

**Tips :** การแตกผลลัพธ์ที่มีมากกว่า 2 ตัว เราสามารถใช้ฟังก์ชั่นอื่นนอกจาก IF มาช่วยได้ เช่น CHOOSE หรือ VLOOKUP ซึ่งจะขออธิบายภายหลังครับ

 

IF เป็นฟังก์ชั่นที่เรา “ต้องเขียนให้เป็น” เพราะมีประโยชน์ในการทำงานจริงมากและใช้บ่อยที่สุด อีกทั้งยังเป็นจุดเริ่มต้นที่ดีในการฝึกคิดอะไรที่เป็นเหตุเป็นผล โดยมันจะมีวิธีเขียนดังนี้

 

### วิธีใช้งาน

 

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

 

### หลักการเขียนสูตร IF

 
1. **เงื่อนไขที่เราโยนเข้าไปให้ทดสอบ ใน logical_test­ จะต้องออกมาเป็นจริง (TRUE) หรือเท็จ (FALSE) **เหมือนตอนที่เราศึกษาเรื่องตรรกศาสตร์ก่อนหน้านี้เลยครับ 
    - นอกจากค่า TRUE/FALSE แล้ว IF จะตีความเลข 0 เป็น FALSE เลขอื่นๆ เป็น TRUE
2. **ค่าผลลัพธ์เมื่อเงื่อนไขจริง (Value if true) และ ผลลัพธ์เมื่อเงื่อนไขเท็จ (Value if false) **สามารถใส่สูตรที่เราเรียนรู้มาลงไปได้เลย ตัวเลข ตัวหนังสือ ฟังก์ชั่น โดยสามารถเชื่อมด้วยตัวดำเนินการต่างๆ ได้ทุกอย่างตามปกติ 
    - ถ้าดูดีๆจะเห็นว่า [value_if_true], [value_if_false] เป็นค่า Optional ซึ่งแปลว่า**หากเราไม่ระบุอะไรลงไป **กรณีจริงมันจะออกมาเป็นคำว่า TRUE กรณีเท็จมันจะออกมาเป็นคำว่า FALSE ให้ครับ

 

##### ตัวอย่าง 1

 

ถ้าคุณไปท้าเพื่อนว่า “ถ้า ฉันสอบตก ฉันจะเลี้ยงข้าว ไม่งั้น เธอเป็นคนเลี้ยงข้าว” และเราตกลงกับเพื่อนไว้ว่า คำว่าสอบตก คือ ได้คะแนนน้อยกว่า 50 แล้วให้เราบันทึกคะแนนสอบลงในช่อง A1

 

เราก็จะเขียนสูตร IF เพื่อรองรับเงื่อนไขข้างบนได้ว่า

 

=IF(A1<50,“ฉันเลี้ยงข้าว”, “เธอเลี้ยงข้าว”)

 

[![IF-example2](https://www.thepexcel.com/wp-content/uploads/2015/04/IF-example2.png)](https://www.thepexcel.com/wp-content/uploads/2015/04/IF-example2.png)

 

แปลว่า มีกิ่งการตัดสินใจ 2 กิ่ง คือ

 

[![IF-concept2](https://www.thepexcel.com/wp-content/uploads/2015/04/IF-concept2.png)](https://www.thepexcel.com/wp-content/uploads/2015/04/IF-concept2.png)

 

**  
 กิ่งเงื่อนไขเป็น****เท็จ **: หากค่าใน A1 มากกว่าหรือเท่ากับ 50 (สอบไม่ตก) จะแสดง คำว่า *เธอเลี้ยงข้าว*

 

**กิ่งเงื่อนไขเป็นจริง** : หากค่าใน A1 น้อยกว่า 50 (สอบตก) จะแสดงค่าออกมาเป็นคำว่า *ฉันเลี้ยงข้าว*

 

ซึ่งในตัวอย่างข้างบน ในช่อง A1 มีค่า 30 ซึ่งทำให้เงื่อนไขเป็นจริง ผลลัพธ์จึงเป็นคำว่า “ฉันเลี้ยงข้าว”

 

[![IF-example-result2](https://www.thepexcel.com/wp-content/uploads/2015/04/IF-example-result2.png)](https://www.thepexcel.com/wp-content/uploads/2015/04/IF-example-result2.png)

 

** ****Tips: **ที่ต้องเขียนว่า “ฉันเลี้ยงข้าว” หรือ “เธอเลี้ยงข้าว” ในเครื่องหมายคำพูด เพราะ หากไม่ใส่เครื่องหมายคำพูด Excel จะตีความคำว่า *ฉันเลี้ยงข้าว* หรือ *เธอเลี้ยงข้าว* เป็นชื่อ (Defined Name) ที่ตั้งไว้ ซึ่งถ้าเราไม่ได้มีการตั้งไว้จริง ก็จะได้ผลผิดๆ ดังนั้น**ต้องใส่เครื่องหมายคำพูด เพื่อให้ ****Excel จะตีความว่าเป็น Text ธรรมดาตัวหนึ่ง**

 

##### ตัวอย่าง 2

 

สมมติว่าเรามีข้อมูลมาว่า น้ำหนักมาตรฐานของชายไทย หญิงไทย เป็นไปตามสูตรดังนี้

 

น้ำหนักมาตรฐาน = [ความสูง (cm.) -100] แล้วคูณด้วยตัวคูณพิเศษ ซึ่งแยกเป็น 2 กรณี คือ  
 ผู้ชาย : ? X 0.9 แต่ถ้าเป็น ผู้หญิง : ? X 0.8 เราสามารถเขียนสูตรใน Excel ได้ดังนี้

 

[![IF-standard-weight](https://www.thepexcel.com/wp-content/uploads/2015/04/IF-standard-weight.png)](https://www.thepexcel.com/wp-content/uploads/2015/04/IF-standard-weight.png)

 

หรือจะเขียนแบบข้างล่างนี้ก็ได้ เขียนสูตรได้สั้นกว่าด้วย โดย**ดึงเอาสิ่งที่เหมือนกันไปไว้นอก ****IF**

 

[![IF-standard-weight2](https://www.thepexcel.com/wp-content/uploads/2015/04/IF-standard-weight2.png)](https://www.thepexcel.com/wp-content/uploads/2015/04/IF-standard-weight2.png)

 

|   |   |
| --- | --- |
| **วิธีแรก : **เขียนทุกอย่างอยู่ใน IF | **วิธี#2 : **เขียน IF เฉพาะส่วนที่ต่างกัน |
| [![IF-concept3-1](https://www.thepexcel.com/wp-content/uploads/2015/04/IF-concept3-1.png)](https://www.thepexcel.com/wp-content/uploads/2015/04/IF-concept3-1.png) | [![IF-concept3-2](https://www.thepexcel.com/wp-content/uploads/2015/04/IF-concept3-2.png)](https://www.thepexcel.com/wp-content/uploads/2015/04/IF-concept3-2.png) |

 

สิ่งที่ Excel จะทำคือดูว่าค่าใน B7 เป็นคำว่า “ชาย” หรือไม่?

 
- หากค่าใน B2 เป็น “ชาย” –> เงื่อนไขเป็นจริง –> ใช้สูตร (B5-100)*0.9 –> คำนวณได้ 63 kg
- หากค่าใน B2 ไม่ใช่ “ชาย” –> เงื่อนไขเป็นเท็จ –>ใช้สูตร (B5-100)*0.8 –> คำนวณได้ 56 kg

 

## การผสมฟังก์ชั่นเบื้องต้น

 

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

 

โดยหลักการผสมฟังก์ชั่นอยู่ที่ว่า เรา***ต้องรู้ว่า***

 
- แต่ละ Argument ของฟังก์ชั่นต้องการ INPUT เป็นข้อมูลประเภทไหน และ
- แต่ละฟังก์ชั่นให้ OUTPUT ผลลัพธ์ออกไปเป็นข้อมูลประเภทไหน (อันนี้พอจะสังเกตได้)

 

เมื่อรู้ 2 ข้อข้างบน เราก็จะรู้ว่าจะสามารถเอาฟังก์ชั่นไหน มาใส่ใน Argument ของอีกฟังก์ชั่นหนึ่งได้

 

เช่น การใช้ IF ผสมกับ AND

 

[![mix-function](https://www.thepexcel.com/wp-content/uploads/2015/04/mix-function.png)](https://www.thepexcel.com/wp-content/uploads/2015/04/mix-function.png)

 

ในส่วนของ Logical_test ของฟังก์ชั่น IF นั้น**ต้องการข้อมูลประเภท ****Logical (ตรรกะ)** นั่นคือค่า TRUE/FALSE ซึ่งฟังก์ชั่นหมวดตรรกศาสตร์ อย่างพวก **AND, OR, NOT นั้นจะให้ผลลัพธ์เป็น TRUE/FALSE เช่นกัน** แบบนี้แปลว่าเราฟังก์ชั่น AND มาผสมไว้ในส่วนของ Argument นี้ได้

 

### ตัวอย่าง : การเขียน IF แบบมีหลายเงื่อนไขด้วยการผสมกับฟังก์ชั่นทางตรรกศาสตร์

 

หากเราต้องการใช้สูตร IF แบบมีหลายเงื่อนไข เราสามารถเอาแต่ละเงื่อนไขมาเชื่อมกับฟังก์ชั่นทางตรรกศาสตร์ก่อนที่จะเอาไปใส่ใน IF ได้ ยกตัวอย่างเช่น

 

หากนักเรียนสอบ Final ได้คะแนนน้อยกว่า 50 คะแนน และ ทำกิจกรรมเพื่อสังคม ไม่ถึง 3 ครั้ง ครูจะให้นักเรียนสอบตก นอกนั้นถือว่าสอบผ่าน

 

สมมติให้คะแนนสอบ Final อยู่ในช่อง A1 และ จำนวนครั้งของการทำกิจกรรมเพื่อสังคมอยู่ช่อง B1  
 จะสามารถเขียน logic ได้ดังนี้

 

[![IF-concept4](https://www.thepexcel.com/wp-content/uploads/2015/04/IF-concept4.png)](https://www.thepexcel.com/wp-content/uploads/2015/04/IF-concept4.png)

 

|   |   |   |
| --- | --- | --- |
| **เงื่อนไข****1 (**A1<50**)** | **เงื่อนไข****2 (**B1<3) | AND(เงื่อนไข1,เงื่อนไข2) |
| **TRUE** | **TRUE** | **TRUE** |
| TRUE | FALSE | FALSE |
| FALSE | TRUE | FALSE |
| FALSE | FALSE | FALSE |

 

สมมติให้ผลลัพธ์แสดงในช่อง C1 ว่า =IF(AND(A1<50,B1<3), “สอบตก”, “สอบผ่าน”)  
 สิ่งที่ Excel จะทำคือดูว่าค่าใน A1 น้อยกว่า 50 **และ** B1 น้อยกว่า3 หรือไม่?

 

หากดูตารางการแปลความของฟังก์ชั่น AND จะได้ผลลัพธ์ดังนี้

 
- สมมติว่าค่าในA1เป็น15และB1เป็น4 
    - AND(TRUE,FALSE) –> FALSE เงื่อนไขเป็นเท็จ –> แสดงค่า “สอบผ่าน” ในช่อง C1
- สมมติว่าค่าในA1เป็น40และB1เป็น2 
    - AND(TRUE,TRUE) –> TRUE เงื่อนไขเป็นจริง –> แสดงค่า “สอบตก” ในช่อง C1

 

ซึ่งการทำการเชื่อมฟังก์ชั่น IF กับ AND, OR, NOT นั้น ถือว่า**เป็นก้าวแรกของการพัฒนาทักษะการผสมฟังก์ชั่น** ซึ่งเป็นทักษะสำคัญที่จะต้องเรียนรู้ต่อไปในอนาคต

 

### ตัวอย่าง : การเขียน IF ซ้อน IF

 

ในเมื่อเราผสมฟังก์ชั่นได้แล้ว และทำไมเราจะใช้ IF ซ้อนกันเองไม่ได้ล่ะ!

 

** เทคนิคการเขียน ****IF ซ้อนกันหลายตัว**

 
- ให้มองว่า **IF แต่ละตัว** คือตัวเงื่อนไข ซึ่งสามารถแตกกิ่งการตัดสินใจ (Decision Tree) ได้ 2 กิ่ง คือ จริง และ เท็จ
- **ในแต่ละกิ่ง **ที่ จริง /เท็จ เราสามารถเลือกที่จะใส่ IF ซ้อนลงไปอีกหรือไม่ก็ได้
- จำนวนวงเล็บเปิดต้องเท่ากับวงเล็บปิด (ในตัวอย่างข้างล่างนี้มี 3 คู่ คือเปิด-ปิดอย่างละ 3 อัน)

 

#### ตัวอย่าง : การแยกกิ่งขั้นที่สองจากแค่เงื่อนไขที่เป็นเท็จใน Step แรก

 

[![IF-concept5](https://www.thepexcel.com/wp-content/uploads/2015/04/IF-concept5.png)](https://www.thepexcel.com/wp-content/uploads/2015/04/IF-concept5.png)

 

**=IF(**เงื่อนไข1,TRUE1**,IF(**เงื่อนไข2,TRUE2,FALSE2**))**

 

สังเกตว่ามี IF 2 ตัว จึงต้องมีวงเล็บเปิด 2 รอบ และวงเล็บปิด 2 รอบ เท่ากัน

 

#### ตัวอย่าง : การแยกกิ่งขั้นที่สองจากทั้งเงื่อนไขที่เป็นจริงและเงื่อนไขที่เป็นเท็จใน Step แรก

 

[![IF-concept6](https://www.thepexcel.com/wp-content/uploads/2015/04/IF-concept6.png)](https://www.thepexcel.com/wp-content/uploads/2015/04/IF-concept6.png)

 

**=IF(**เงื่อนไข1,**IF(**เงื่อนไข2,TRUE2,FALSE2**),IF(**เงื่อนไข3,TRUE3,FALSE3**))**

 

สังเกตว่ามี IF 3 ตัว จึงต้องมีวงเล็บเปิด 3 รอบ และวงเล็บปิด 3 รอบ เท่ากัน

 

#### ตัวอย่าง : การใช้งานจริง

 

หากคุณต้องการจะจัดเกรดจากคะแนนดิบของนักเรียน โดยมีเกณฑ์ดังนี้

 
- คะแนน <50 : F
- 50 <= คะแนน<60 : D
- 60 <= คะแนน<70 : C
- 70 <= คะแนน<80 : B
- คะแนน >= 80 : A

 

สมมติคะแนนดิบอยู่ในช่อง A2 และเราจะใส่เกรดในช่อง B2  
 ในช่อง B2 เราสามารถตีความเป็น Diagram ได้แบบนี้

 

[![IF-concept7](https://www.thepexcel.com/wp-content/uploads/2015/04/IF-concept7.png)](https://www.thepexcel.com/wp-content/uploads/2015/04/IF-concept7.png)

 

=**IF(****A2<50,“F”,****IF(****A2<60,“D”,****IF(****A2<70,“C”,****IF(****A2<80,“B”,“A”****)****)****)****)**

 

###### อธิบายแนวคิด

 

ให้ใส่เงื่อนไขทีละ Step อันแรกสูตร IF ก็จะเช็คว่าค่าใน A2 น้อยกว่า 50 หรือไม่? ถ้าน้อยกว่าให้แสดงเกรด F ถ้าไม่น้อยกว่า สูตร IF ก็จะเช็คต่อว่าค่าใน A2 < 60 หรือไม่?… ถ้าน้อยกว่าให้แสดงเกรด D

 

ที่ทำแบบนี้ได้โดย**ไม่ต้องเขียนว่าต้องน้อยกว่า 60 และมากกว่า 50 อีกทีหนึ่ง** เพราะว่าถ้ามันน้อยกว่า 50 จะกลายเป็น F ไปแล้วใน Step แรก จึงถือว่าเป็นเหตุการณ์ที่จะไม่รอดมาถึง Step ที่สองนี้

 

Step ถัดไป ถ้าไม่น้อยกว่า 60 สูตร IF ก็จะเช็คต่อว่า < 70 หรือไม่? …ทำแบบนี้ไปเรื่อยๆ จนถึง Step สุดท้าย ซึ่งถ้าค่า A2 น้อยกว่า 80 ก็จะเป็นเกรด B **และถ้าไม่น้อยกว่า (คือ มากกว่าหรือเท่ากับ 80) ก็จะแสดงเกรด A ได้เลย**

 

### การใช้ฟังก์ชั่นตรรกศาสตร์ซ้อนกัน

 

ผมขอลองยกตัวอย่างการเอา AND มาซ้อนกับ OR ดูบ้างนะครับ

 

เช่น =AND(เงื่อนไข1,OR(เงื่อนไข2,เงื่อนไข3))  
 อันนี้อาจจะดูงง แนะนำให้ **ไล่ดูจากวงเล็บที่อยู่ในสุดก่อน จากนั้นค่อยไล่ออกไปชั้นนอก **นะครับ

 

ผมทำตารางสรุปการคิดมาให้แล้ว วิธีอ่านไล่จากซ้ายไปขวานะครับ  
 (ผมเอาส่วนวงเล็บชั้นในไว้ทางซ้ายให้แล้ว)

 

|   |   |   |   |   |
| --- | --- | --- | --- | --- |
| **เงื่อนไข****2** | **เงื่อนไข****3** | =OR(เงื่อนไข2,เงื่อนไข3) | **เงื่อนไข****1** | =AND(เงื่อนไข1,OR(เงื่อนไข2,เงื่อนไข3)) |
| TRUE | TRUE | TRUE | TRUE | TRUE |
| TRUE | FALSE | TRUE | TRUE | TRUE |
| TRUE | TRUE | TRUE | FALSE | FALSE |
| TRUE | FALSE | TRUE | FALSE | FALSE |
| FALSE | TRUE | TRUE | TRUE | TRUE |
| FALSE | FALSE | FALSE | TRUE | FALSE |
| FALSE | TRUE | TRUE | FALSE | FALSE |
| FALSE | FALSE | FALSE | FALSE | FALSE |

 
- แปลว่า หาก เงื่อนไข2หรือ3 อันใดอันหนึ่งเป็นจริง ผลจาก OR จะได้จริง
- และ เงื่อนไข1 ต้องเป็นจริง ด้วย เมื่อ AND กันสุดท้ายจึงจะออกมาจะเป็นจริง

---

_Source: [https://www.thepexcel.com/important-function/](https://www.thepexcel.com/important-function/)_
