---
title: การเขียนสูตรผูกความสัมพันธ์ (Formula)
url: https://www.thepexcel.com/formula/
type: post
date: 2015-04-03
updated: 2019-04-21
author: Sira Ekabut
categories: [Excel ทั่วไป]
tags: [formula]
---

# การเขียนสูตรผูกความสัมพันธ์ (Formula)

> สูตร (Formula) คืออะไร? Formula หรือ สูตร คือการสั่งให้ Excel คำนวณค่า โดยระบุความสัมพันธ์ระหว่าง Input และ Output สิ่งที่เราใส่ลงไปในสูตร เรียกว่า Input ของสูตร โดยที่จะต้องใส่อยู่หลังเครื่องหมาย = เสมอ...

## สูตร (Formula) คืออะไร?

 

Formula หรือ สูตร คือการสั่งให้ Excel คำนวณค่า โดยระบุความสัมพันธ์ระหว่าง Input และ Output

 
- สิ่งที่เราใส่ลงไปในสูตร เรียกว่า **Input** ของสูตร โดยที่จะต้องใส่อยู่หลังเครื่องหมาย = เสมอ
- Excel จะแสดง**ผลลัพธ์ของการคำนวณ**ออกมาให้เห็นใน Cell เลย เรียกว่า **Output **ของสูตร
- **ความสัมพันธ์สูตร**ที่เป็นวิธีคิดคำนวณนั้น เราสามารถมองเห็นและแก้ไขได้จาก **Formula Bar**

 

**ตัวอย่าง** ถ้าจะหาพื้นที่สามเหลี่ยม เมื่อรู้ความสูงและความยาวฐานของรูปสามเหลี่ยม เราสามารถใช้ความสัมพันธ์ คือ  
 พื้นที่สามเหลี่ยม = ½ x สูง x ฐาน (เพราะสามเหลี่ยมก็คือสี่เหลี่ยมแบ่งครึ่ง)

 
- **Output** ที่เราต้องการคือ พื้นที่สามเหลี่ยม
- **ความสัมพันธ์ในช่อง Output** คือ ½ x สูง x ฐาน
- **Input **คือ ให้ความสูงอยู่ในช่อง B2, ให้ความยาวฐานอยู่ในช่อง B3
- **สูตร**ในช่อง Output คือ =1/2 * B2 * B3 หรือ =0.5 * B2 * B3 ก็ได้

 

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

 

**หมายเหตุ**

 
- = เป็นการบ่งบอกว่าเรากำลังจะใส่สูตร (สูตรต้องนำหน้าด้วย = เสมอ)
- * คือ เครื่องหมายคูณ (Operator) ใน Excel
- B2 คือ ความสูง, B3 คือ ความยาวฐาน  
   จะเห็นว่าสองค่านี้เราอาจลองเปลี่ยนเล่นได้ จึงใช้เป็น Cell Reference แทนการใส่เลขลงไปตรงๆ

 

## องค์ประกอบของการเขียนสูตร

 

ตัวอย่างที่เพิ่งกล่าวไปเป็นเพียงตัวอย่างหนึ่งของการใส่สูตรเท่านั้น จริงๆ แล้ว Input ของสูตรใน Excel สามารถใส่อะไรลงไปได้อีกมากมาย แล้วมันมีอะไรบ้างล่ะ? เรามาดูกันครับ

 

สิ่งที่เราจะใส่ลงไปหลังเครื่องหมายเท่ากับ (=) สามารถแบ่งออกเป็น 4 ประเภทหลักๆ คือ

 
- **Data**คือ การใส่ค่าข้อมูลลงไปตรงๆ (ที่ไม่ได้อ้างอิงจากช่องอื่น)
- **Cell Reference**คือ การอ้างอิงค่าจากช่องอื่น เช่น B2 ซึ่งอาจอ้างไป Workbook อื่นก็ยังได้
- **Defined Name** คือ การตั้งชื่อให้ Cell/Range/สูตร ซึ่ง ใช้แทนสิ่งเหล่านั้นได้เลย
- **Operator **ตัวดำเนินการ แบ่งได้หลายประเภท คือ 
    - Arithmetic Operator (ตัวดำเนินการทางคณิตศาสตร์ เช่น + – * / )
    - Comparison Operator (ตัวดำเนินการเปรียบเทียบ เช่น > = <)
    - Text Operator (ตัวดำเนินการข้อความ เช่น &)
    - Reference Operator (ตัวดำเนินการอ้างอิง เช่น , : )
