---
title: YEARFRAC – คำนวณสัดส่วนของปีระหว่างสองวัน
url: https://www.thepexcel.com/functions/excel/date-and-time/yearfrac/
type: function-explainer
program: Excel
syntax: "=YEARFRAC(start_date, end_date, [basis])"
date: 2025-12-02
updated: 2025-12-23
scores:
  popularity: 5
  difficulty: 4
  usefulness: 8
---

# YEARFRAC – คำนวณสัดส่วนของปีระหว่างสองวัน

> YEARFRAC คำนวณว่าระหว่างวันที่สองวัน ผ่านไปแล้วกี่เปอร์เซ็นต์ของปี เป็นเลขทศนิยม

## คำอธิบาย

YEARFRAC คำนวณว่าระหว่างวันที่สองวัน ผ่านไปแล้วกี่เปอร์เซ็นต์ของปี เป็นเลขทศนิยม

## Syntax

```excel
=YEARFRAC(start_date, end_date, [basis])
```

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| start_date | Yes | Date |  | วันที่เริ่มต้น (ใช้ DATE() ดีกว่า hardcode ตรงวัน) |
| end_date | Yes | Date |  | วันที่สิ้นสุด (ใช้ TODAY() ได้ถ้าต้องการวันปัจจุบัน) |
| basis | No | Number (0-4) | 0 | วิธีนับวัน - 0=US 30/360 (ค่าเริ่มต้น), 1=Actual/Actual, 2=Actual/360, 3=Actual/365, 4=European 30/360 |

## ตัวอย่าง

### 1. ตัวอย่างพื้นฐาน: ครึ่งปี

```excel
=YEARFRAC(DATE(2024,1,1), DATE(2024,7,1))
```

**ผลลัพธ์:** `0.5`

จากวันที่ 1 มกราคม 2024 ถึง 1 กรกฎาคม 2024 = 0.5 ปี (ครึ่งปี)

### 2. ตัวอย่างจริง: อายุงานพนักงาน

```excel
สมมติ: A2=วันที่เริ่มงาน (1/6/2020), B2=TODAY()
=YEARFRAC(A2, B2)
ผลลัพธ์: 5.52 ปี
```

**ผลลัพธ์:** `5.52`

พนักงานทำงานมา 5.52 ปี ตั้งแต่เดือน มิถุนายน 2020 ใช้สำหรับคำนวณสวัสดิการประจำปีตามอายุงาน

### 3. เปรียบเทียบ basis ต่างๆ (leap year)

```excel
สมมติ: A2=1/1/2024 (ปีอธิกสุรทิน), B2=12/31/2024
Basis 0: =YEARFRAC(A2,B2,0) = 0.9973
Basis 1: =YEARFRAC(A2,B2,1) = 1.0027
```

**ผลลัพธ์:** `Basis 0 = 0.9973, Basis 1 = 1.0027`

Basis 0 (30/360) ประมาณเดือนเป็น 30 วัน ไม่คำนึง leap year = 360 วัน
Basis 1 (Actual/Actual) นับวันจริง รวม 366 วันของปี leap = ผลลัพธ์ > 1

### 4. การคำนวณดอกเบี้ย (Advanced)

```excel
สมมติ: A2=วันเริ่ม (1/1/2024), B2=วันสิ้น (6/30/2024), C2=อัตราดอกเบี้ย 6%
=C2 * 100000 * YEARFRAC(A2, B2, 1)
ผลลัพธ์: 3,041.10
```

**ผลลัพธ์:** `3,041.10`

ดอกเบี้ยสำหรับจำนวนเงิน 100,000 บาท อัตรา 6% ต่อปี สำหรับ 181 วัน (1 ม.ค. - 30 มิถุนายน 2024) = 3,041.10 บาท

## หมายเหตุเพิ่มเติม

- ใช้ DATE(year, month, day) แทน hardcode วัน ทำให้เปลี่ยนค่าได้ง่าย และ Excel รู้ว่าเป็น date ที่แน่นอน

