Thep Excel

41 functions

ฟังก์ชันที่แปลงอาร์เรย์หรือช่วงเซลล์ให้เป็นข้อความเดียว โดยสามารถเลือกรูปแบบการแสดงผล (อ่านง่ายหรือ Strict Format)

Syntax
=ARRAYTOTEXT(array, [format])

ASC แปลงตัวอักษรแบบเต็มความกว้าง (Full-width/Double-byte) ให้เป็นครึ่งความกว้าง (Half-width/Single-byte) ใช้กับข้อมูลจากภาษาญี่ปุ่น จีน หรือแหล่งข้อมูล DBCS อื่นๆ

Syntax
=ASC(text)

CONCAT รวมข้อความจากหลายเซลล์ หรือช่วงข้อมูลเข้าด้วยกัน โดยไม่มีตัวคั่นอัตโนมัติ ต่างจาก CONCATENATE ที่ต้องระบุทีละเซลล์ CONCAT ใช้ได้กับช่วง Range ทำให้การรวมข้อมูลขนาดใหญ่ง่ายกว่า

Syntax
=CONCAT(text1, [text2], ...)

CONCATENATE เป็นฟังก์ชันแบบเก่าที่ใช้นำข้อความ ตัวเลข หรือค่าจากเซลล์ต่างๆ มาต่อกันให้เป็นข้อความยาวๆ เพียงเส้นเดียว ปัจจุบันสามารถใช้เครื่องหมาย & หรือฟังก์ชัน CONCAT/TEXTJOIN ซึ่งสะดวกกว่าได้

Syntax
=CONCATENATE(text1, [text2], ...)

EXACT เปรียบเทียบข้อความสองข้อความว่าเหมือนกันทุกประการหรือไม่ โดยสนใจตัวพิมพ์ใหญ่-เล็ก (Case-sensitive) คืนค่า TRUE ถ้าเหมือนกัน FALSE ถ้าต่างกัน

Syntax
=EXACT(text1, text2)

FIND ค้นหาตำแหน่งเริ่มต้นของคำที่ต้องการภายในข้อความหลัก โดยสนใจตัวพิมพ์เล็ก-ใหญ่ (เช่น "A" ไม่เหมือนกับ "a") ถ้าค้นหาไม่เจอจะคืนค่า Error #VALUE! มักใช้ร่วมกับ MID, LEFT, RIGHT เพื่อตัดคำตามตำแหน่ง

Syntax
=FIND(find_text, within_text, [start_num])

LEN คืนค่าเป็นตัวเลขจำนวนเต็ม แสดงความยาวของข้อความในเซลล์ มีประโยชน์มากในการตรวจสอบความถูกต้องของข้อมูล (Data Validation) เช่น เช็ครหัสพนักงาน, เบอร์โทรศัพท์, หรือเลขบัตรประชาชน ว่ามีความยาวครบถ้วนหรือไม่

Syntax
=LEN(text)

LOWER แปลงข้อความทั้งหมดเป็นตัวพิมพ์เล็ก (lowercase) เหมาะสำหรับทำความสะอาดข้อมูลและเปรียบเทียบข้อความโดยไม่สนตัวพิมพ์ เพราะในบางโปรแกรม Case-sensitive จึงต้องแปลงให้เป็นมาตรฐานเดียวกัน

Syntax
=LOWER(text)

MID ตัดข้อความออกจากตำแหน่งเริ่มต้นที่คุณกำหนด โดยระบุความยาวของข้อความที่ต้องการ สะดวกมากสำหรับดึงข้อมูลบางส่วนจากข้อความที่ยาว เช่น รหัสสินค้า, รหัสพนักงาน, หรือวันที่ที่ฝังตัวในข้อความ

Syntax
=MID(text, start_num, num_chars)

PROPER แปลงตัวอักษรแรกของแต่ละคำเป็นตัวพิมพ์ใหญ่ (Title Case) และแปลงตัวอักษรที่เหลือเป็นตัวพิมพ์เล็ก เหมาะสำหรับจัดรูปแบบชื่อคน ชื่อสถานที่ ใช้ร่วมกับ UPPER LOWER TRIM เพื่อทำความสะอาดข้อมูล

Syntax
=PROPER(text)

REGEXEXTRACT เป็นฟังก์ชันสำหรับดึงข้อความย่อย (Substring) ที่ตรงกับรูปแบบ Regular Expression (Regex) ที่กำหนด เหมาะสำหรับการทำ Data Cleaning ขั้นสูง

Syntax
=REGEXEXTRACT(text, pattern, [return_mode], [case_sensitivity])

REGEXTEST เป็นฟังก์ชันสำหรับทดสอบว่าข้อความตรงกับรูปแบบ Regular Expression ที่กำหนดหรือไม่ คืนค่า TRUE หรือ FALSE เหมาะสำหรับการตรวจสอบความถูกต้องของข้อมูล (Validation) เช่น ที่อยู่อีเมล เบอร์โทรศัพท์ หรือรูปแบบข้อมูลอื่น ๆ

Syntax
=REGEXTEST(text, pattern, [case_sensitivity])

REPLACE แทนที่ข้อความจากตำแหน่งที่กำหนด โดยระบุตำแหน่งเริ่มต้น จำนวนตัวอักษรที่ต้องการลบ และข้อความใหม่ที่จะใส่แทน แตกต่างจาก SUBSTITUTE ที่ค้นหาคำที่ตรงตามความพึงพอใจ REPLACE ใช้ตำแหน่งแน่นอน

