ฟังก์ชันที่แปลงอาร์เรย์หรือช่วงเซลล์ให้เป็นข้อความเดียว โดยสามารถเลือกรูปแบบการแสดงผล (อ่านง่ายหรือ Strict Format)
Syntax
=ARRAYTOTEXT(array, [format])
ฟังก์ชันที่แปลงอาร์เรย์หรือช่วงเซลล์ให้เป็นข้อความเดียว โดยสามารถเลือกรูปแบบการแสดงผล (อ่านง่ายหรือ Strict Format)
=ARRAYTOTEXT(array, [format])
ASC แปลงตัวอักษรแบบเต็มความกว้าง (Full-width/Double-byte) ให้เป็นครึ่งความกว้าง (Half-width/Single-byte) ใช้กับข้อมูลจากภาษาญี่ปุ่น จีน หรือแหล่งข้อมูล DBCS อื่นๆ
=ASC(text)
แปลงตัวเลขเป็นคำอ่านภาษาไทย (บาท และสตางค์) ใช้สำหรับเอกสารทางการเงินที่ต้องระบุจำนวนเงินเป็นตัวอักษร
=BAHTTEXT(number)
CHAR แปลงรหัสตัวอักษร (1-255) เป็นตัวอักษรจริง มีประโยชน์สำหรับแทรกอักขระพิเศษที่พิมพ์ยาก เช่น การขึ้นบรรทัดใหม่
=CHAR(number)
ลบตัวอักษรที่ไม่สามารถพิมพ์ได้ (ASCII 0-31) ออกจากข้อความ มีประโยชน์เมื่อคัดลอกข้อมูลจากระบบอื่นที่มีอักขระซ่อนอยู่
=CLEAN(text)
ส่งกลับรหัส ASCII (ANSI code) ของตัวอักษรตัวแรกในข้อความ ตรงข้ามกับฟังก์ชัน CHAR
=CODE(text)
CONCAT รวมข้อความจากหลายเซลล์ หรือช่วงข้อมูลเข้าด้วยกัน โดยไม่มีตัวคั่นอัตโนมัติ ต่างจาก CONCATENATE ที่ต้องระบุทีละเซลล์ CONCAT ใช้ได้กับช่วง Range ทำให้การรวมข้อมูลขนาดใหญ่ง่ายกว่า
=CONCAT(text1, [text2], ...)
CONCATENATE เป็นฟังก์ชันแบบเก่าที่ใช้นำข้อความ ตัวเลข หรือค่าจากเซลล์ต่างๆ มาต่อกันให้เป็นข้อความยาวๆ เพียงเส้นเดียว ปัจจุบันสามารถใช้เครื่องหมาย & หรือฟังก์ชัน CONCAT/TEXTJOIN ซึ่งสะดวกกว่าได้
=CONCATENATE(text1, [text2], ...)
DBCS แปลงข้อความ half-width (single-byte) เป็น full-width (double-byte) เหมือนฟังก์ชัน JIS
=DBCS(text)
DOLLAR แปลงตัวเลขให้เป็นข้อความในรูปแบบสกุลเงิน ($) พร้อมลูกน้ำและทศนิยมตามที่ระบุ
=DOLLAR(number, [decimals])
EXACT เปรียบเทียบข้อความสองข้อความว่าเหมือนกันทุกประการหรือไม่ โดยสนใจตัวพิมพ์ใหญ่-เล็ก (Case-sensitive) คืนค่า TRUE ถ้าเหมือนกัน FALSE ถ้าต่างกัน
=EXACT(text1, text2)
FIND ค้นหาตำแหน่งเริ่มต้นของคำที่ต้องการภายในข้อความหลัก โดยสนใจตัวพิมพ์เล็ก-ใหญ่ (เช่น "A" ไม่เหมือนกับ "a") ถ้าค้นหาไม่เจอจะคืนค่า Error #VALUE! มักใช้ร่วมกับ MID, LEFT, RIGHT เพื่อตัดคำตามตำแหน่ง
=FIND(find_text, within_text, [start_num])
FIXED ปัดเลขและจัดรูปแบบเป็นข้อความพร้อมทศนิยมที่กำหนด (และคอมม่า)
=FIXED(number, [decimals], [no_commas])
JIS แปลงตัวอักษร half-width (ครึ่งความกว้าง) เป็น full-width (เต็มความกว้าง) สำหรับภาษาญี่ปุ่นและจีน
=JIS(text)
LEFT ดึงตัวอักษรจากด้านซ้ายสุดของข้อความตามจำนวนที่ต้องการ ถ้าไม่ระบุจำนวนจะดึงมา 1 ตัว ผลลัพธ์เป็น Text เสมอแม้ดึงตัวเลขออกมา
=LEFT(text, [num_chars])
LEN คืนค่าเป็นตัวเลขจำนวนเต็ม แสดงความยาวของข้อความในเซลล์ มีประโยชน์มากในการตรวจสอบความถูกต้องของข้อมูล (Data Validation) เช่น เช็ครหัสพนักงาน, เบอร์โทรศัพท์, หรือเลขบัตรประชาชน ว่ามีความยาวครบถ้วนหรือไม่
=LEN(text)
LOWER แปลงข้อความทั้งหมดเป็นตัวพิมพ์เล็ก (lowercase) เหมาะสำหรับทำความสะอาดข้อมูลและเปรียบเทียบข้อความโดยไม่สนตัวพิมพ์ เพราะในบางโปรแกรม Case-sensitive จึงต้องแปลงให้เป็นมาตรฐานเดียวกัน
=LOWER(text)
MID ตัดข้อความออกจากตำแหน่งเริ่มต้นที่คุณกำหนด โดยระบุความยาวของข้อความที่ต้องการ สะดวกมากสำหรับดึงข้อมูลบางส่วนจากข้อความที่ยาว เช่น รหัสสินค้า, รหัสพนักงาน, หรือวันที่ที่ฝังตัวในข้อความ
=MID(text, start_num, num_chars)
แปลงข้อความให้เป็นตัวเลข โดยกำหนดตัวคั่นทศนิยมและหลักพันได้เอง (ไม่ขึ้นกับ Locale ของระบบ)
=NUMBERVALUE(text, [decimal_separator], [group_separator])
PHONETIC ดึงข้อความ Furigana (คำอ่านภาษาญี่ปุ่น/จีน/เกาหลี) จากเซลล์เท่านั้น
=PHONETIC(reference)
PROPER แปลงตัวอักษรแรกของแต่ละคำเป็นตัวพิมพ์ใหญ่ (Title Case) และแปลงตัวอักษรที่เหลือเป็นตัวพิมพ์เล็ก เหมาะสำหรับจัดรูปแบบชื่อคน ชื่อสถานที่ ใช้ร่วมกับ UPPER LOWER TRIM เพื่อทำความสะอาดข้อมูล
=PROPER(text)
REGEXEXTRACT เป็นฟังก์ชันสำหรับดึงข้อความย่อย (Substring) ที่ตรงกับรูปแบบ Regular Expression (Regex) ที่กำหนด เหมาะสำหรับการทำ Data Cleaning ขั้นสูง
=REGEXEXTRACT(text, pattern, [return_mode], [case_sensitivity])
REGEXREPLACE ค้นหาและแทนที่ข้อความจากรูปแบบ Regular Expression ใช้สำหรับ Data Cleaning ที่ซับซ้อน เหมาะสำหรับ Excel 365 รองรับ backreferences
=REGEXREPLACE(text, pattern, replacement, [match_number])
REGEXTEST เป็นฟังก์ชันสำหรับทดสอบว่าข้อความตรงกับรูปแบบ Regular Expression ที่กำหนดหรือไม่ คืนค่า TRUE หรือ FALSE เหมาะสำหรับการตรวจสอบความถูกต้องของข้อมูล (Validation) เช่น ที่อยู่อีเมล เบอร์โทรศัพท์ หรือรูปแบบข้อมูลอื่น ๆ
=REGEXTEST(text, pattern, [case_sensitivity])
REPLACE แทนที่ข้อความจากตำแหน่งที่กำหนด โดยระบุตำแหน่งเริ่มต้น จำนวนตัวอักษรที่ต้องการลบ และข้อความใหม่ที่จะใส่แทน แตกต่างจาก SUBSTITUTE ที่ค้นหาคำที่ตรงตามความพึงพอใจ REPLACE ใช้ตำแหน่งแน่นอน
=REPLACE(old_text, start_num, num_chars, new_text)
REPT ทำซ้ำข้อความตามจำนวนครั้งที่ระบุ เหมาะสำหรับสร้าง In-cell Bar Chart แสดง Rating ด้วยดาว เติม Padding ให้ข้อความ หรือสร้างเส้นแบ่ง ถ้า number_times เป็นทศนิยมจะถูกตัดเหลือจำนวนเต็ม
=REPT(text, number_times)
RIGHT จะคืนค่าเป็นข้อความ (Text) ที่ถูกตัดมาจากด้านขวาสุดของข้อความต้นฉบับตามจำนวนที่ระบุ ถ้าไม่ระบุจำนวน ฟังก์ชันจะดึงมาเพียง 1 ตัวอักษร.ที่เจ๋งคือสามารถใช้ร่วมกับ LEN หรือ FIND เพื่อตัดข้อความแบบไดนามิกได้ ผลลัพธ์ที่ได้จะเป็น Text เสมอ ถ้าต้องการนำไปคำนวณต่อ ต้องแปลงเป็นตัวเลขก่อนครับ
=RIGHT(text, [num_chars])
SEARCH ค้นหาตำแหน่งของคำที่ต้องการในข้อความหลัก ถ้าเจอจะคืนค่าเป็นตัวเลขตำแหน่งที่พบ ถ้าไม่เจอจะคืนค่า #VALUE! ฟังก์ชันนี้ต่างจาก FIND ตรงที่ไม่แยกแยะตัวพิมพ์ (A=a) และสามารถใช้เครื่องหมาย * หรือ ? ในการค้นหาได้
=SEARCH(find_text, within_text, [start_num])
SUBSTITUTE จะค้นหาคำเก่า (old_text) ในข้อความ แล้วแทนที่ด้วยคำใหม่ (new_text) โดยจะแยกแยะตัวพิมพ์เล็ก-ใหญ่ (Case-sensitive) สามารถเลือกได้ว่าจะแทนที่ทุกคำที่เจอ หรือแทนที่เฉพาะลำดับที่ระบุ (เช่น เปลี่ยนเฉพาะคำแรก)
=SUBSTITUTE(text, old_text, new_text, [instance_num])
T ฟังก์ชันที่ตรวจสอบว่าค่าเป็นข้อความหรือไม่ ถ้าใช่ส่งกลับข้อความเดิม ถ้าไม่ใช่ส่งกลับค่าว่าง
=T(value)
TEXT ใช้รหัสรูปแบบ (Format Codes) เช่น "dd/mm/yyyy" สำหรับวันที่ หรือ "#,##0.00" สำหรับตัวเลขมีทศนิยม ผลลัพธ์ที่ได้จะเป็นข้อความ (Text) เสมอ ไม่สามารถนำไปคำนวณต่อได้
=TEXT(value, format_text)
TEXTAFTER ดึงข้อความหลังจากตัวคั่นที่ระบุ รองรับการเลือกลำดับตัวคั่น (instance_num) การค้นหาแบบ case-insensitive (match_mode) และค่า default เมื่อไม่พบ (if_not_found) ทำให้แยกข้อมูลได้ง่ายกว่า MID+FIND ใช้คู่กับ TEXTBEFORE TEXTSPLIT
=TEXTAFTER(text, delimiter, [instance_num], [match_mode], [match_end], [if_not_found])
TEXTBEFORE ดึงข้อความก่อนหน้าตัวคั่นที่ระบุ รองรับการเลือกลำดับตัวคั่น (instance_num) การค้นหาแบบ case-insensitive (match_mode) และค่า default เมื่อไม่พบ (if_not_found) ทำให้แยกข้อมูลได้ง่ายกว่า LEFT+FIND ใช้คู่กับ TEXTAFTER TEXTSPLIT
=TEXTBEFORE(text, delimiter, [instance_num], [match_mode], [match_end], [if_not_found])
TEXTJOIN ช่วยรวมข้อความจากหลายแหล่งเข้าด้วยกันเป็นข้อความเดียว โดยมีตัวคั่นคั่นระหว่างข้อความแต่ละส่วน เช่น คอมม่า เครื่องหมายขีด หรือการขึ้นบรรทัดใหม่.สามารถนำมาใช้กับข้อความที่อยู่ในเซลล์เดี่ยวๆ หรือช่วงเซลล์ (Range) ก็ได้ และสามารถเลือกข้ามเซลล์ว่างได้ด้วยพารามิเตอร์ ignore_empty ทำให้ไม่ต้องมาจัดการเซลล์ว่างด้วยตนเอง 💡
=TEXTJOIN(delimiter, ignore_empty, text1, [text2], ...)
TEXTSPLIT เป็นฟังก์ชัน Dynamic Array ที่ช่วยแยกข้อความในเซลล์ออกเป็นอาร์เรย์ของค่า (Spill) ตามตัวคั่นที่ระบุ สามารถแยกข้อมูลออกไปทางขวา (คอลัมน์) หรือลงด้านล่าง (แถว) หรือทั้งสองอย่างพร้อมกัน เหมาะสำหรับการจัดการข้อมูลนำเข้าที่รวมกันอยู่ในเซลล์เดียว
=TEXTSPLIT(text, col_delimiter, [row_delimiter], [ignore_empty], [match_mode], [pad_with])
TRIM ลบช่องว่างที่ด้านหน้า ด้านหลัง และลดช่องว่างระหว่างคำให้เหลือเพียงเคาะเดียว เหมาะสำหรับทำความสะอาดข้อมูลที่ Copy จากเว็บหรือระบบอื่น
=TRIM(text)
ส่งกลับตัวอักษร Unicode จากรหัสตัวเลข ใช้สร้างสัญลักษณ์พิเศษ emoji และตัวอักษรจากหลากหลายภาษา
=UNICHAR(number)
ส่งกลับรหัส Unicode ของตัวอักษรตัวแรก เป็นฟังก์ชันคู่กับ UNICHAR
=UNICODE(text)
UPPER เปลี่ยนข้อความให้เป็นตัวพิมพ์ใหญ่ทั้งหมด (เช่น "excel" -> "EXCEL") มักใช้ในการจัดรูปแบบข้อมูลให้เป็นมาตรฐานเดียวกันก่อนนำไปเปรียบเทียบหรือค้นหา (Lookup)
=UPPER(text)
VALUE แปลงข้อความที่มีลักษณะเป็นตัวเลขให้เป็นตัวเลขจริงที่คำนวณได้ รองรับรูปแบบตัวเลข วันที่ เวลา เปอร์เซ็นต์ และสกุลเงิน
=VALUE(text)
แปลงค่าใดๆ (ตัวเลข, วันที่, อาร์เรย์, หรือแม้กระทั่ง Error) ให้เป็นข้อความเพื่อใช้งานได้จริง
=VALUETOTEXT(value, [format])