- **Function **เปรียบเสมือนสูตรสำเร็จรูป เช่น ฟังก์ชั่น SUM ที่ได้ยกตัวอย่างไปแล้ว ซึ่งผมจะพูดในรายละเอียดในบทถัดไป

 

**ตัวอย่าง**

 

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

 

## ข้อจำกัดของการเขียนสูตร

 

แม้ว่าการเขียนสูตรจะสามารถดึงค่ามาจาก Cell อื่นๆ โดยใช้ Cell Reference ได้อย่างที่บอกไปตอนต้น แต่ว่า**การเขียนสูตรไม่สามารถที่จะดึงรูปแบบการแสดงผล หรือ ****Format จาก Cell อ้างอิงได้** เช่น Cell อ้างอิงมีสีเขียว เราอยากให้ช่องที่กรอกสูตรดึงสีเขียวมาใช้บ้าง แบบนี้ไม่ได้นะครับ!! ดังนั้นหากต้องการที่จะให้ Format ของ Cell เปลี่ยนแปลงได้ อาจต้องใช้วิธีอื่น เช่น Conditional Formatting หรือเขียน VBA สั่งงานเท่านั้น

 

## ประเภทของ Operator (ตัวดำเนินการ)

 
- **Arithmetic Operator** (ตัวดำเนินการทางคณิตศาสตร์) เช่น เครื่องหมายคำนวณ +, -, *, /, ^, % เอาไว้ใช้กับข้อมูลประเภทตัวเลข (ก็แน่ล่ะ ตัวหนังสือมันคงบวกลบกันไม่ได้น่ะสิ)
- **Comparison Operator**(ตัวดำเนินการเปรียบเทียบ) เช่น เครื่องหมายเปรียบเทียบ จะทำให้ผลลัพธ์ออกมาเป็นตรรกะTRUE/FALSE 
    - = (เท่ากับ) A1=B1
    - > (มากกว่า) A1>B1
    - < (น้อยกว่า) A1<B1
    - >= (มากกว่าหรือเท่ากับ) A1>=B1
    - <= (น้อยกว่าหรือเท่ากับ) A1<=B1
    - <> (ไม่เท่ากับ) A1<>B1
- **Text Operator**(ตัวดำเนินการข้อความ) มีเครื่องหมายเดียวคือ & เอาไว้เชื่อมข้อมูลหลายๆอันเข้าด้วยกัน ซึ่งผลลัพธ์ที่ได้จะกลายเป็นข้อมูลประเภทTextโดยอัตโนมัติ เช่น 
    - = “แมว” & “เหมียว” & “ “ & 10 & “ตัว” จะออกมาเป็นคำว่า แมวเหมียว 10ตัว
    - =10&200 จะออกมาเป็น 10200 แต่จะกลายเป็นข้อมูลประเภทข้อความ ไม่ใช่ตัวเลข
    - =10&”” จะออกมาเป็น 10 แต่จะกลายเป็นข้อมูลประเภทข้อความ ไม่ใช่ตัวเลข
- **Reference Operator** (ตัวดำเนินการอ้างอิง) เอาไว้เชื่อม Cell Reference มี 3 เครื่องหมาย คือ ,(comma) :(colon) และ (ช่องว่าง) เหมือนกับที่เคยยกตัวอย่างไปแล้วในบทก่อนหน้านี้ที่พูดถึงเรื่อง Cell Reference

 

## ลำดับความสำคัญของ Operator

 