Syntax
=REPLACE(old_text, start_num, num_chars, new_text)

REPT ทำซ้ำข้อความตามจำนวนครั้งที่ระบุ เหมาะสำหรับสร้าง In-cell Bar Chart แสดง Rating ด้วยดาว เติม Padding ให้ข้อความ หรือสร้างเส้นแบ่ง ถ้า number_times เป็นทศนิยมจะถูกตัดเหลือจำนวนเต็ม

Syntax
=REPT(text, number_times)

RIGHT จะคืนค่าเป็นข้อความ (Text) ที่ถูกตัดมาจากด้านขวาสุดของข้อความต้นฉบับตามจำนวนที่ระบุ ถ้าไม่ระบุจำนวน ฟังก์ชันจะดึงมาเพียง 1 ตัวอักษร.ที่เจ๋งคือสามารถใช้ร่วมกับ LEN หรือ FIND เพื่อตัดข้อความแบบไดนามิกได้ ผลลัพธ์ที่ได้จะเป็น Text เสมอ ถ้าต้องการนำไปคำนวณต่อ ต้องแปลงเป็นตัวเลขก่อนครับ

Syntax
=RIGHT(text, [num_chars])

SEARCH ค้นหาตำแหน่งของคำที่ต้องการในข้อความหลัก ถ้าเจอจะคืนค่าเป็นตัวเลขตำแหน่งที่พบ ถ้าไม่เจอจะคืนค่า #VALUE! ฟังก์ชันนี้ต่างจาก FIND ตรงที่ไม่แยกแยะตัวพิมพ์ (A=a) และสามารถใช้เครื่องหมาย * หรือ ? ในการค้นหาได้

Syntax
=SEARCH(find_text, within_text, [start_num])

SUBSTITUTE จะค้นหาคำเก่า (old_text) ในข้อความ แล้วแทนที่ด้วยคำใหม่ (new_text) โดยจะแยกแยะตัวพิมพ์เล็ก-ใหญ่ (Case-sensitive) สามารถเลือกได้ว่าจะแทนที่ทุกคำที่เจอ หรือแทนที่เฉพาะลำดับที่ระบุ (เช่น เปลี่ยนเฉพาะคำแรก)

Syntax
=SUBSTITUTE(text, old_text, new_text, [instance_num])

TEXT ใช้รหัสรูปแบบ (Format Codes) เช่น "dd/mm/yyyy" สำหรับวันที่ หรือ "#,##0.00" สำหรับตัวเลขมีทศนิยม ผลลัพธ์ที่ได้จะเป็นข้อความ (Text) เสมอ ไม่สามารถนำไปคำนวณต่อได้

Syntax
=TEXT(value, format_text)

TEXTAFTER ดึงข้อความหลังจากตัวคั่นที่ระบุ รองรับการเลือกลำดับตัวคั่น (instance_num) การค้นหาแบบ case-insensitive (match_mode) และค่า default เมื่อไม่พบ (if_not_found) ทำให้แยกข้อมูลได้ง่ายกว่า MID+FIND ใช้คู่กับ TEXTBEFORE TEXTSPLIT

Syntax
=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

Syntax
=TEXTBEFORE(text, delimiter, [instance_num], [match_mode], [match_end], [if_not_found])

TEXTJOIN ช่วยรวมข้อความจากหลายแหล่งเข้าด้วยกันเป็นข้อความเดียว โดยมีตัวคั่นคั่นระหว่างข้อความแต่ละส่วน เช่น คอมม่า เครื่องหมายขีด หรือการขึ้นบรรทัดใหม่.สามารถนำมาใช้กับข้อความที่อยู่ในเซลล์เดี่ยวๆ หรือช่วงเซลล์ (Range) ก็ได้ และสามารถเลือกข้ามเซลล์ว่างได้ด้วยพารามิเตอร์ ignore_empty ทำให้ไม่ต้องมาจัดการเซลล์ว่างด้วยตนเอง 💡

Syntax
=TEXTJOIN(delimiter, ignore_empty, text1, [text2], ...)

TEXTSPLIT เป็นฟังก์ชัน Dynamic Array ที่ช่วยแยกข้อความในเซลล์ออกเป็นอาร์เรย์ของค่า (Spill) ตามตัวคั่นที่ระบุ สามารถแยกข้อมูลออกไปทางขวา (คอลัมน์) หรือลงด้านล่าง (แถว) หรือทั้งสองอย่างพร้อมกัน เหมาะสำหรับการจัดการข้อมูลนำเข้าที่รวมกันอยู่ในเซลล์เดียว

Syntax
=TEXTSPLIT(text, col_delimiter, [row_delimiter], [ignore_empty], [match_mode], [pad_with])

TRIM ลบช่องว่างที่ด้านหน้า ด้านหลัง และลดช่องว่างระหว่างคำให้เหลือเพียงเคาะเดียว เหมาะสำหรับทำความสะอาดข้อมูลที่ Copy จากเว็บหรือระบบอื่น

Syntax
=TRIM(text)

UPPER เปลี่ยนข้อความให้เป็นตัวพิมพ์ใหญ่ทั้งหมด (เช่น "excel" -> "EXCEL") มักใช้ในการจัดรูปแบบข้อมูลให้เป็นมาตรฐานเดียวกันก่อนนำไปเปรียบเทียบหรือค้นหา (Lookup)

Syntax
=UPPER(text)