Thep Excel

RATE – คำนวณอัตราดอกเบี้ยต่องวด

RATE เป็นฟังก์ชันการเงินที่ใช้สำหรับคำนวณอัตราดอกเบี้ยต่องวด (Interest Rate Per Period) สำหรับเงินกู้หรือการลงทุนที่มีการชำระเงินเป็นงวดๆ ด้วยจำนวนเงินคงที่ เหมาะสำหรับวิเคราะห์อัตราผลตอบแทนจากการให้กู้ยืมหรือการลงทุนในหลักทรัพย์

=RATE(nper, pmt, pv, [fv], [type], [guess])

By ThepExcel AI Agent
2 December 2025

Function Metrics


Popularity
5/10

Difficulty
6/10

Usefulness
7/10

Syntax & Arguments

=RATE(nper, pmt, pv, [fv], [type], [guess])

Argument Type Required Default Description
nper Number Yes จำนวนงวดทั้งหมด ต้องเป็นตัวเลขบวกเท่านั้น ตัวอย่าง: เงินกู้ 5 ปี ผ่อนเดือนละ 1 ครั้ง = 5*12 = 60 งวด, เงินลงทุน 10 ปี = 10 งวด
pmt Number Yes จำนวนเงินชำระต่องวด (Payment per Period) – ต้องคงที่ตลอด เครื่องหมายสำคัญ: ผ่อนชำระ (เงินออก) = ลบ (-), เงินรับ (เงินเข้า) = บวก (+) เช่น เงินกู้ผ่อน 1000 = -1000, ได้เงินหุ้นจ่ายปละ 500 = +500
pv Number Yes Present Value – มูลค่าปัจจุบัน (เงินต้น) ที่ได้รับ หรือจ่ายในเบิ้งแรก เครื่องหมาย: เงินกู้ (ได้เงิน) = บวก (+), เงินลงทุน (จ่ายเงิน) = ลบ (-) เช่น กู้เงิน 50000 = 50000, ลงทุน 50000 = -50000
fv Number Optional 0 Future Value – มูลค่าในอนาคต (เงินที่เหลือ) หลังจากสิ้นสุดทุกงวด ค่า Default = 0 หมายถึงไม่มีเงินค้างเหลือ เช่น ลงทุน 50000 ต้องการให้เป็น 60000 ใน 5 ปี = 60000, เงินกู้ต้องชำระจนหมดตัว = 0 (ไม่ต้องใส่ก็ได้)
type Number Optional 0 ระบุเวลาการชำระเงิน: 0 = สิ้นสุดงวด (End of Period) – ค่า Default, 1 = ต้นงวด (Beginning of Period) ตัวอย่าง: เงินกู้ผ่อนต้นเดือน = 1, ผ่อนปลายเดือน = 0
guess Number Optional 0.1 (10%) ค่าประมาณของอัตราดอกเบี้ยที่คาดหวัง (Initial Guess) – ช่วย RATE ลู่เข้าหาคำตอบได้เร็วขึ้น ค่า Default = 0.1 (10%) หากไม่บรรจบ (Converge) อาจต้องเปลี่ยนค่านี้ เช่น guess = 0.05 (5%), guess = 0.15 (15%)

Examples

ตัวอย่างที่ 1: พื้นฐาน – หาอัตราดอกเบี้ยรายเดือนของเงินกู้
RATE(60, -1000, 50000)
สมมติ:
– กู้เงิน 50,000 บาท (pv = 50000 เป็นบวก เพราะได้เงินเข้า)
– ผ่อนเป็นเวลา 5 ปี = 60 เดือน (nper = 60)
– ผ่อนเดือนละ 1,000 บาท (pmt = -1000 เป็นลบ เพราะจ่ายเงินออก)
– ไม่มี fv ค่า default = 0 (ชำระจนหมด)
.
ผลลัพธ์: 0.00830 = 0.83% ต่อเดือน
.
อัตราต่อปี = 0.83% × 12 = 9.96% ต่อปี (อัตราดอกเบี้ยจริง) 💰
.
💡 หมายเหตุ: เครื่องหมายสำคัญมากครับ! ถ้าเปลี่ยนเป็น pmt = 1000 (บวก) หรือ pv = -50000 (ลบ) จะได้ผลผิด
Excel Formula:

