Thep Excel

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

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

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

ความนิยม5/10
ความยาก6/10
ประโยชน์7/10

อัปเดต 2 December 2025

Syntax & Arguments

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

[ ] = อาร์กิวเมนต์ที่ไม่บังคับ

Additional Notes

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

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

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

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

Examples

ตัวอย่างที่ 1: พื้นฐาน – หาอัตราดอกเบี้ยรายเดือนของเงินกู้RATE(60, -1000, 50000)

สมมติ:
– กู้เงิน 50,000 บาท (pv = 50000 เป็นบวก เพราะได้เงินเข้า)
– ผ่อนเป็นเวลา 5 ปี = 60 เดือน (nper = 60)
– ผ่อนเดือนละ 1,000 บาท (pmt = -1000 เป็นลบ เพราะจ่ายเงินออก)
– ไม่มี fv ค่า default = 0 (ชำระจนหมด)

ผลลัพธ์: 0.00618 = 0.83% ต่อเดือน

อัตราต่อปี = 0.83% × 12 = 9.96% ต่อปี (อัตราดอกเบี้ยจริง) 💰

💡 หมายเหตุ: เครื่องหมายสำคัญมากครับ! ถ้าเปลี่ยนเป็น pmt = 1000 (บวก) หรือ pv = -50000 (ลบ) จะได้ผลผิด

fx
=RATE(60, -1000, 50000)

ผลลัพธ์0.00618 หรือ 0.62% ต่อเดือน
ตัวอย่างที่ 2: การใช้งานจริง – หาอัตราผลตอบแทน CAGRRATE(5, 0, -50000, 65000)

สมมติ:
– ลงทุนเงิน 50,000 บาท (pv = -50000 เป็นลบ เพราะจ่ายเงินออก)
– ไม่มีการชำระซ้ำๆ (pmt = 0)
– หลังจาก 5 ปี (nper = 5) มูลค่ากลายเป็น 65,000 บาท (fv = 65000)

ผลลัพธ์: 0.0539 = 6.96% ต่อปี

แปลว่า: เงิน 50,000 บาท เติบโตเป็น 65,000 บาท ใน 5 ปี คิดเป็นอัตราการเติบโตทบต้น (CAGR) = 6.96% ต่อปี

ประโยชน์: เปรียบเทียบกับการลงทุนตัวเลือกอื่นๆ เช่น ฝากธนาคาร 5% ต่อปี (ต่ำกว่า) หรือหุ้น 8% ต่อปี (สูงกว่า) 📈

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

ผลลัพธ์0.0539 หรือ 5.39% ต่อปี
ตัวอย่างที่ 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.04 = 5% ต่อปี

💡 สำคัญ: RATE คืนค่าต่องวดเสมอ ถ้าต้องการอัตราต่อปี ต้องคูณ 12 (สำหรับเดือน) หรือคูณ 4 (สำหรับไตรมาส) ให้ตรงกับหน่วยเวลา

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

ผลลัพธ์0.04 หรือ 3.73% ต่อปี
ตัวอย่างที่ 4: หาอัตราผลตอบแทนของพันธบัตร (Bond Yield)RATE(20, 5000, -100000, 100000)

สมมติ:
– ซื้อพันธบัตร 100,000 บาท (pv = -100000 จ่ายเงินออก)
– พันธบัตรจ่ายคูปอง 5,000 บาท/ปี เป็นเวลา 20 ปี (pmt = 5000 เงินเข้า)
– หลังจาก 20 ปี พันธบัตรหักหุ้น (redemption) 100,000 บาท (fv = 100000)

ผลลัพธ์: 0.0500 = 5.00% ต่อปี

แปลว่า: เงินลงทุนในพันธบัตรนี้ให้ผลตอบแทน (Yield) 5.00% ต่อปี ซึ่งสูงกว่าปกติถ้ารวมคูปองและกำไรทุนด้วย 🎯

💡 ปัญหา: ถ้าไม่บรรจบ (Error #NUM!) ลองปรับ guess = 0.04 หรือ 0.05 แล้วลองใหม่

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

ผลลัพธ์0.0500 หรือ 5.00% ต่อปี
ตัวอย่างที่ 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 ของเงินจริงๆ

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

ผลลัพธ์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.00311 = 0.311% ต่อเดือน = 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))

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

ผลลัพธ์0.00311 หรือ 0.311% ต่อเดือน (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.1771 = 5.96% ต่อปี

เหมือนว่า: ผ่อนเดือนละ 1,000 แล้วหลังจากนั้นจ่ายก้อนใหญ่ 25,000 ครั้งเดียว

ความหมาย: อัตราดอกเบี้ยจริงคือ 5.96% ต่อปี เมื่อคิดรวมการจ่ายอุดหนุนครั้งสุดท้ายด้วย

💡 สถานการณ์จริง: การกู้รถยนต์มักมี Balloon Payment เพื่อลดเงินผ่อนรายเดือน

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

ผลลัพธ์0.1771 หรือ 17.71% ต่อปี
ตัวอย่างที่ 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) โดยปรับให้เหมือนเงินต้นเดียวกัน

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

