---
title: UPPER – แปลงข้อความเป็นตัวพิมพ์ใหญ่ทั้งหมด
url: https://www.thepexcel.com/functions/dax/text/upper-dax/
type: function-explainer
program: DAX
syntax: "UPPER(<Text>)"
date: 2025-12-13
updated: 2025-12-25
scores:
  popularity: 6
  difficulty: 2
  usefulness: 6
---

# UPPER – แปลงข้อความเป็นตัวพิมพ์ใหญ่ทั้งหมด

> UPPER แปลงข้อความให้เป็นตัวพิมพ์ใหญ่ทั้งหมด ใช้บ่อยเพื่อปรับปรุงคุณภาพข้อมูลและทำให้การเปรียบเทียบข้

## คำอธิบาย

UPPER แปลงข้อความให้เป็นตัวพิมพ์ใหญ่ทั้งหมด ใช้บ่อยเพื่อปรับปรุงคุณภาพข้อมูลและทำให้การเปรียบเทียบข้อความแม่นยำ

## Syntax

```excel
UPPER(&lt;Text&gt;)
```

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| Text | Yes | text |  | ข้อความที่ต้องการแปลงเป็นตัวพิมพ์ใหญ่ สามารถใช้ค่า text โดยตรง, ฟังก์ชัน text, หรือ column reference |

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

### ทำให้รหัส/คีย์เป็นรูปแบบเดียวกัน

ป้องกันปัญหาข้อมูลเข้ามาคละเคส เช่น abc-001 vs ABC-001

_เหมาะกับ:_ normalize-keys

### เตรียมข้อความสำหรับการจับคู่

แปลงทั้งสองฝั่งเป็นเคสเดียวกันก่อนเปรียบเทียบ

_เหมาะกับ:_ matching

## ตัวอย่าง

### 1. ตัวอย่างที่ 1: แปลงรหัสสินค้าให้เป็นตัวพิมพ์ใหญ่

```excel
รหัส (UPPER) = UPPER(Product[Code])
```

**ผลลัพธ์:** `ได้รหัสสินค้าเป็นตัวพิมพ์ใหญ่ทั้งหมด เช่น "product_001" → "PRODUCT_001"`

ใช้ใน Calculated Column เพื่อทำให้รหัสสินค้าอยู่ในรูปแบบเดียวกัน ช่วยในการจับคู่ข้อมูลและการค้นหา

### 2. ตัวอย่างที่ 2: ทำความสะอาดร่วมกับ TRIM

```excel
คีย์มาตรฐาน = UPPER(TRIM(Customer[CustomerKey]))
```

**ผลลัพธ์:** `ตัดช่องว่างหัวท้ายและแปลงเป็นตัวพิมพ์ใหญ่ เช่น "  john doe  " → "JOHN DOE"`

TRIM จะตัดช่องว่างอื่นๆ ออก แล้ว UPPER แปลงเป็นตัวพิมพ์ใหญ่ ลำดับสำคัญมากตรงนี้เพราะ UPPER ต้องทำงานหลังจาก TRIM เสร็จแล้ว

### 3. ตัวอย่างที่ 3: ใช้ร่วมกับ LEFT เพื่อแปลงตัวอักษรแรกบางตัว

```excel
คำนำหน้า (UPPER) = UPPER(LEFT(Product[Code], 3))
```

**ผลลัพธ์:** `ได้ตัวอักษร 3 ตัวแรกเป็นตัวพิมพ์ใหญ่ เช่น "abc-123" → "ABC"`

ใช้เมื่อรหัสมีส่วนที่ต้องการให้เป็นมาตรฐาน เหมาะสำหรับการ categorize หรือ group by

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

- ผมแนะนำให้สร้าง Calculated Column สำหรับ UPPER แล้วใช้คอลัมน์นั้นในการ lookup หรือ filter แล้ว ดีกว่าการเขียน UPPER ทุกครั้งที่คำนวณ

- ระวัง context เวลาใช้ UPPER ใน SUMX หรือ iterator อื่นๆ ต้องแน่ใจว่าคุณกำหนด context ให้ถูกต้อง

- เมื่อทำความสะอาดข้อมูล ลำดับสำคัญจริงๆ TRIM เสียก่อน (ตัด whitespace) → UPPER → SUBSTITUTE (แทนตัวอักษรแปลกประหลาด) เท่านี้ข้อมูลจะสะอาดมากครับ

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

**Q: UPPER มีผลกับตัวเลขหรืออักขระพิเศษไหม?**

ไม่มี UPPER จะเปลี่ยนเฉพาะตัวอักษรเท่านั้น ตัวเลข เว้นวรรค และอักขระพิเศษเช่น "-", "_", "@" จะคงเดิม เช่น "test_123@email.com" จะกลายเป็น "TEST_123@EMAIL.COM"

**Q: ถ้าต้องการแปลงเป็นตัวพิมพ์เล็กใช้ฟังก์ชันอะไร?**

ใช้ LOWER ฟังก์ชันนี้ทำงานตรงข้ามกับ UPPER แปลงข้อความทั้งหมดเป็นตัวพิมพ์เล็ก

**Q: เพราะเหตุใดจึงต้อง UPPER + TRIM ร่วมกัน?**

ข้อมูลจากแหล่งต่างๆ มักมีช่องว่างเกินบนและล่าง (leading/trailing spaces) ซึ่งทำให้เปรียบเทียบค่า lookup ได้ผิด TRIM ตัดช่องว่างนั้นออก UPPER ทำให้รูปแบบตัวพิมพ์เหมือนกัน ทำให้ lookup ได้ถูกต้อง

**Q: UPPER ทำงานใน Measure ได้ไหม?**

ได้ แต่需慎重เพราะ UPPER ต้องทำงานที่ row context และทำให้ข้อมูลแต่ละแถวแปลงกลายเป็นตัวพิมพ์ใหญ่ อาจเหมาะสำหรับ Calculated Column มากกว่า Measure

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

- [LOWER – แปลงเป็นตัวพิมพ์เล็ก](https://www.thepexcel.com/functions/dax/text/lower-dax/)
- [TRIM – ลบช่องว่างส่วนเกินในข้อความ](https://www.thepexcel.com/functions/dax/text/trim-dax/)
- [LEFT – ตัดข้อความจากซ้าย (DAX)](https://www.thepexcel.com/functions/dax/text/left-dax/)
- [MID – ดึงข้อความจากตรงกลางตามตำแหน่งและจำนวนตัวอักษร](https://www.thepexcel.com/functions/dax/text/mid-dax/)
- [RIGHT – ตัดข้อความจากขวา (DAX)](https://www.thepexcel.com/functions/dax/text/right-dax/)
- [SUBSTITUTE – แทนที่ข้อความที่ตรงกัน](https://www.thepexcel.com/functions/dax/text/substitute-dax/)

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

- [DAX.guide - UPPER](https://dax.guide/upper/) _(guide)_
- [Microsoft Learn - UPPER Function](https://learn.microsoft.com/en-us/dax/upper-function-dax) _(official)_

---

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