Thep Excel

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

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

fx
=ExtraValues.List ExtraValues.Error ExtraValues.Ignore

ความนิยม3/10
ความยาก2/10
ประโยชน์3/10

อัปเดต 4 December 2025

Syntax & Arguments

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

[ ] = อาร์กิวเมนต์ที่ไม่บังคับ

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 เพิกเฉยต่อคอลัมน์ส่วนเกิน ลืมเลยว่ามันเคยมีอยู่ 😅 – ใช้ถ้าบ่มั่นใจว่าไม่มีข้อมูลสำคัญในนั้น

Examples

ใช้ ExtraValues.List เพื่อรวมคอลัมน์เกินเข้าไปใน Listlet 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 เพื่อไม่ให้ข้อมูลหาย ผมชอบใช้วิธีนี้เพราะปลอดภัยที่สุด

fx
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

ผลลัพธ์ข้อมูลแบ่งออกมา 5 คอลัมน์ โดยคอลัมน์ส่วนเกินรวมไว้ใน List เดียว
ใช้ ExtraValues.Error เพื่อแจ้งเตือนTable.SplitColumn( Source, "ColumnName", Splitter.SplitTextByDelimiter("|", QuoteStyle.Csv), {"A", "B", "C"}, ExtraValues.Error )

วิธีนี้ใช้ตรวจสอบข้อมูล ถ้ามีสิ่งผิดปกติ Error จะบอกให้ทราบทันที ส่วนตัวผมใช้เมื่อต้องการความแน่นอนในจำนวนคอลัมน์

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

ผลลัพธ์ถ้ามีคอลัมน์ส่วนเกิน → Error: "We expected 3 columns but the operation produced 5"
ใช้ ExtraValues.Ignore เพื่อลบคอลัมน์ส่วนเกินTable.SplitColumn( Source, "ColumnName", Splitter.SplitTextByDelimiter("|"), {"A", "B", "C"}, ExtraValues.Ignore )

ใช้เมื่อบ่มั่นใจ 100% ว่าไม่มีข้อมูลสำคัญในคอลัมน์ส่วนเกิน ผมแนะนำให้ใช้อย่างระมัดระวัง 😅

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

ผลลัพธ์เฉพาะคอลัมน์ 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

ฟังก์ชันที่ผู้เขียนโยงไว้กับ ExtraValues.Type จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง

ฟังก์ชันนี้ExtraValues.Typeenumerations
Text functions (1)
Text.Split

Text.Split(text, separator) ใช้แยกข้อความเป็น List โดยอิงตามตัวคั่น (delimiter) ที่ระบุ สามารถใช้ตัวคั่นเพียงตัวเดียวหรือหลายตัวอักษร เช่น "|" หรือ ", the " ผลลัพธ์คืนค่าเป็น List ของข้อความ

Comments

อีเมลของคุณจะไม่ถูกเผยแพร่