- ถ้าคำนวณดอกเบี้ย ลองทั้ง 5 basis และเปรียบเทียบกับเอกสารอ้างอิง ฟังดูเหม็วแต่ถูกต้องเสมอ

- =YEARFRAC(start_date, TODAY()) ให้คุณรู้ว่าผ่านไปแล้วกี่ปี ใช้ได้กับอายุงาน พยุงการจ้าง หรือติดตามสัญญา

- Leap year (ปีอธิกสุรทิน) ส่งผลต่อ Basis 1 (Actual/Actual) เฉพาะ basis 0 (30/360) ไม่สนใจ leap year

- ใช้ร่วมกับ ROUND() ถ้าต้องการปัดเศษ เช่น =ROUND(YEARFRAC(...), 2) เพื่อได้ 2 ตำแหน่งทศนิยม

## คำถามที่พบบ่อย

**Q: ต้องเลือก basis ไหนสำหรับการคำนวณดอกเบี้ย?**

ขึ้นกับประเทศและสัญญา:
- สหรัฐ (US): Basis 0 (30/360) ทั่วไป
- EU และตลาดระหว่างประเทศ: Basis 1 (Actual/Actual)
- สินเชื่อบ้าน: Basis 2 (Actual/360) หรือ Basis 3 (Actual/365)
- ไทย: ส่วนใหญ่ใช้ Basis 0 หรือ 1 (เช็คเอกสารสัญญาเสมอ)
กลอุบาย: ถ้าไม่แน่ใจ บอก Excel ให้ลองทั้ง 5 แบบ แล้วดูว่า basis ไหนให้ผลลัพธ์เท่ากับเอกสารอ้างอิง

**Q: ทำไม =YEARFRAC(DATE(2024,12,31), DATE(2024,1,1)) ให้ผลลบ?**

เพราะ end_date < start_date YEARFRAC คำนวณวันความแตกต่างเป็นลบ ถ้าต้องการค่าสัมบูรณ์ ใช้ =ABS(YEARFRAC(...))

**Q: YEARFRAC vs DATEDIF ต่างไหม?**

- YEARFRAC: คำนวณเป็นเศษส่วนของปี (0.5, 0.25, etc.) มี basis ยืดหยุ่น
- DATEDIF: คำนวณเป็นจำนวนเต็ม (วัน, เดือน, ปี) ไม่มี basis
ใช้ YEARFRAC ถ้าต้องการทศนิยม, DATEDIF ถ้าต้องการจำนวนเต็ม

**Q: ทำไม =INT(YEARFRAC(DATE(2000,1,15), TODAY())) ไม่เท่ากับอายุจริง?**

เพราะ YEARFRAC นับวันจริงทั้งหมด ถ้า INT=25 แปลว่า 25 ปีเต็มผ่านไปแล้ว แต่วันเกิดปีนี้อาจยังไม่ถึง
ถ้าต้องการอายุสำเร็จปี ใช้ =YEAR(TODAY())-YEAR(วันเกิด)-IF(OR(MONTH(TODAY())

**Q: ใช้ YEARFRAC กับข้อมูลเป็นข้อความ (text) ได้ไหม?**

ได้ แต่ Excel ต้องเข้าใจรูปแบบวันที่ก่อน เสี่ยงข้อผิดพลาด ดีกว่าใช้ DATE() หรือ DATEVALUE() แปลงเป็น date object ก่อน

## แหล่งข้อมูลเพิ่มเติม

- [Microsoft Office Support - YEARFRAC](https://support.microsoft.com/en-us/office/yearfrac-function-3844141e-c76d-4143-82b6-208454ddc6a8) _(official)_
- [Excel 365 Function Reference](https://learn.microsoft.com/en-us/office/client-developer/excel/excel-functions-by-category) _(official)_

---

_Source: [https://www.thepexcel.com/functions/excel/date-and-time/yearfrac/](https://www.thepexcel.com/functions/excel/date-and-time/yearfrac/)_
