---
title: "เรียน Calculus ด้วย Excel ตอนที่ 2 : Integrate กับพื้นที่ใต้กราฟพิศวง"
url: https://www.thepexcel.com/calculus-excel-02-integrate/
type: post
date: 2020-07-04
updated: 2020-07-08
author: Sira Ekabut
tags: [Calculus]
---

# เรียน Calculus ด้วย Excel ตอนที่ 2 : Integrate กับพื้นที่ใต้กราฟพิศวง

ใน[ตอนที่แล้วเราได้เรียนเรื่องพื้นฐาน Calculus และเรื่องการหา Derivative กันไปแล้ว](https://www.thepexcel.com/calculus-excel-01/) ในตอนนี้เราจะมาเรียนอีกเรื่องนึงที่สำคัญมากๆ นั่นก็คือการ Integrate นั่นเองครับ

 

ซึ่งเจ้า Integration หรือ การอินทิเกรต คือ **กระบวนการที่ตรงข้ามกับการหาอนุพันธ์ หรือ Derivative **นั่นเอง

 

## Integrate นั้นตรงข้ามกับ Differentiate

 

รูปแบบทั่วไปคือ ถ้าสมมติ diff ฟังก์กัน F(x) แล้วได้ฟังก์ชัน f(x)

 \frac{d}{dx} F(x)= f(x) 

หาเรา integrate f(x) จะได้ F(x) + c

 \int f(x) dx = F(x) + c 

โดยที่

 
- เครื่องหมาย ∫ คือเครื่องหมาย Integral
- dx คือ ตัวที่บอกว่ามันย้อนการ diff ที่เทียบกับ dx มา
- c คือค่าคงที่ (Constant) ซึ่งเดี๋ยวอ่านต่อข้างล่างจะรู้ว่าทำไมต้องใส่ +c ด้วย

 

เช่น ตอนเรียนเรื่อง Derivative เราเรียนรู้ไปว่า

 \frac{d}{dx} x^n= nx^{n-1} 

ดังนั้น ตอน Integrate จะกลับกันเป็นแบบนี้

 \int nx^{n-1} dx = x^n + c 

เช่น หากถามว่า integrate 3x^2 จะได้เท่าใหร่ ต้องบอกว่า ได้ x^3 +c เพราะสามารถเป็นไปได้หลายแบบเช่น

 
- x^3 เฉยๆ
- x^3 +5 ก็ได้
- x^3 – 2 ก็ได้
- จะเห็นว่า c จะเป็นค่าคงที่อะไรก็ได้นั่นเอง

 

ดังนั้นนี่คือสาเหตุที่เราต้องใส่ +c ไว้ในรูปสมการทั่วไปด้วย ซึ่ง**หลายๆ คนจะลืม +c ตลอด ถึงขนาดมีการทำ meme มาล้อประจำ**

 ![1](https://www.thepexcel.com/wp-content/uploads/2020/07/integrate-001-1024x759.png)
*อย่าลืม +c ด้วยนะ แงๆๆๆ*
 ![2](https://www.thepexcel.com/wp-content/uploads/2020/07/aspirinc.jpg)
*meme อันนี้อย่างเท่เลย*
 

## ความหมายที่แท้จริงของการ Integrate

 

หากการหาอนุพันธ์ได้**อัตราการเปลี่ยนแปลง** ของกราฟ เช่น

 

หากเรา **Diff เทียบต่อเวลา** เราจะแปลงระยะทาง เป็นความเร็ว เป็นความเร่ง ได้

 

```
ระยะทาง --> ความเร็ว --> ความเร่ง
```

 

ดังนั้นถ้าเรา **Integrate เทียบกับเวลา** เราก็สามารถย้อนกลับได้เช่นกัน

 

```
ความเร่ง --> ความเร็ว --> ระยะทาง
```

 

สมมติว่าเรารู้ฟังก์ชันของความเร็วของ รถวิเศษที่เรานั่ง ณ เวลาต่างๆ เป็นดังนี้

 ![3](https://www.thepexcel.com/wp-content/uploads/2020/07/integrate-002-1024x416.png) 

หาถามว่าเมื่อเวลาผ่านไป 10 วินาที รถวิเศษวิ่งไปได้ระยะทางไกลกี่เมตร? เราจะหาคำตอบยังไง??

 

แน่นอนว่าถ้าเราวิ่งด้วยความเร็วคงที่ตลอดที่ 5 m/s ถ้าวิ่งแบบนี้ไป 10 วินาที ก็คือ 5 m/s *10 s = 50 m จริงมั้ยครับ ซึ่ง**เอาจริงๆ มันก็คือการหาพื้นที่ใต้กราฟนั่นเอง**

 

ถ้าเราถามว่า ระหว่างวินาทีที่ 2 ถึง 8 วิ่งได้ระยะทางเท่าไหร่ เราก็หาพื้นที่ใต้กราฟเฉพาะวินาทีที่ 2-8

 ![4](https://www.thepexcel.com/wp-content/uploads/2020/07/integrate-003-1024x421.png) 

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

 

สมมติฟังก์ชันของความเร็วเป็น v= 3t^2+5 เราจะหาพื้นที่ใต้กราฟของเส้นโค้งนี่ได้ยังไง???

 ![5](https://www.thepexcel.com/wp-content/uploads/2020/07/integrate-004-1024x443.png) 

แนวคิดก็คือ เราจะแบ่งพื้นที่ใต้กราฟเป็นสี่เหลี่ยมผืนผ้าเล็กๆ แล้วเอามารวมกัน เช่น

 ![6](https://www.thepexcel.com/wp-content/uploads/2020/07/integrate-005-1024x441.png) 

หลักการ คือ **ถ้าเราแบ่งสี่เหลี่ยมให้แคบๆ มากๆๆๆๆ (เรียกว่า dt ละกัน) การหาพื้นที่ย่อยๆ (ds) **จะได้ว่า

 

```
พื้นที่ย่อยสี่เหลี่ยมผืนผ้า ds = สูง*กว้าง = v(t)*dt
```

 

ส่วน พื้นที่รวม เราจะใช้การ integreate มาช่วย เพราะเป็นการรวมแบบที่ dt เล็กมากๆๆ เข้าใกล้ 0 นั่นเอง

 Total Area = \int v(t)dt  

อย่าลืมว่า integrate ความเร็ว จะได้ ระยะทาง ซึ่งเราคิดไว้แล้วว่าพื้นที่ใต้กราฟของความเร็วคือระยะทาง **นั่นแปลว่า integrate ก็คือพื้นที่ใต้กราฟนั่นเอง!** (แต่พื้นที่ใต้กราฟสามารถมีส่วนเหนือแกน x เป็น +, ใต้แกน x เป็น – ได้ด้วยนะ ซึ่ง integrate แล้วจะ net หักกัน)

 

### สรุปแนวคิด

 

หากเราจะเปรียบเทียบความหมายของการหาอนุพันธ์ vs การอินทิเกรต จะเป็นแบบนี้ครับ

 
- การหาอนุพันธ์ นั้น เราจะได้**อัตราการเปลี่ยนแปลง หรือ ความชันของกราฟ** ของจุดที่สนใจ
- การอินทิเกรต นั้น เราจะ**ได้พื้นที่ใต้กราฟ** (แบบ net กัน ระหว่างพื้นที่บน กับ ล่าง)

 

## การคำนวณหาระยะทางด้วยความรู้ Integrate

 

สมมติ v(t)= 3t^2+5

 

แบบนี้ระยะทาง s ก็คือ

 s(t) = \int v(t)dt = \int (3t^2+5 )dt  

จะได้ว่า ระยะทาง s ณ วินาที่ที่ t คือแบบนี้

 

```
s(t) = t^3+5t+c
```

 

ถ้าจะหา**ระยะทางตั้งแต่วินาทีที่ 2-8** ให้ใส่ t เป็น 8 จะได้ระยะทาง ณ วินาทีที่ 8, และใส่ t เป็น 2 ได้ระยะทางวินาทีที่ 2

 

จากนั้นเอามาลบกัน

 
- ระยะทาง วินาทีที่ 8 =8^3 + 5*8 + c
- ระยะทาง วินาทีที่ 2 =2^3 + 5*2 + c
- ระยะทาง วินาทีที่ 2 ถึง 8 =(8^3 + 5*8 + c) – (2^3 + 5*2 + c)
- ซึ่ง +c จะตัดกันเสมอ
- = 534 นั่นเอง

 

แปลว่า **ระยะทาง หลังวิ่งไป 10 วินาที** ก็จะได้เป็น ระยะทาง วินาทีที่ 10 – ระยะทาง วินาทีที่ 0

 
- ระยะทาง วินาทีที่ 10 =10^3 + 5*10 + c
- ระยะทาง วินาทีที่ 0 =0^3 + 5*0 + c
- ระยะทาง วินาทีที่ 0 ถึง 10 =(10^3 + 5*10 + c) – (0^3 + 5*0 + c) ซึ่ง +c จะตัดกันเสมอเช่นกัน
- แปลว่าเราใช้ระยะทางวินาทีที่ 10 ได้เลย แบบไม่ต้องมี + c เนอะ
- = 10^3 + 5*10 = 1050 m นั่นเอง

 

## การคำนวณหาระยะทางด้วยความรู้ Excel

 

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

 ![7](https://www.thepexcel.com/wp-content/uploads/2020/07/integrate-006-1024x646.png) 

ซึ่งจะได้ 1050.0155 ซึ่งใกล้เคียงกับ 1050 แต่ไม่เป๊ะหรอกนะ เพราะ dt เราไม่ได้เล็กพอ (แค่นี้ก็อัดไปแสนบรรทัดแล้ว)

 

และนี่ก็คือ Concept ของการ Integrate ครับ หวังว่าเพื่อนๆ จะพอเห็นภาพนะ

 

## ความรู้แถม : ถ้าไม่อยากเสียพื้นที่ Excel ในการทำตาราง

 

ถ้าเราไม่อยากมานั่งทดบรรทัดเยอะๆ แบบตารางข้างบนนี้ (เป็นแสนเป็นล้านบรรทัด แถมช้าอีก) ก็**ใช้ความรู้ Array Formula หรือ Power Query มาช่วยก็ได้ (อันนี้ค่อนข้าง Advance นะ ใครไม่รู้เรื่องไม่เป็นไรครับ)** เช่น

 

### ใช้ความรู้ Array Formula ของ Excel 365

 

อยากหาระยะทาง ณ เวลา 2 วินาที

 

ใช้ SEQUENCE สร้างเลข Running ระยะเวลา เช่น

 

```
=SEQUENCE(rows,columns,start,step)
=SEQUENCE(A2/E1+1,1,0,E1)
```

 ![8](https://www.thepexcel.com/wp-content/uploads/2020/07/integrate-010.png) 

ต่อไปก็คำนวณ v ออกมาจาก v(t)= 3t^2+5 ได้

 

```
=3*SEQUENCE(A2/E1+1,1,0,E1)^2+5
```

 ![9](https://www.thepexcel.com/wp-content/uploads/2020/07/integrate-011.png) 

ต่อไปเอาไปคูณกับ dt 0.0001 แล้วหาผลรวม

 

```
=SUM((3 * SEQUENCE(A2/E1+1,1,0,E1)^2+5) * E1)
```

 

lock $ เล็กน้อย ให้ copy สูตรได้

 

```
=SUM((3 * SEQUENCE(A2/$E$1+1,1,0,$E$1)^2+5) * $E$1)
```

 ![10](https://www.thepexcel.com/wp-content/uploads/2020/07/integrate-013.png) 

### ใช้ Array Formula ของ Excel verison เก่า

 

Excel เก่าไม่มี SEQUENCE สามารถใช้ ROW+INDIRECT มาพลิกแพลงเอา เช่น

 

```
=(ROW(INDIRECT("1:"&A2/E1+1))-1)*E1
```

 

version เก่าจะไม่มี effect spill แบบนี้ แต่ไม่เป็นไร เดี๋ยวจะทำ step ต่อไปได้อยู่ดี

 ![11](https://www.thepexcel.com/wp-content/uploads/2020/07/integrate-016.png) 

**Tips** : การใช้ฟังก์ชัน INDIRECT นั้นเป็น Volatile ฟังก์ชัน ถ้าเลี่ยงได้ก็ควรจะเลี่ยง ดังนั้นเราสามารถใช้ฟังก์ชัน INDEX มาช่วยสร้าง Dynamic Range แทนได้ แล้วค่อยใช้ ROW ครอบ เช่น

 

```
=(ROW(A1:INDEX(A:A,A2/E1+1))-1)*E1
```

 ![12](https://www.thepexcel.com/wp-content/uploads/2020/07/integrate-018.png) 

จากนั้น lock $ ซะหน่อยเป็นแบบนี้

 

```
=(ROW($A$1:INDEX($A:$A,A2/$E$1+1))-1)*$E$1
```

 

สุดท้ายก็เหมือนกัน แต่ใช้ SUMPRODUCT มารวมเลยดีกว่า จะไม่ได้ต้องกด Ctrl+Shift+Enter

 

```
=SUMPRODUCT((3 * ((ROW($A$1:INDEX($A:$A,A2/$E$1+1))-1)*$E$1)^2+5) * $E$1)
```

 ![13](https://www.thepexcel.com/wp-content/uploads/2020/07/integrate-019-1024x247.png) 

### ใช้ความรู้ Power Query มาสร้างฟังก์ชัน

 

สร้าง Parameter secPara ว่าจะเอา ณ เวลาวินาทีที่เท่าไหร่

 

จากนั้นสร้าง Query MyArea มาคำนวณพื้นที่รวม โดยอ้างอิงถึง Parameter secPara ที่สร้างไว้

 

```
let
    dt=0.0001,
    NumItem = secPara/dt+1,
    Source = List.Numbers(0, NumItem,  dt), //สร้าง Sequence ด้วย List.Number
    ConvertTable = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    RenameColumns = Table.RenameColumns(ConvertTable,{{"Column1", "MyTime"}}),
    AddVel = Table.AddColumn(RenameColumns, "MyVel", each 3*Number.Power([MyTime],2)+5),
    AddArea = Table.AddColumn(AddVel, "SmallArea", each [MyVel]*dt),
    SumArea = List.Sum(AddArea[SmallArea])
in
    SumArea
```

 

แล้วเอา Query นี้แปลงเป็นฟังก์ชันโดยคลิ๊กขวา Create Function แล้วใช้ชื่อ MyAreaFx ซึ่งรับ input คือ secPara ว่าจะคำนวณระยะทาง ณ วินาทีที่เท่าไหร่

 

จากนั้นเราก็เอา Table ที่ต้องการหาระยะทาง ณ เวลาต่างๆ เข้าไป แล้วเรียกใช้ฟังก์ชัน MyAreaFx ที่สร้างไว้ ก็จบเลย

 ![14](https://www.thepexcel.com/wp-content/uploads/2020/07/integrate-014-1024x208.png) ![15](https://www.thepexcel.com/wp-content/uploads/2020/07/integrate-015.png) 

## ตอนต่อไป

 

เดี๋ยวตอนหน้าจะเป็นการประยุกต์มากขึ้นอีกหน่อยนะ เช่น [คำนวณหาจุดสูงสุดต่ำสุดด้วยการใช้ Diff](https://www.thepexcel.com/calculus-excel-03-optimization/) หรือคำนวณหาปริมาตร ด้วยการ Integrate เป็นต้น

 

## สารบัญ Calculus

---

_Source: [https://www.thepexcel.com/calculus-excel-02-integrate/](https://www.thepexcel.com/calculus-excel-02-integrate/)_