ผลลัพธ์ธนาคาร 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

ฟังก์ชันที่ผู้เขียนโยงไว้กับ RATE จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง

ฟังก์ชันนี้RATEFinancial
Financial (20)
CUMPRINC

CUMPRINC ใช้คำนวณ 'ยอดเงินต้นสะสม' ที่จ่ายไปในช่วงงวดที่กำหนดของเงินกู้/การผ่อนชำระ โดยอิงจากอัตราดอกเบี้ย จำนวนงวด และมูลค่าเงินต้น เหมาะกับการทำตารางผ่อนและแยกเงินต้น/ดอกเบี้ยในแต่ละช่วงเวลา

DISC

DISC คำนวณอัตราส่วนลด (Discount Rate) ต่อปีสำหรับหลักทรัพย์จำหน่าย

EFFECT

EFFECT คำนวณอัตราดอกเบี้ยที่แท้จริง (Effective Annual Rate) จากอัตราดอกเบี้ยที่ระบุ (Nominal Rate) และความถี่ของการทบต้น

FV

FV คำนวณมูลค่าลงทุนในอนาคต โดยอ้างอิงจากอัตราดอกเบี้ยคงที่ จำนวนงวดการจ่ายเงิน และจำนวนเงินจ่ายต่องวด เหมาะสำหรับการวางแผนการออมและลงทุน

FVSCHEDULE

คำนวณมูลค่าในอนาคตของเงินต้น เมื่ออัตราดอกเบี้ยเปลี่ยนแปลงไปในแต่ละช่วง

INTRATE

คำนวณอัตราดอกเบี้ยประจำปีแบบ simple interest สำหรับตราสารส่วนลด (discount security) ที่ไม่มีคูปองจ่ายระหว่างทาง จากเงินลงทุน เงินไถ่ถอน วันซื้อ และวันครบกำหนด

IPMT

คำนวณดอกเบี้ยที่ต้องจ่ายในงวดที่ระบุสำหรับเงินกู้หรือการลงทุน โดยใช้อัตราดอกเบี้ยและการจ่ายชำระคงที่

IRR

IRR คำนวณอัตราผลตอบแทนภายใน (Internal Rate of Return) สำหรับชุดกระแสเงินสด โดยเป็นอัตราที่ทำให้มูลค่าปัจจุบันสุทธิ (NPV) เท่ากับ 0

ISPMT

ISPMT คำนวณดอกเบี้ยที่จ่ายในแต่ละงวด สำหรับสินเชื่อที่มีการจ่ายเงินต้นเท่าๆ กันตลอด

MIRR

คำนวณอัตราผลตอบแทนภายในที่ปรับปรุงแล้ว (Modified IRR) โดยแยกอัตราเงินกู้และอัตราลงทุนต่อ ให้ผลลัพธ์สมจริงกว่า IRR ธรรมดา

NOMINAL

NOMINAL คำนวณอัตราดอกเบี้ยระบุ (Nominal Rate) จาก Effective Rate โดยคำนึงถึงจำนวนครั้งทบต้นต่อปี

NPER

คำนวณจำนวนงวดที่ต้องใช้ในการชำระเงินให้หมดโดยพิจารณาจากอัตราดอกเบี้ย, เงินที่ชำระต่องวด, เงินต้น, และเป้าหมายเงินที่เหลือ

NPV

คำนวณมูลค่าปัจจุบันสุทธิของการลงทุน โดยใช้อัตราคิดลดและกระแสเงินสดในอนาคต

PDURATION

PDURATION คำนวณว่าต้องใช้เวลากี่งวดเพื่อให้เงินลงทุนโตจากมูลค่าปัจจุบันเป็นมูลค่าอนาคตที่ต้องการ

PMT

PMT คำนวณค่างวดที่ต้องจ่ายต่อเดือนจากยอดเงินกู้ อัตราดอกเบี้ย และจำนวนงวด โดยค่าที่ได้จะรวมทั้งเงินต้นและดอกเบี้ยแต่ไม่รวมภาษีและค่าธรรมเนียม

PPMT

PPMT คำนวณเฉพาะเงินต้นที่จ่ายในงวดที่ระบุ โดยแยกออกจากดอกเบี้ย ตรงข้ามกับ PMT ที่รวมทั้งเงินต้นและดอกเบี้ย

PRICE

PRICE คำนวณราคาต่อมูลค่า 100 บาทของพันธบัตร โดยพิจารณาจากอัตราดอกเบี้ย ผลตอบแทน และสัญญาการจ่ายดอกเบี้ย

PV

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

RRI

RRI ช่วยหาอัตราดอกเบี้ยประจำปี (CAGR: Compound Annual Growth Rate) จากค่าเริ่มต้น ค่าสิ้นสุด และจำนวนปี

TBILLYIELD

TBILLYIELD คำนวณผลตอบแทน (Yield) ของตั๋วเงินคลังในรูปแบบเปอร์เซ็นต์ต่อปี โดยอ้างอิงจากวันซื้อ วันครบกำหนด และราคาซื้อ

Comments

อีเมลของคุณจะไม่ถูกเผยแพร่