=RATE(60, -1000, 50000)

Result:

0.00830 หรือ 0.83% ต่อเดือน

ตัวอย่างที่ 2: การใช้งานจริง – หาอัตราผลตอบแทน CAGR
RATE(5, 0, -50000, 65000)
สมมติ:
– ลงทุนเงิน 50,000 บาท (pv = -50000 เป็นลบ เพราะจ่ายเงินออก)
– ไม่มีการชำระซ้ำๆ (pmt = 0)
– หลังจาก 5 ปี (nper = 5) มูลค่ากลายเป็น 65,000 บาท (fv = 65000)
.
ผลลัพธ์: 0.0696 = 6.96% ต่อปี
.
แปลว่า: เงิน 50,000 บาท เติบโตเป็น 65,000 บาท ใน 5 ปี คิดเป็นอัตราการเติบโตทบต้น (CAGR) = 6.96% ต่อปี
.
ประโยชน์: เปรียบเทียบกับการลงทุนตัวเลือกอื่นๆ เช่น ฝากธนาคาร 5% ต่อปี (ต่ำกว่า) หรือหุ้น 8% ต่อปี (สูงกว่า) 📈
Excel Formula:

=RATE(5, 0, -50000, 65000)

Result:

0.0696 หรือ 6.96% ต่อปี

ตัวอย่างที่ 3: หาอัตราดอกเบี้ยรายเดือนของสินเชื่อบ้าน
RATE(360, -11544, 2500000)*12
สมมติ:
– กู้เงินซื้อบ้าน 2,500,000 บาท (pv = 2500000)
– ระยะเวลา 30 ปี = 360 เดือน (nper = 360)
– ผ่อนเดือนละ 11,544 บาท (pmt = -11544)
– ไม่คิด fv = 0 (ชำระเสร็จสิ้น)
.
ผลลัพธ์จากสูตร: 0.004167 ต่อเดือน
คูณ 12 เพื่อได้อัตราต่อปี: 0.004167 × 12 = 0.05 = 5% ต่อปี
.
💡 สำคัญ: RATE คืนค่าต่องวดเสมอ ถ้าต้องการอัตราต่อปี ต้องคูณ 12 (สำหรับเดือน) หรือคูณ 4 (สำหรับไตรมาส) ให้ตรงกับหน่วยเวลา
Excel Formula:

=RATE(360, -11544, 2500000)*12

Result:

0.05 หรือ 5% ต่อปี

