---
title: Text.AfterDelimiter – ดึงข้อความส่วนหลังตัวคั่น
url: https://www.thepexcel.com/functions/power-query/text-functions/text-afterdelimiter/
type: function-explainer
program: Power Query
syntax: "Text.AfterDelimiter(text as text, delimiter as text, optional index as any) as any"
date: 2025-12-03
updated: 2025-12-24
scores:
  popularity: 6
  difficulty: 3
  usefulness: 6
---

# Text.AfterDelimiter – ดึงข้อความส่วนหลังตัวคั่น

> ดึงข้อความหลังจากตัวคั่นที่กำหนด สามารถเลือกว่าจะใช้ตัวคั่นที่ 1, 2, 3 เป็นต้น

## คำอธิบาย

ดึงข้อความหลังจากตัวคั่นที่กำหนด สามารถเลือกว่าจะใช้ตัวคั่นที่ 1, 2, 3 เป็นต้น

## Syntax

```excel
Text.AfterDelimiter(text as text, delimiter as text, optional index as any) as any
```

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| text | Yes | text |  | ข้อความหลักที่จะดึงข้อมูลจาก |
| delimiter | Yes | text |  | ตัวคั่นที่ใช้เป็นจุดอ้างอิง เช่น '.' '-' ',' '/' เป็นต้น |
| index | No | number or list | 0 (ตัวแรก) | กำหนดตัวคั่นอันไหนที่จะใช้ (0-based) หรือ {occurrence, RelativePosition.FromStart/FromEnd} สำหรับนับจากต้นหรือท้าย |

## ตัวอย่าง

### 1. ตัวอย่างพื้นฐาน - ดึงส่วนหลังตัวคั่นแรก

```excel
= Text.AfterDelimiter("report.xlsx", ".")
```

**ผลลัพธ์:** `"xlsx"`

ดึงข้อความหลังจุด จะได้ 'xlsx' เพื่อใช้สำหรับดึงนามสกุลไฟล์

### 2. ตัวอย่างข้อมูลหลายตัวคั่น - ใช้ index

```excel
= Text.AfterDelimiter("111-222-333", "-", 1)
```

**ผลลัพธ์:** `"333"`

มี dash 2 ตัว index 0 ใช้ dash แรก index 1 ใช้ dash ที่สอง จึงได้ข้อความหลัง dash ที่สองคือ '333'

### 3. ตัวอย่างนับจากท้ายสตริง - RelativePosition

```excel
= Text.AfterDelimiter("111-222-333", "-", {1, RelativePosition.FromEnd})
```

**ผลลัพธ์:** `"222-333"`

นับจากท้ายสตริง {1, FromEnd} หมายถึง dash ที่สองจากท้าย ผลลัพธ์คือข้อความหลังจากนั้น '222-333'

### 4. ตัวอย่างจริง - ดึงชื่อโดเมนจากอีเมล

```excel
= Text.AfterDelimiter("john.doe@company.com", "@")
```

**ผลลัพธ์:** `"company.com"`

ดึงโดเมนจากอีเมลโดยใช้ @ เป็นตัวคั่น ผลลัพธ์คือ 'company.com'

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

- ใช้ try-catch เพื่อจัดการกรณีที่ตัวคั่นไม่พบ เช่น try Text.AfterDelimiter(...) otherwise null

- ถ้าข้อมูลมีตัวคั่นหลายตัวติดต่อกัน เช่น "A--B" ให้ลองใช้ Text.Replace สำหรับทำให้เป็นตัวเดียวก่อน

- ร่วมกับ List.Transform ได้ดี เมื่อต้องดึง AfterDelimiter จากหลายแถว

- สำหรับ delimiter มากกว่า 1 ตัว (เช่นพื้นที่) ให้ช่วยแบ่งก่อนด้วย Text.Trim

- เมื่อต้องการทั้ง before และ after delimiter ให้ใช้ Text.BeforeDelimiter และ Text.AfterDelimiter รวมกัน

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

**Q: ถ้าตัวคั่นไม่มีในข้อความจะเกิดอะไร?**

ฟังก์ชันจะส่งคืน null (ค่าว่าง) หรือข้อมูลหลัก ขึ้นอยู่กับการตั้งค่า ลองใช้ try-catch หรือ if error เพื่อจัดการสถานการณ์นี้

**Q: index parameter ควรใช้กี่แบบ?**

3 แบบ: (1) เลขธรรมชาติ 0, 1, 2 เป็นต้น นับจากซ้าย (2) {occurrence, RelativePosition.FromStart} นับจากซ้ายชัดเจน (3) {occurrence, RelativePosition.FromEnd} นับจากขวา

**Q: ความแตกต่างระหว่าง Text.AfterDelimiter กับ Text.Split คืออะไร?**

Text.Split แยกข้อความทั้งหมด ส่งคืน list ของทั้งหมด ส่วน Text.AfterDelimiter ดึงส่วนหลังตัวคั่นตัวเดียวเท่านั้น ทำให้ AfterDelimiter เร็วกว่าและเรียบง่ายสำหรับกรณีหลาย ๆ อย่าง

## ฟังก์ชันที่เกี่ยวข้อง

- [Text.BeforeDelimiter – ดึงข้อความก่อนตัวคั่น](https://www.thepexcel.com/functions/power-query/text-functions/text-beforedelimiter/)
- [Text.BetweenDelimiters – ดึงข้อความระหว่างตัวคั่น](https://www.thepexcel.com/functions/power-query/text-functions/text-betweendelimiters/)

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

- [Microsoft Learn - Text.AfterDelimiter](https://learn.microsoft.com/en-us/powerquery-m/text-afterdelimiter) _(official)_
- [PowerQuery.how - Text.AfterDelimiter](https://powerquery.how/text-afterdelimiter/) _(article)_

---

_Source: [https://www.thepexcel.com/functions/power-query/text-functions/text-afterdelimiter/](https://www.thepexcel.com/functions/power-query/text-functions/text-afterdelimiter/)_
