---
title: REPLACE – แทนที่ข้อความบางส่วน (DAX)
url: https://www.thepexcel.com/functions/dax/text/replace-dax/
type: function-explainer
program: DAX
syntax: "REPLACE(text, start_position, num_chars, new_text)"
date: 2025-12-14
updated: 2025-12-17
scores:
  popularity: 5
  difficulty: 3
  usefulness: 5
---

# REPLACE – แทนที่ข้อความบางส่วน (DAX)

> แทนที่ข้อความตามตำแหน่งและจำนวนอักขระที่กำหนด

## คำอธิบาย

REPLACE แทนที่อักขระจำนวนหนึ่งในสตริง โดยเริ่มจากตำแหน่งที่ระบุ เหมาะกับการแก้ไขข้อความเฉพาะตำแหน่ง เช่น เปลี่ยนคำนำหน้า แทนที่ตัวเลขบางหลัก หรือซ่อนบางส่วนของข้อมูล

## Syntax

```excel
REPLACE(text, start_position, num_chars, new_text)
```

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| text | Yes | text |  | ข้อความต้นฉบับที่ต้องการแทนที่บางส่วน |
| start_position | Yes | integer |  | ตำแหน่งเริ่มต้น (นับจาก 1) ที่ต้องการเริ่มแทนที่ |
| num_chars | Yes | integer |  | จำนวนอักขระที่ต้องการแทนที่จากตำแหน่งเริ่มต้น |
| new_text | Yes | text |  | ข้อความใหม่ที่ใช้แทนที่อักขระเดิม |

## เคสการใช้งาน

### จัดรูปแบบรหัสสินค้า

เปลี่ยนคำนำหน้ารหัสสินค้าเฉพาะตำแหน่ง เพื่อให้สอดคล้องกับมาตรฐานใหม่

_เหมาะกับ:_ code-standardization

### ซ่อนข้อมูลบางส่วน

ซ่อนบางหลักของเบอร์โทรหรือเลขบัตร โดยแทนที่ด้วยเครื่องหมายอื่น

_เหมาะกับ:_ data-masking

### แก้ไขข้อความที่ผิดตำแหน่ง

แทนที่คำหรืออักขระที่ผิดในตำแหน่งที่ทราบล่วงหน้าในชุดข้อมูลขนาดใหญ่

_เหมาะกับ:_ data-cleaning

## ตัวอย่าง

### 1. แทนที่คำนำหน้ารหัสสินค้า

```excel
ProductCode Fixed = REPLACE("OLD-12345", 1, 3, "NEW")
```

**ผลลัพธ์:** `"NEW-12345"`

แทนที่ 3 อักขระแรกจาก OLD เป็น NEW เพื่ออัปเดตรหัสสินค้าให้เป็นมาตรฐานใหม่

### 2. ซ่อนบางส่วนของหมายเลขโทรศัพท์

```excel
Masked Phone = REPLACE("0812345678", 4, 3, "***")
```

**ผลลัพธ์:** `"081***5678"`

แทนที่หลักที่ 4-6 ด้วย *** เพื่อไม่เปิดเผยหมายเลขเต็ม แต่ยังเหลือโครงสร้างที่พอระบุได้

### 3. แก้ไขตัวอักษรเฉพาะตำแหน่ง

```excel
Corrected Code = REPLACE("A1C4", 3, 1, "B")
```

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

เปลี่ยนอักขระตัวที่ 3 จาก C เป็น B โดยไม่ต้องแก้ข้อความส่วนอื่น ช่วยลดข้อผิดพลาดในการกรอกข้อมูล

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

**Q: ต่างจาก SUBSTITUTE อย่างไร?**

REPLACE ใช้ตำแหน่งและจำนวนอักขระในการแทนที่ ส่วน SUBSTITUTE ใช้ค้นหาข้อความที่ตรงกันแล้วแทนที่ จึงเหมาะกับกรณีต่างกัน

**Q: เริ่มนับตำแหน่งที่ 0 หรือ 1?**

เริ่มนับที่ 1 เสมอ ตำแหน่งแรกคือ 1 ถ้าตำแหน่งน้อยกว่า 1 จะเกิดข้อผิดพลาด

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

- [SUBSTITUTE – แทนที่ข้อความที่ตรงกัน](https://www.thepexcel.com/functions/dax/text/substitute-dax/)
- replacevalue-dax
- [SEARCH – ค้นหาตำแหน่งข้อความ (ไม่สนตัวพิมพ์) ใน DAX](https://www.thepexcel.com/functions/dax/text/search-dax/)
- [FIND – หาตำแหน่งข้อความ (แบบแยกตัวพิมพ์ใหญ่/เล็ก)](https://www.thepexcel.com/functions/dax/text/find-dax/)
- [MID – ดึงข้อความจากตรงกลางตามตำแหน่งและจำนวนตัวอักษร](https://www.thepexcel.com/functions/dax/text/mid-dax/)
- [LEFT – ตัดข้อความจากซ้าย (DAX)](https://www.thepexcel.com/functions/dax/text/left-dax/)
- [RIGHT – ตัดข้อความจากขวา (DAX)](https://www.thepexcel.com/functions/dax/text/right-dax/)
- [VALUE – แปลงข้อความตัวเลขให้เป็นตัวเลข](https://www.thepexcel.com/functions/dax/text/value-dax/)
- [FIXED – แปลงตัวเลขเป็นข้อความพร้อมกำหนดทศนิยม/คอมมา](https://www.thepexcel.com/functions/dax/text/fixed-dax/)

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

- [DAX Guide: REPLACE](https://dax.guide/replace/) _(documentation)_
- [Microsoft Learn: REPLACE](https://learn.microsoft.com/en-us/dax/replace-function-dax) _(documentation)_

---

_Source: [https://www.thepexcel.com/functions/dax/text/replace-dax/](https://www.thepexcel.com/functions/dax/text/replace-dax/)_