ตัวอย่างที่ 4: หาอัตราผลตอบแทนของพันธบัตร (Bond Yield)
RATE(20, 5000, -100000, 100000)
สมมติ:
– ซื้อพันธบัตร 100,000 บาท (pv = -100000 จ่ายเงินออก)
– พันธบัตรจ่ายคูปอง 5,000 บาท/ปี เป็นเวลา 20 ปี (pmt = 5000 เงินเข้า)
– หลังจาก 20 ปี พันธบัตรหักหุ้น (redemption) 100,000 บาท (fv = 100000)
.
ผลลัพธ์: 0.0471 = 4.71% ต่อปี
.
แปลว่า: เงินลงทุนในพันธบัตรนี้ให้ผลตอบแทน (Yield) 4.71% ต่อปี ซึ่งสูงกว่าปกติถ้ารวมคูปองและกำไรทุนด้วย 🎯
.
💡 ปัญหา: ถ้าไม่บรรจบ (Error #NUM!) ลองปรับ guess = 0.04 หรือ 0.05 แล้วลองใหม่
Excel Formula:

=RATE(20, 5000, -100000, 100000)

Result:

0.0471 หรือ 4.71% ต่อปี

ตัวอย่างที่ 5: ผ่อนชำระต้นงวด vs สิ้นสุดงวด (Type Parameter)
RATE(60, -1000, 50000, 0, 0) และ =RATE(60, -1000, 50000, 0, 1)
สมมติ:
– กู้เงิน 50,000 บาท
– ผ่อน 60 เดือน เดือนละ 1,000 บาท
.
การเปรียบเทียบ:
– Type=0 (ผ่อนปลายเดือน): 0.8297% = 9.956% ต่อปี ← ปกติในโลกจริง
– Type=1 (ผ่อนต้นเดือน): 0.8050% = 9.660% ต่อปี ← ต่ำกว่าเพราะจ่ายเร็ว
.
ความแตกต่าง: เมื่อผ่อนต้นเดือน เจ้าหนี้ได้เงินเร็ว จึงคิดอัตราดอกเบี้ยต่ำกว่า หรือกล่าวได้ว่าผู้กู้ได้อัตราดีกว่า 😊
.
💡 ทำไมต้องมีพารามิเตอร์นี้: เพราะการผ่อนต้นเดือนหรือปลายเดือนส่งผลต่อ Present Value ของเงินจริงๆ
Excel Formula:

=RATE(60, -1000, 50000, 0, 0) และ =RATE(60, -1000, 50000, 0, 1)

Result:

Type=0: 0.8297% | Type=1: 0.8050%

ตัวอย่างที่ 6: จัดการเมื่อ Guess ต้องเปลี่ยน (Error #NUM!)
RATE(120, -5000, 500000, 0, 0, 0.05)
สมมติ:
– กู้เงิน 500,000 บาท ผ่อน 120 เดือน เดือนละ 5,000 บาท
– Guess default = 0.1 (10%) อาจไม่ลู่เข้า → ลอง Guess = 0.05 (5%)
.
ถ้าใส่ guess = 0.05:
– RATE จะเริ่มคำนวณจาก 5% แล้วปรับให้เข้าใจ
– ได้ผลลัพธ์ 0.00813 = 0.813% ต่อเดือน = 9.756% ต่อปี
.
⚠️ ปัญหา: บ่อยครั้งสูตรคืน #NUM! error เมื่อ Guess ไม่เหมาะ:
– เหตุ: RATE ใช้ Iteration วนซ้ำ 20 ครั้ง ถ้าไม่ลู่เข้า → Error
– วิธีแก้: ลองปรับ guess ตั้งแต่ 0.01 (1%) ถึง 0.20 (20%) แล้วใช้ค่าที่ได้ผล
– โค้ด: =IFERROR(RATE(120, -5000, 500000, 0, 0, 0.05), RATE(120, -5000, 500000, 0, 0, 0.10))
Excel Formula:

=RATE(120, -5000, 500000, 0, 0, 0.05)

Result:

0.00813 หรือ 0.813% ต่อเดือน (9.756% ต่อปี)

ตัวอย่างที่ 7: สถานการณ์ซับซ้อน – เงินต้นคืน (Balloon Payment)
RATE(60, -1000, 50000, -25000)*12
สมมติ:
– กู้เงิน 50,000 บาท (pv = 50000)
– ผ่อนเดือนละ 1,000 บาท เป็นเวลา 60 เดือน (nper = 60, pmt = -1000)
– หลังจาก 5 ปี ยังติดหนี้ 25,000 บาท (fv = -25000 ยังต้องจ่ายให้เจ้าหนี้)
.
ผลลัพธ์: 0.00497 ต่อเดือน × 12 = 0.0596 = 5.96% ต่อปี
.
เหมือนว่า: ผ่อนเดือนละ 1,000 แล้วหลังจากนั้นจ่ายก้อนใหญ่ 25,000 ครั้งเดียว
.
ความหมาย: อัตราดอกเบี้ยจริงคือ 5.96% ต่อปี เมื่อคิดรวมการจ่ายอุดหนุนครั้งสุดท้ายด้วย
.
💡 สถานการณ์จริง: การกู้รถยนต์มักมี Balloon Payment เพื่อลดเงินผ่อนรายเดือน
Excel Formula:

=RATE(60, -1000, 50000, -25000)*12

Result:

0.0596 หรือ 5.96% ต่อปี

ตัวอย่างที่ 8: เปรียบเทียบแหล่งเงินกู้หลายแห่ง
RATE(60, -1000, 50000)*12 | =RATE(60, -980, 50000)*12 | =RATE(72, -750, 50000)*12
สมมติต้องการกู้เงิน 50,000 บาท มี 3 ตัวเลือก:
.
**ธนาคาร A:**
– ผ่อน 60 เดือน เดือนละ 1,000 บาท
– =RATE(60, -1000, 50000)*12 = 9.96% ต่อปี
.
**ธนาคาร B:**
– ผ่อน 60 เดือน เดือนละ 980 บาท (ต่ำกว่า)
– =RATE(60, -980, 50000)*12 = 9.35% ต่อปี ← ดีสุด!
.
**บริษัทเงินกู้ C:**
– ผ่อน 72 เดือน (ยาวกว่า) เดือนละ 750 บาท (ต่ำกว่า)
– =RATE(72, -750, 50000)*12 = 10.67% ต่อปี ← แพงสุด!
.
สรุป: ธนาคาร B ดีที่สุด (9.35%) เพราะอัตราต่ำสุด แม้ว่าธนาคาร A และ C จะดูดีเพราะเงินผ่อนต่างกัน
.
💡 เทคนิค: RATE ช่วยเปรียบเทียบตัวเลือกการกู้ยืมอย่างเป็นกลาง (Apples-to-Apples Comparison) โดยปรับให้เหมือนเงินต้นเดียวกัน
Excel Formula:

=RATE(60, -1000, 50000)*12 | =RATE(60, -980, 50000)*12 | =RATE(72, -750, 50000)*12

Result:

ธนาคาร A: 9.96% | ธนาคาร B: 9.35% | บริษัท C: 10.67%

FAQs

RATE คืน Error #NUM! หมายความว่าอะไร แก้อย่างไร?

Error #NUM! แปลว่า “No Solution Found” – RATE หาคำตอบไม่ได้ครับ 😅

**สาเหตุหลักๆ:**

1. **ข้อมูลขัดแย้งกัน** (ไม่สามารถหาอัตราให้เป็นจริงได้)
– ตัวอย่าง: กู้เงิน 50,000 ผ่อนเดือนละ 100 บาท เป็นเวลา 60 เดือน (จ่ายรวมแค่ 6,000) → ไม่มีอัตราดอกเบี้ยไหนที่สมเหตุสมผล
– แก้: ตรวจสอบ nper, pmt, pv, fv ให้ตรงกับความเป็นจริง

2. **Guess ไม่เหมาะ** (ค่าเริ่มต้น 10% อาจไม่ลู่เข้า)
– เหตุ: RATE ใช้ Iteration 20 ครั้ง ถ้า guess เริ่มต้นห่างไกลจากคำตอบจริง อาจไม่ลู่เข้า
– วิธีแก้: ลองเปลี่ยน guess เป็น 0.05 (5%), 0.01 (1%), 0.15 (15%) เป็นต้น
“`
=IFERROR(RATE(60, -1000, 50000, 0, 0, 0.05), RATE(60, -1000, 50000, 0, 0, 0.10))
“`

3. **Nper = 0 หรือค่าไม่สมเหตุสมผล**
– ตัวอย่าง: RATE(0, -1000, 50000) → Error!
– แก้: ตรวจสอบว่า nper ≥ 1 เสมอ

4. **Pmt และ Pv มีเครื่องหมายเดียวกัน**
– ตัวอย่าง: RATE(60, 1000, 50000) ← ทั้ง pmt และ pv เป็นบวก
– หมายความ: ได้เงิน 50,000 แล้วยังได้เงินเพิ่มเดือนละ 1,000 → ไม่เข้าท่า!
– แก้: ให้เครื่องหมายตรงกันข้าม pmt = -1000, pv = 50000

**วิธี Debug ที่ผมใช้:**
“`
=IFERROR(RATE(nper, pmt, pv, fv, type, guess), “ลองเปลี่ยน guess”)
“`
แล้วลองค่า guess ต่างๆ จนกว่าจะได้ผล

RATE กับ IRR ต่างกันอย่างไร ควรใช้อันไหน?

ใช่ครับ คำถามนี้ถามบ่อยมาก 😊

**ความเหมือน:**
– ทั้ง RATE และ IRR ต่างก็คำนวณอัตราผลตอบแทน (Discount Rate)
– ทั้งสองใช้ Iteration วนซ้ำ
– ทั้งสองอาจคืน Error #NUM! ได้

**ความต่างกัน:**

| สิ่ง | RATE | IRR |
|——|——|—–|
| **Input** | nper (เลข), pmt (คงที่), pv, fv | Cash Flow Series (Array) |
| **ใช้เมื่อ** | ชำระเงินเป็นจำนวนคงที่ทุกงวด (Annuity) | กระแสเงินสดแปรผัน (Variable Cash Flows) |
| **ตัวอย่าง** | เงินกู้ผ่อนคงที่ 1,000/เดือน | ลงทุนแล้วได้เงินต่างจำนวนแต่ละปี |
| **สูตร** | =RATE(60, -1000, 50000) | =IRR({-50000, 5000, 8000, 10000, …}) |
| **ง่ายต่อการใช้** | ง่าย (พารามิเตอร์ชัดเจน) | ซับซ้อนกว่า (ต้องจัดเรียง Cash Flow) |

**คำแนะนำจากผม:**
– ใช้ **RATE** เมื่อ: เงินกู้, ผ่อนราคาเท่า, เงินฝาก/เงินออม
– ใช้ **IRR** เมื่อ: ลงทุนแล้วได้เงินแบบ Variable (หุ้น, โครงการลงทุน)
– ใช้ **NPER/PMT/PV** ร่วมกับ RATE เมื่อต้องการหาตัวแปรอื่นๆ

ทำไมต้องใส่เครื่องหมาย (บวก/ลบ) ให้ถูก ถ้าลืมจะเป็นไงบ้าง?

นี่คือจุดที่ผ่อนหนักมากครับ! 😅 เครื่องหมายไม่ถูก = ผลลัพธ์ผิด

**กฎเบื้องต้น:**
– **เงินเข้า** (Inflow) = **บวก** (+)
– **เงินออก** (Outflow) = **ลบ** (-)

**ตัวอย่างการกู้ยืม:**
“`
กู้เงิน 50,000 → เงินเข้า → pv = +50000
ผ่อนเดือนละ 1,000 → เงินออก → pmt = -1000
ได้ค่าตัดจำหน่ายส่วนกลับ → เงินเข้า → fv ??? (ไม่มี = 0)
“`

**ตัวอย่างลงทุน:**
“`
ลงทุน 50,000 → เงินออก → pv = -50000
ไม่มีการชำระซ้ำ → pmt = 0
ได้เงินกลับ 65,000 → เงินเข้า → fv = +65000
“`

**ถ้าลืมใส่เครื่องหมาย:**

❌ ผิด:
“`
=RATE(60, 1000, 50000) ← pmt เป็นบวก
→ ได้ผลผิด หรือ Error #NUM!
“`

✅ ถูก:
“`
=RATE(60, -1000, 50000) ← pmt เป็นลบ
→ ได้ผล 0.83% ต่อเดือน
“`

**วิธีจำให้ง่าย:**
ลองคิดว่า “เงินของฉัน” ไหล่ไปไหน:
– ออกจากกระเป๋า (ผ่อนชำระ) = ลบ (-)
– เข้ากระเป๋า (ได้เงินคืน) = บวก (+)

💡 **Pro Tip:** ถ้าไม่แน่ใจ ลองคำนวณ 2 แบบแล้วเทียบดู คำตอบที่เหมาะสมขึ้นอยู่กับความเป็นจริง

ต้องคำนวณอัตราต่อปี (Annual Rate) อย่างไรจาก RATE?

**กฎเบื้องต้น:** RATE คืนค่าต่องวด ต้องปรับให้เป็นต่อปี

**สูตรการปรับ:**
– เงินกู้รายเดือน → **คูณ 12**
– เงินกู้รายไตรมาส → **คูณ 4**
– เงินกู้รายครึ่งปี → **คูณ 2**
– เงินกู้รายปี → **ไม่ต้องคูณ** (ใช้ได้เลย)

**ตัวอย่าง:**
“`
Annual Rate = RATE(nper, pmt, pv, fv, type, guess) × m

เมื่อ m = จำนวนงวดต่อปี (12 สำหรับเดือน)
“`

**ตัวอย่างจริง:**

**1. เงินกู้รายเดือน:**
“`
=RATE(60, -1000, 50000) = 0.00830 (0.83% ต่อเดือน)
อัตราต่อปี = 0.00830 × 12 = 0.0996 = 9.96% ต่อปี
“`

**2. ฝากเงิน (คูณโดยตรง):**
“`
=RATE(60, -1000, 50000)*12 = 9.96%
“`

**3. การปรับ APR (Effective Annual Rate):**
ถ้าต้องการดอกเบี้ยที่เคลียร์เงื่อนไข (Effective Annual Rate) ต้องใช้สูตรอื่น:
“`
EAR = (1 + r)^m – 1

เมื่อ r = RATE ต่องวด, m = งวดต่อปี

ตัวอย่าง:
r = 0.00830, m = 12
EAR = (1 + 0.00830)^12 – 1 = 0.1040 = 10.40%
“`

**ความแตกต่าง APR vs EAR:**
– **APR** (Annual Percentage Rate) = ผลรวมอัตราต่องวด × 12 = 9.96%
– **EAR** (Effective Annual Rate) = พิจารณาดอกเบี้ยทบต้น = 10.40%
– ทั่วไปธนาคารประกาศ APR เพราะดูต่ำกว่า 😅

💡 **ส่วนตัวผมแนะนำ:** ใช้ APR (คูณ 12) เพราะเป็นมาตรฐานสากล และคำนวณง่าย

RATE เป็นของอะไรไหนบ้างใน Excel? มี Function อื่นที่คล้ายกันไหม?

**RATE เป็น Financial Function** ใน Excel ที่อยู่กลุ่มเดียวกับ:

**ครอบครัว PMT Functions (Financial Calculations):**

| Function | ใช้หา | สูตร |
|———-|——–|——-|
| **RATE** | อัตราดอกเบี้ย | =RATE(nper, pmt, pv, fv) |
| **PMT** | เงินชำระต่องวด | =PMT(rate, nper, pv, fv) |
| **NPER** | จำนวนงวด | =NPER(rate, pmt, pv, fv) |
| **PV** | เงินต้น | =PV(rate, nper, pmt, fv) |
| **FV** | เงินในอนาคต | =FV(rate, nper, pmt, pv) |
| **PPMT** | ส่วนต้นในงวด | =PPMT(rate, per, nper, pv, fv) |
| **IPMT** | ส่วนดอกในงวด | =IPMT(rate, per, nper, pv, fv) |

**ความสัมพันธ์:**
ทั้งหมดใช้สมการเดียวกัน เพียงแต่แก้หาตัวแปรต่างกัน:

**PV + FV = PMT × [ (1+rate)^nper – 1 ] / rate × (1+type×rate)**

**ตัวอย่างใช้ร่วมกัน:**

**เงินกู้ 50,000 บาท อัตรา 10% ต่อปี = 0.833% ต่อเดือน:**

“`
ดึง pmt รายเดือน:
=PMT(0.833%/100, 60, -50000) = -1,055 บาท

หรือดึง rate:
=RATE(60, -1000, 50000) = 0.83% ต่อเดือน

หรือดึง nper:
=NPER(0.833%/100, -1000, 50000) = 60 เดือน

หรือดึง pv:
=PV(0.833%/100, 60, -1000) = 50,000 บาท
“`

**Function ที่คล้ายในเวอร์ชันใหม่:**
– **XLOOKUP** (ไม่เกี่ยว) – สำหรับค้นหา
– **IRR** – สำหรับ Internal Rate of Return (กระแสเงินแปรผัน)
– **XIRR** – สำหรับ IRR ของเงินที่ไม่คงที่และช่วงเวลาไม่เท่า

💡 **ส่วนตัวผมแนะนำ:** เรียนรู้ RATE + PMT + NPER + PV + FV ให้ครบ เพราะสามารถแก้ปัญหาการเงินได้ครอบจักรวาลเลย 😎

ทำไม RATE ช้า เมื่อมี PMT หลายงวด ต้องลองเหมือน PMT ทั่วไปหลายครั้งไหม?

ใช่ครับ นี่คือเหตุผลที่ RATE ใช้ **Iteration** (วนซ้ำ) 😊

**เหตุผล:**

**1. ไม่มีสูตรปิด (Closed-form Solution)**
– สมการที่ RATE ต้องแก้: `PV + PMT×[(1+r)^nper-1]/r + FV/(1+r)^nper = 0`
– ไม่สามารถแก้เพื่อหา r ด้วยพีชคณิตได้โดยตรง (ต่างจาก PMT ที่เป็นสูตรเชิงเส้น)
– บังคับต้อง “ลองหา” ด้วย Newton-Raphson Method

**2. วิธี Iteration ของ RATE:**
“`
Iteration ที่ 1: ลองค่า r = 0.1 (10%) → ตรวจสอบผล
Iteration ที่ 2: ลองค่า r = 0.08 → ตรวจสอบผล (ใกล้เข้ามา)
Iteration ที่ 3: ลองค่า r = 0.0083 → ตรวจสอบผล (ใกล้เข้ามา)

Iteration ที่ 20: ถ้าลู่เข้า → คืนค่า หรือ Error #NUM!
“`

**3. ประสิทธิภาพ:**
– โดยปกติ RATE บรรจบใน 3-5 iteration (เร็ว)
– แต่ถ้า guess ห่างจากคำตอบจริง อาจต้อง 10-20 iteration
– Excel กำหนด Limit 20 iteration หากไม่ลู่เข้า → Error #NUM!

**ตัวอย่างความเร็ว:**
“`
Calculate RATE(60, -1000, 50000):
– Iteration 1-5: ประมาณ 0.0083 ±5% ← บรรจบ!
– ลำดับเวลา: < 1 millisecond ← เร็วมาก!

แต่ถ้า guess ผิด guess = 0.5 (50%):
– Iteration 1-20: ปรับลงมา 0.0083 ± 0.001
– ลำดับเวลา: 1-2 milliseconds ← ช้ากว่าเล็กน้อย
“`

**จะช้ามากไหม (Performance Impact)?**

ปกติ **ไม่** มีปัญหา เพราะ:
– RATE วนแค่ 20 ครั้งสูงสุด (ไม่ได้เยอะ)
– ใน Excel sheet 1,000 เซลล์ก็คำนวณเสร็จใน < 100ms

**แต่ถ้า…**
– ใช้ RATE ใน **Data Table** (recalculate หลายพัน times) → เหนื่อย
– ใช้ RATE ใน **Array Formula** ของหมื่นแถว → โปรแกรมช้า

**วิธีเร่งความเร็ว:**
1. ใช้ `Guess` ที่ดี (default 0.1 มักดี)
2. ถ้าใช้ RATE เยอะๆ ปิด Automatic Calculation: `Ctrl+Alt+F9`
3. ใช้ **Goal Seek** แทน RATE สำหรับกรณี 1-2 การคำนวณ
4. ใช้ VBA/Macro เขียน Solver ที่เร็วกว่า (เท่านั้น)

💡 **สรุป:** RATE ไม่ช้า เพียงแต่ "ลองหา" แทนที่จะคำนวณตรง เหตุในการใช้งานปกติจะไม่มีปัญหา

Resources & Related

Related functions

Additional Notes

RATE เป็นฟังก์ชันการเงินที่ใช้คำนวณอัตราดอกเบี้ยต่องวด ซึ่งมีประโยชน์มากสำหรับทางด้านการเงินครับ 😊

ตัวอย่างการใช้งาน ได้แก่:

  • หาอัตราดอกเบี้ยที่แท้จริงของเงินกู้ (ถ้ารู้จำนวนงวด, เงินชำระต่องวด, และเงินต้น)
  • คำนวณ CAGR (Compound Annual Growth Rate) – อัตราการเติบโตทบต้นต่อปี
  • วิเคราะห์ผลตอบแทนของพันธบัตร (Bond Yield)
  • เปรียบเทียบอัตราผลตอบแทนของการลงทุนต่างๆ

ที่ต้องระวังคือ RATE ใช้วิธี Iteration (วนซ้ำคำนวณ) เพื่อหาคำตอบ และอาจคืนค่าผิดพลาด #NUM! ได้ถ้าสูตรไม่ลู่เข้า นอกจากนั้น ต้องระวังเรื่องเครื่องหมายเงิน (บวก-ลบ) ให้ถูกต้องด้วยครับ

Leave a Reply

Your email address will not be published. Required fields are marked *