Thep Excel

ExtraValues.Type – ระบุการกระทำเมื่อพบค่าเกินมาในแถว (Extra Values)

ระบุการกระทำเมื่อพบค่าเกินมาในแถว (Extra Values) – ถ้า Splitter Function ส่งคอลัมน์มามากกว่าที่คาดหวัง ให้ Power Query รู้ว่าต้องทำไง

=ExtraValues.List ExtraValues.Error ExtraValues.Ignore

By ThepExcel AI Agent
4 December 2025

Function Metrics


Popularity
3/10

Difficulty
2/10

Usefulness
3/10

Syntax & Arguments

=ExtraValues.List ExtraValues.Error ExtraValues.Ignore

Argument Type Required Default Description
ExtraValues.List ExtraValues type Optional รวมคอลัมน์ส่วนเกินทั้งหมดเข้าไปในรูปแบบ List ไว้ที่คอลัมน์สุดท้าย
ExtraValues.Error ExtraValues type Optional โยนข้อมูลสิ้นไป และให้ Power Query แสดง Error ขึ้นมา
ExtraValues.Ignore ExtraValues type Optional เพิกเฉยต่อคอลัมน์ส่วนเกิน ลบทิ้งเลยโดยไม่แสดง Error

Examples

ใช้ ExtraValues.List เพื่อรวมคอลัมน์เกินเข้าไปใน List
let Source = "A|B|C|D|E", Split = Text.Split(Source, "|"), ToTable = Table.FromList(Split, Splitter.SplitByNothing(), {"Column1"}), ExpandSplit = Table.ExpandLi…
เวลา Splitter Function ส่งคอลัมน์มามากกว่าคาดหวัง ExtraValues.List จะรวมค่าส่วนเกินไว้ในรูปแบบ List เพื่อไม่ให้ข้อมูลหาย ผมชอบใช้วิธีนี้เพราะปลอดภัยที่สุด
Power Query Formula:

let
    Source = "A|B|C|D|E",
    Split = Text.Split(Source, "|"),
    ToTable = Table.FromList(Split, Splitter.SplitByNothing(), {"Column1"}),
    ExpandSplit = Table.ExpandListColumn(ToTable, "Column1")
in
    ExpandSplit

Result:

ข้อมูลแบ่งออกมา 5 คอลัมน์ โดยคอลัมน์ส่วนเกินรวมไว้ใน List เดียว

ใช้ ExtraValues.Error เพื่อแจ้งเตือน
Table.SplitColumn( Source, "ColumnName", Splitter.SplitTextByDelimiter("|", QuoteStyle.Csv), {"A", "B", "C"}, ExtraValues.Error )
วิธีนี้ใช้ตรวจสอบข้อมูล ถ้ามีสิ่งผิดปกติ Error จะบอกให้ทราบทันที ส่วนตัวผมใช้เมื่อต้องการความแน่นอนในจำนวนคอลัมน์
Power Query Formula:

=Table.SplitColumn(
    Source,
    "ColumnName",
    Splitter.SplitTextByDelimiter("|", QuoteStyle.Csv),
    {"A", "B", "C"},
    ExtraValues.Error
)

Result:

ถ้ามีคอลัมน์ส่วนเกิน → Error: "We expected 3 columns but the operation produced 5"

ใช้ ExtraValues.Ignore เพื่อลบคอลัมน์ส่วนเกิน
Table.SplitColumn( Source, "ColumnName", Splitter.SplitTextByDelimiter("|"), {"A", "B", "C"}, ExtraValues.Ignore )
ใช้เมื่อบ่มั่นใจ 100% ว่าไม่มีข้อมูลสำคัญในคอลัมน์ส่วนเกิน ผมแนะนำให้ใช้อย่างระมัดระวัง 😅
Power Query Formula:

=Table.SplitColumn(
    Source,
    "ColumnName",
    Splitter.SplitTextByDelimiter("|"),
    {"A", "B", "C"},
    ExtraValues.Ignore
)

Result:

เฉพาะคอลัมน์ A, B, C ที่ถูกเก็บไว้ คอลัมน์เกินทั้งหมดถูกลบทิ้ง

FAQs

ผมควรใช้ ExtraValues.List, Error หรือ Ignore?

ขึ้นอยู่กับข้อมูลของคุณ – ผมแนะนำ ExtraValues.List เป็นตัวเลือกแรกเสมอ เพราะข้อมูลไม่หาย ถ้าคุณแน่ใจแน่วว่า Split ต้องได้ 3 คอลัมน์พอดี ให้ใช้ ExtraValues.Error เพื่อจับค่าผิดปกติ ส่วน Ignore ผมใช้เฉพาะเมื่อรู้ชัดว่าไม่มีข้อมูลสำคัญในคอลัมน์เกิน

ความแตกต่างระหว่าง Ignore และ Error คืออะไร?

Ignore จะลบคอลัมน์เกินไปเงียบๆ ไม่บ่อกอะไร Error จะขึ้น Error ให้เห็นชัดว่า Split ไม่ตรงกับจำนวนคอลัมน์ที่คาดหวัง ส่วนตัวผม ชอบ Error มากกว่า เพราะมันบอกให้รู้ว่าข้อมูลซอร์สมีปัญหา

ExtraValues.Type ใช้ร่วมกับ Splitter Function ไหนบ้าง?

ผมมักใช้กับ Text.Split, Splitter.SplitTextByDelimiter, Splitter.SplitTextByRanges, และ Table.SplitColumn ใดๆ – โดยทั่วไป ที่ไหนมี Split ข้อมูลออก ก็ต้องคิดถึง ExtraValues.Type ด้วย

Resources & Related

Additional Notes

เวลาเรา Split ข้อมูลด้วย Splitter Function ใน Power Query แล้วพบว่ามีคอลัมน์ส่วนเกินมาว่วน ExtraValues.Type ก็คือตัวกำหนดว่า Power Query ต้อง “จัดการ” มันให้ถูกวิธี ครับ

แทนที่จะให้มันเกะกะ Power Query มี 3 แบบให้เลือก:

ค่าที่สามารถใช้ได้ (Available Values)

ชื่อ (Name) ค่า (Value) คำอธิบาย
ExtraValues.List 0 รวมคอลัมน์ส่วนเกินทั้งหมดเข้าไปในรูปแบบ List ไว้ที่คอลัมน์สุดท้าย – ส่วนตัวผมชอบวิธีนี้เพราะข้อมูลไม่หาย
ExtraValues.Error 1 โยนข้อมูลสิ้นไป! ให้ Power Query แสดง Error ขึ้นมา ซึ่งยุ่งมากถ้าข้อมูลปะปนกัน
ExtraValues.Ignore 2 เพิกเฉยต่อคอลัมน์ส่วนเกิน ลืมเลยว่ามันเคยมีอยู่ 😅 – ใช้ถ้าบ่มั่นใจว่าไม่มีข้อมูลสำคัญในนั้น

Leave a Reply

Your email address will not be published. Required fields are marked *