สมมติเราใส่สูตรว่า **=2+5*3** คุณคิดว่า Excel จะคิดได้เลข 21 (เอา 2+5 ก่อน แล้วค่อยคูณ 3 ) หรือ จะได้ 17 (เอา 5 คูณ 3 ก่อน แล้วบวก 2) ครับ?

 

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

 

เอาล่ะ ถ้าอยากรู้ว่า Excel คำนวณอะไรก่อนหลัง ดูได้ตามนี้เลยครับ

 

|   |   |   |
| --- | --- | --- |
| **สัญลักษณ์    **(เรียงจากคำนวณก่อน ไปหลัง) | **ความหมาย** | **ตัวอย่าง** |
| **( )** | **วงเล็บ **** ** | =(2+5)*3 |
| : | colon | A1:A5 |
| ** ** | ช่องว่าง | A1:A5 B1:B5 |
| , | comma | A1,A2 |
| – | เลขติดลบ | –1 |
| % | เปอร์เซ็นต์ | 5% |
| ^ | เลขยกกำลัง | 3^2 |
| *** , /** | **คูณ หรือ หาร** | 3*5 หรือ    10/4 |
| **+ ****, –** | **บวก หรือ ลบ ****    (คนละอันกับเลขติดลบ) ** | 2+3 หรือ    10–7 |
| & | ตัวเชื่อม text | A3&” บาท” |
| =, < >, <=, >=, <> | เครื่องหมายเปรียบเทียบ | A1=3 หรือ    6>5 |

 

ดังนั้นในตัวอย่าง =2+5*3 จะเห็นว่า **เครื่องหมาย ***** จะถูกคำนวณก่อน + **จะได้ =2+15 = 17 ครับ

 

ไม่ต้องห่วงไป หากคุณจำลำดับพวกนี้ไม่ได้ก็ไม่เป็นไรครับ เพราะสาระสำคัญไม่ใช่อยู่ที่เราต้องจำลำดับความสำคัญ แต่อยู่ที่ว่า เราจะต้องรู้ว่า หากเราไม่แน่ใจเรื่องลำดับความสำคัญ อย่าลืมใส่เครื่องหมายวงเล็บครอบลงไปด้วย เพราะ**เครื่องหมายวงเล็บมีลำดับความสำคัญสูงที่สุด (****Excel จะคำนวณในวงเล็บก่อน) **นั่นเอง

 

แต่ถ้าอยากจะลองจำประดับสมองซักหน่อย ผมแนะนำให้จำ 3 ตัวที่ใส่สีแดงไว้ให้ครับ เพราะใช้ค่อนข้างบ่อยเลยทีเดียว

 

## การทำงานกับประเภทของ Data ที่แตกต่างกัน

 

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

 

ดังนั้นเราจะต้องมีความรู้ว่าเราจะจัดการข้อมูลประเภทต่างๆ รวมถึงอาจจะต้องแปลงข้อมูลจากประเภทหนึ่งไปยังอีกประเภทหนึ่งอย่างไร

 

### Number vs Text

 

ข้อมูล Number และ Text เป็นอะไรที่หน้าตาคล้ายกันมากที่สุด จนแทบไม่มีทางดูออกด้วยตาเปล่าได้เลย เราจะต้องใช้ฟังก์ชั่น TYPE มาทดสอบดูจึงจะรู้ (Numberจะออกมาเป็น 1, ส่วน Text เป็น 2)

 

การแปลงข้อมูลระหว่าง 2 ประเภทนี้มีวิธีทำดังนี้

 

**แปลง Text –>**** Number** : ให้นำไป *1 (คูณ 1)

 

ใน A1 มี text ว่า 00056 เราต้องการแปลงให้เป็น Number ในช่อง A2 จะเขียนว่า =A1*1

 

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

 

**แปลง Number –>**** Text** : ให้นำไป &”” (เชื่อมด้วย & และเครื่องหมายคำพูด 2 อันติดกัน )

 

เช่น ใน A1 มี ตัวเลข ว่า 56 เราต้องการแปลงให้เป็น Text ในช่อง A2 จะเขียนว่า =A1&””

 

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

 

สังเกตเรื่องการจัดวางชิดซ้ายชิดขวาให้ดีนะครับ ว่า number จะชิดขวาโดยอัตโนมัติ ส่วน text จะชิดซ้ายโดยอัตโนมัติเช่นกัน

 

### Text vs Defined Name

 

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

 

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

 

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

 

ส่วนช่องที่ว่างเปล่า(ว่างจริงๆ) เราจะแทนด้วยการเขียน “” (เขียนติดกันไม่มีเว้นวรรค) นะครับ

 

### Logic vs Number

 

เมื่อนำค่า TRUE/FALSE ไปใช้กับเครื่องหมายการคำนวณทางคณิตศาสตร์ มันจะกลายเป็นเลข 1 และ 0 ตามลำดับ ซึ่งนิยมอยู่ 2 วิธี คือ

 
- **นำไปคูณ ****1** 
    - =TRUE*1 จะได้ 1, =FALSE*1 จะได้ 0
- **ใส่ ****— นำหน้า** (ติดลบ 2ตัวติดกัน) 
    - =–TRUE จะได้ 1 เพราะติดลบสองทีกลายเป็นบวก =-(-1) =1
    - =–FALSE จะได้ 0 เพราะ =-(-0) =0

 

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

 

## ตัวอย่างการเขียนสูตร

 

หลังจากที่คุณได้เรียนรู้องค์ประกอบของการเขียนสูตรไปทั้งหมดแล้ว คราวนี้มาดูตัวอย่างการเขียนสูตรกันครับ ว่าจะนำองค์ประกอบแต่ละส่วนมารวมกันเป็นสูตรได้ยังไง?

 

**ตัวอย่าง 1 : **การคำนวณค่านายหน้า

 

สมมติมีคนมาฝากคุณขายของ โดยบอกว่าถ้าขายได้เท่าไหร่ เค้าจะให้คุณ 10% แล้วคุณขายของได้ 3 ชิ้น คือ100, 300, 900 บาทตามลำดับ คุณจะได้ Commission เท่าไหร่?

 

**สูตรที่ผิด : **=100+300+900*10%

 

ผิด เพราะว่าถ้าไม่ใส่วงเล็บ Excel จะเอา 10% ไปคูณ 900 ตัวเดียว เนื่องจากลำดับความสำคัญของคูณนั้นมาก่อนการบวก

 

**สูตรที่ถูก : **=(100+300+900)*10% แบบนี้จึงจะบวกกันก่อน แล้วค่อยคูณ

 

**ตัวอย่าง 2 : **สมการฟิสิกส์ E=mc2 ของไอน์สไตน์

 

ถ้าผมจะหาพลังงาน E ที่จะได้จากการเปลี่ยนมวล m (กิโลกรัม) ให้กลายเป็นพลังงาน 100% ว่าจะออกมาได้เท่าไหร่? ผมสามารถคำนวณได้ดังนี้ ผมให้มวลอยู่ในช่อง A1, c ความเร็วแสงอยู่ในช่อง B1

 

**สูตร:** =A1*B1*B1 หรือจะใช้ =A1*(B1^2) หรือจะใช้ =A1*B1^2 ก็ได้  
 (ที่ไม่ต้องใส่วงเล็บเพราะการยกกำลังมีลำดับความสำคัญก่อนการคูณ)

 

แค่นี้คุณก็ใช้สูตรของไอน์สไตน์ได้แล้ว เจ๋งมะ!

 

**ตัวอย่าง 3 : **สมการซับซ้อนมากๆ เช่น คำนวณยอดผ่อนบ้านโดยใช้สมการคณิตศาสตร์

 

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

 

เฮ้ย นี่มันอะไรกัน! เขียนสมการซับซ้อนนี่ไม่สนุกเอาซะเลย… แต่ไม่ต้องห่วง ตัวช่วยอยู่ในบทถัดไปครับ

---

_Source: [https://www.thepexcel.com/formula/](https://www.thepexcel.com/formula/)_
