---
title: Text.Upper – แปลงข้อความเป็นตัวอักษรใหญ่
url: https://www.thepexcel.com/functions/power-query/text-functions/text-upper/
type: function-explainer
program: Power Query
syntax: "Text.Upper(text as nullable text, optional culture as nullable text) as nullable text"
date: 2025-12-02
updated: 2025-12-23
scores:
  popularity: 8
  difficulty: 2
  usefulness: 8
---

# Text.Upper – แปลงข้อความเป็นตัวอักษรใหญ่

> Text.Upper แปลงอักขระทั้งหมดในข้อความเป็นตัวอักษรใหญ่ โดยรองรับการตั้งค่า culture ต่างๆ เพื่อจัดการก

## คำอธิบาย

Text.Upper แปลงอักขระทั้งหมดในข้อความเป็นตัวอักษรใหญ่ โดยรองรับการตั้งค่า culture ต่างๆ เพื่อจัดการการแปลงที่ถูกต้องตามภาษา

## Syntax

```excel
Text.Upper(text as nullable text, optional culture as nullable text) as nullable text
```

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| text | Yes | text |  | ข้อความที่ต้องการแปลงเป็นตัวอักษรใหญ่ |
| culture | No | text | null (default culture) | รหัส culture สำหรับการตั้งค่าการแปลงข้อความ เช่น "en-US", "th-TH", "tr-TR" สำหรับภาษาและภูมิภาคเฉพาะ |

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

### รวมข้อมูลจากหลายแหล่ง

แปลงชื่อสินค้า หรือรหัสสินค้าให้เป็นตัวพิมพ์ใหญ่ทั้งหมดเพื่อหลีกเลี่ยงปัญหาการจับคู่ข้อมูลที่แตกต่างกันด้วยตัวพิมพ์เล็ก/ใหญ่

### สร้าง Standard Data Format

กำหนดให้ข้อมูลในบางคอลัมน์ต้องเป็นตัวพิมพ์ใหญ่เสมอ เช่น รหัส SKU หรือรหัสลูกค้า

### เตรียมข้อมูลสำหรับ Analytics

ทำให้ข้อมูลข้อความมีความสอดคล้องกันมากขึ้น ซึ่งช่วยให้การวิเคราะห์ หรือการสร้าง Dashboard มีประสิทธิภาพ

## ตัวอย่าง

### 1. แปลงข้อความพื้นฐานเป็นตัวใหญ่

```excel
let
    Text1 = "hello world",
    Result = Text.Upper(Text1)
in
    Result
```

**ผลลัพธ์:** `"HELLO WORLD"`

ฟังก์ชัน Text.Upper แปลงข้อความ "hello world" ทั้งหมดเป็นตัวอักษรใหญ่ คืนค่า "HELLO WORLD" ช่องว่างยังคงอยู่ตามเดิม

### 2. แปลงค่าในคอลัมน์ของตาราง

```excel
let
    Data = Table.FromRows(
        {{"john", "smith"}, {"jane", "doe"}},
        {"FirstName", "LastName"}
    ),
    UpperNames = Table.TransformColumns(Data, 
        {{"FirstName", Text.Upper}, {"LastName", Text.Upper}}
    )
in
    UpperNames
```

**ผลลัพธ์:** `ตารางที่มี FirstName และ LastName ทั้งหมดเป็น "JOHN", "SMITH", "JANE", "DOE"`

ใช้ Table.TransformColumns เพื่อนำ Text.Upper ไปแปลงตัวอักษรในคอลัมน์ FirstName และ LastName ทั้งหมดในตารางพร้อมกัน ซึ่งเป็นวิธีที่มีประสิทธิภาพสำหรับข้อมูลมากๆ

### 3. แปลงข้อความกับการตั้งค่า culture สำหรับภาษาตุรกี

```excel
let
    TurkishText = "istanbul",
    UpperTurkish = Text.Upper(TurkishText, "tr-TR")
in
    UpperTurkish
```

**ผลลัพธ์:** `"İSTANBUL" (มี I ที่มีจุดด้านบน)`

การระบุ culture "tr-TR" ช่วยให้แปลงข้อความภาษาตุรกีได้อย่างถูกต้อง เพราะภาษาตุรกีมีตัวอักษร i ที่มีจุด (İ) ขึ้นมาจากตัว i เล็ก ถ้าไม่ระบุ culture อาจแปลงเป็น "ISTANBUL" (ไม่มีจุด)

### 4. รวม Text.Upper กับ Text.Trim สำหรับข้อมูลที่สะอาด

```excel
let
    Data = Table.FromRows(
        {{"  alice  "}, {" bob "}},
        {"Name"}
    ),
    Cleaned = Table.TransformColumns(Data,
        {{"Name", each Text.Upper(Text.Trim(_))}}
    )
in
    Cleaned
```

**ผลลัพธ์:** `ตารางที่มี "ALICE" และ "BOB" (ลบช่องว่างแล้ว)`

เชื่อม Text.Trim เพื่อลบช่องว่างด้านหน้าและด้านหลัง จากนั้นแปลงเป็นตัวใหญ่ด้วย Text.Upper ใช้ each เพื่อระบุว่ากำหนดให้ฟังก์ชันทำกับแต่ละแถว _ คือค่าปัจจุบันในแต่ละแถว

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

- ใช้ Text.Upper ร่วมกับ Text.Lower เพื่อทำให้ข้อมูลสอดคล้องกันเมื่อเปรียบเทียบ หรือใช้ Comparer.OrdinalIgnoreCase สำหรับการเปรียบเทียบแบบ case-insensitive

- เมื่อแปลงข้อมูลมากๆ ให้ใช้ Table.TransformColumns แทนการเรียก Text.Upper ทีละแถว เพื่อประสิทธิภาพที่ดีกว่า

- ถ้าต้องการแปลงเพียงตัวแรกให้ใหญ่ ให้ใช้ Text.Proper แทน (เช่น "john" becomes "John" ไม่ใช่ "JOHN")

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

**Q: Text.Upper ตัดหรือเปลี่ยนความยาวของข้อความหรือไม่?**

ไม่ ฟังก์ชันนี้เพียงแปลงอักษรตัวเล็กเป็นตัวใหญ่เท่านั้น ความยาวของข้อความและช่องว่างอื่นๆ คงเดิมทั้งหมด

**Q: ถ้าข้อความเป็น null จะเกิดอะไรขึ้น?**

Text.Upper จะคืนค่า null หากอินพุตเป็น null เพราะทั้งอินพุตและเอาต์พุตเป็นประเภท nullable text

**Q: ฉันควรใช้ culture parameter หรือไม่?**

ใช้ culture parameter เมื่อทำงานกับข้อความที่ไม่ใช่ภาษาอังกฤษมาตรฐาน หรือเมื่อต้องการให้การแปลงถูกต้องตามภาษา โดยพื้นฐานแล้วจะใช้ default culture ของระบบซึ่งมักเป็น "en-US"

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

- [Microsoft Learn: Text.Upper](https://learn.microsoft.com/en-us/powerquery-m/text-upper) _(official)_
- [Microsoft Learn: Text.Lower](https://learn.microsoft.com/en-us/powerquery-m/text-lower) _(official)_
- [Power Query How: Text Functions](https://powerquery.how) _(article)_

---

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