Thep Excel

Splitter.SplitTextByDelimiterแยกข้อความโดยใช้ตัวคั่น

Splitter.SplitTextByDelimiter สร้างฟังก์ชันสำหรับแยกข้อความเป็นรายการโดยใช้ตัวคั่นที่ระบุ มีประโยชน์เมื่อต้องแยก CSV หรือข้อความที่คั่นด้วยตัวอักษรเฉพาะ

fx
=Splitter.SplitTextByDelimiter(delimiter, [quoteStyle], [csvStyle]) as function

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

อัปเดต 12 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด ค่าเริ่มต้น คำอธิบาย
delimiter text ตัวคั่นที่ใช้แยกข้อความ เช่น “,” “;” “|” หรือสตริงใดๆ ที่ต้องการ
[quoteStyle]ไม่บังคับ nullable number null ระบุวิธีจัดการข้อความในเครื่องหมาย เช่น QuoteStyle.Csv (ค่า 1) หรือ QuoteStyle.None (ค่า 0)
[csvStyle]ไม่บังคับ nullable number null ระบุวิธีจัดการลักษณะ CSV เฉพาะ เช่น CsvStyle.QuoteAfterDelimiter

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

Additional Notes

Splitter.SplitTextByDelimiter(delimiter, [quoteStyle], [csvStyle]) สร้างฟังก์ชันที่แยกข้อความเป็นรายการโดยใช้ตัวคั่นที่ระบุ ต่างจาก Text.Split ตรงที่มันส่งกลับ “ฟังก์ชัน” ซึ่งสามารถใช้หลายครั้งกับข้อมูลต่างๆ ได้ โดยจะคืนค่าเป็นรายการข้อความ (list of text).

จุดเด่นของฟังก์ชันนี้คือสามารถจัดการกับข้อมูล CSV ที่มีเครื่องหมายคำพูดได้อย่างถูกต้อง เช่น “Smith, John” จะยังคงเป็นสมาชิกเดียว ไม่แยกที่เครื่องหมายจุลภาค ด้วยการใช้พารามิเตอร์ quoteStyle.

ส่วนตัวผมใช้ Splitter.SplitTextByDelimiter ร่วมกับ Table.TransformColumns เพื่อแยกข้อมูลในคอลัมน์ทั้งหมด ทำให้โค้ดปึกแผ่นและมีประสิทธิภาพดีเยี่ยมครับ 😎

Examples

ตัวอย่างที่ 1: แยกข้อความแบบพื้นฐานlet Splitter = Splitter.SplitTextByDelimiter(","), Result = Splitter("Apple,Banana,Orange") in Result

สร้างฟังก์ชัน splitter สำหรับคอมมา จากนั้นใช้แยกข้อความ

fx
let
Splitter = Splitter.SplitTextByDelimiter(","),
Result = Splitter("Apple,Banana,Orange")
in
Result

ผลลัพธ์{"Apple", "Banana", "Orange"}
ตัวอย่างที่ 2: แยกกับ QuoteStyle.Csvlet Splitter = Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), Result = Splitter("Smith, John,30,"New York, NY"") in Result

QuoteStyle.Csv ยอมให้ค่าที่อยู่ในเครื่องหมาย "" ประกอบด้วยตัวคั่นได้

fx
let
Splitter = Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv),
Result = Splitter("Smith, John,30,"New York, NY"")
in
Result

ผลลัพธ์{"Smith", " John", "30", "New York, NY"}
ตัวอย่างที่ 3: ใช้กับตัวคั่นหลายตัวอักษรlet Splitter = Splitter.SplitTextByDelimiter(" | "), Result = Splitter("Product A | Product B | Product C") in Result

สามารถใช้ตัวคั่นแบบหลายอักษร เช่น " | "

fx
let
Splitter = Splitter.SplitTextByDelimiter(" | "),
Result = Splitter("Product A | Product B | Product C")
in
Result

ผลลัพธ์{"Product A", "Product B", "Product C"}
ตัวอย่างที่ 4: ใช้ร่วมกับ Table.TransformColumnslet Source = Table.FromRows( {{"John,25,NY"}, {"Jane,30,LA"}, {"Bob,28,TX"}}, {"FullData"} ), Splitter = Splitter.SplitTextByDelimiter(","), Split = Table.Trans…

ใช้ Splitter กับ TransformColumns เพื่อแยกข้อมูลในคอลัมน์

fx
let
Source = Table.FromRows(
{{"John,25,NY"}, {"Jane,30,LA"}, {"Bob,28,TX"}},
{"FullData"}
),
Splitter = Splitter.SplitTextByDelimiter(","),
Split = Table.TransformColumns(
Source,
{{"FullData", Splitter}}
)
in
Split

ผลลัพธ์ตารางเปลี่ยนจากข้อความเป็นรายการ {"John", "25", "NY"} เป็นต้น

FAQs

ต่างระหว่าง Splitter.SplitTextByDelimiter กับ Text.Split อย่างไร+

Splitter.SplitTextByDelimiter ส่งกลับ "ฟังก์ชัน" ที่สามารถนำไปใช้หลายครั้ง ขณะที่ Text.Split ทำการแยกทันที ดังนั้น Splitter จึงมีประสิทธิภาพมากกว่าเมื่อต้องใช้แยกหลายครั้ง

ควรใช้ QuoteStyle.Csv เมื่อไร+

ใช้เมื่อข้อมูล CSV มีค่าบางค่ามีตัวคั่นอยู่ภายใน เช่น "Smith, John" จะไม่ถูกแยกที่เครื่องหมายจุลภาค

สามารถใช้ตัวคั่นแบบ regex ได้หรือไม่+

ไม่ได้ Splitter.SplitTextByDelimiter ใช้แค่ข้อความธรรมดา หากต้องการ regex ให้ใช้ Text.Split กับ Regex.Split แทน

Resources & Related

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

ฟังก์ชันนี้Splitter.SplitTextByDelimiterSplitter functions
Splitter functions (1)
Splitter.SplitTextByAnyDelimiter

Splitter.SplitTextByAnyDelimiter ใช้สำหรับการประมวลผล

Comments

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