FIND ค้นหาตำแหน่งเริ่มต้นของคำที่ต้องการภายในข้อความหลัก โดยสนใจตัวพิมพ์เล็ก-ใหญ่ (เช่น “A” ไม่เหมือนกับ “a”) ถ้าค้นหาไม่เจอจะคืนค่า Error #VALUE! มักใช้ร่วมกับ MID, LEFT, RIGHT เพื่อตัดคำตามตำแหน่ง
| อาร์กิวเมนต์ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
| find_text | Text | คำหรือตัวอักษรที่ต้องการค้นหา (Case-sensitive) | |
| within_text | Text | ข้อความหลักที่จะเข้าไปค้นหา | |
| [start_num]ไม่บังคับ | Number | 1 | ตำแหน่งเริ่มต้นที่จะให้ค้นหา (ถ้าไม่ระบุจะเริ่มจากตัวแรก) |
[ ] = อาร์กิวเมนต์ที่ไม่บังคับ
ฟังก์ชัน FIND ใช้สำหรับค้นหาตำแหน่งของตัวอักษรหรือคำในข้อความ โดยจะคืนค่าเป็นตัวเลขตำแหน่งที่พบ (เช่น เจอที่ตัวอักษรที่ 5) และฟังก์ชันนี้จะ **แยกแยะตัวพิมพ์เล็ก-ใหญ่ (Case-sensitive)**
ใช้ FIND หาช่องว่างระหว่างชื่อกับนามสกุล เพื่อระบุจุดตัดสำหรับฟังก์ชัน LEFT หรือ MID
ตรวจสอบว่ารหัสสินค้ามีตัวพิมพ์ใหญ่ตามที่กำหนดหรือไม่ (เช่น รหัสต้องขึ้นต้นด้วย "A" เท่านั้น ห้ามเป็น "a")
ตัวอักษร "@" อยู่ในลำดับที่ 5 ของข้อความ
พบตัว "E" ใหญ่ที่ตำแหน่งที่ 1 (ถ้าค้นหา "e" เล็ก จะได้ตำแหน่งที่ 4)
เริ่มค้นหาตั้งแต่ตัวอักษรที่ 10 เป็นต้นไป ทำให้ข้ามคำว่า "Pro" ตัวแรกที่อยู่ตำแหน่ง 6 ไป และไปเจอตัวที่สองที่ตำแหน่ง 11 แทน
ใช้ FIND หาตำแหน่งช่องว่าง (Space) แล้วลบออก 1 เพื่อให้ได้ความยาวของชื่อจริง แล้วส่งให้ LEFT ตัดออกมา
FIND **แยกแยะ** ตัวพิมพ์เล็ก-ใหญ่ และใช้ Wildcard ไม่ได้ ส่วน SEARCH **ไม่แยกแยะ** (Case-insensitive) และใช้ Wildcard ได้
จะเกิด Error #VALUE! ครับ สามารถใช้ IFERROR หรือ ISNUMBER(FIND(…)) เพื่อจัดการกรณีที่ไม่พบคำได้
ได้ครับ ใช้ Nested FIND: =FIND("a", A1, FIND("a", A1) + 1) จะหาตัว "a" ที่สองในข้อความ
เพราะ FIND ค้นหาแบบ Exact Match ถ้าต้องใช้ Wildcard ต้องใช้ SEARCH แทน
FIND ค้นหาตำแหน่งของคำในข้อความ INDEX/MATCH ค้นหาข้อมูลในตาราง ตัวอย่าง FIND ใช้ค้นหา @ ในอีเมล แต่ INDEX/MATCH ใช้ค้นหาชื่อในรายการ
FIND ค่อนข้างเร็ว แต่ถ้าต้องค้นหาเรื่องเล่นตัวอักษร (บางตัวค้นหาหลายครั้ง) ตรวจสอบตัวอักษรที่ซ้ำ ใช้ IFERROR เพื่อหลีกเลี่ยง Error
ฟังก์ชันที่ผู้เขียนโยงไว้กับ FIND จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
ส่งกลับรหัส ASCII (ANSI code) ของตัวอักษรตัวแรกในข้อความ ตรงข้ามกับฟังก์ชัน CHAR
EXACT เปรียบเทียบข้อความสองข้อความว่าเหมือนกันทุกประการหรือไม่ โดยสนใจตัวพิมพ์ใหญ่-เล็ก (Case-sensitive) คืนค่า TRUE ถ้าเหมือนกัน FALSE ถ้าต่างกัน
LEFT ดึงตัวอักษรจากด้านซ้ายสุดของข้อความตามจำนวนที่ต้องการ ถ้าไม่ระบุจำนวนจะดึงมา 1 ตัว ผลลัพธ์เป็น Text เสมอแม้ดึงตัวเลขออกมา
LEN คืนค่าเป็นตัวเลขจำนวนเต็ม แสดงความยาวของข้อความในเซลล์ มีประโยชน์มากในการตรวจสอบความถูกต้องของข้อมูล (Data Validation) เช่น เช็ครหัสพนักงาน, เบอร์โทรศัพท์, หรือเลขบัตรประชาชน ว่ามีความยาวครบถ้วนหรือไม่
LOWER แปลงข้อความทั้งหมดเป็นตัวพิมพ์เล็ก (lowercase) เหมาะสำหรับทำความสะอาดข้อมูลและเปรียบเทียบข้อความโดยไม่สนตัวพิมพ์ เพราะในบางโปรแกรม Case-sensitive จึงต้องแปลงให้เป็นมาตรฐานเดียวกัน
MID ตัดข้อความออกจากตำแหน่งเริ่มต้นที่คุณกำหนด โดยระบุความยาวของข้อความที่ต้องการ สะดวกมากสำหรับดึงข้อมูลบางส่วนจากข้อความที่ยาว เช่น รหัสสินค้า, รหัสพนักงาน, หรือวันที่ที่ฝังตัวในข้อความ
REGEXEXTRACT เป็นฟังก์ชันสำหรับดึงข้อความย่อย (Substring) ที่ตรงกับรูปแบบ Regular Expression (Regex) ที่กำหนด เหมาะสำหรับการทำ Data Cleaning ขั้นสูง
REGEXREPLACE ค้นหาและแทนที่ข้อความจากรูปแบบ Regular Expression ใช้สำหรับ Data Cleaning ที่ซับซ้อน เหมาะสำหรับ Excel 365 รองรับ backreferences
REGEXTEST เป็นฟังก์ชันสำหรับทดสอบว่าข้อความตรงกับรูปแบบ Regular Expression ที่กำหนดหรือไม่ คืนค่า TRUE หรือ FALSE เหมาะสำหรับการตรวจสอบความถูกต้องของข้อมูล (Validation) เช่น ที่อยู่อีเมล เบอร์โทรศัพท์ หรือรูปแบบข้อมูลอื่น ๆ
REPLACE แทนที่ข้อความจากตำแหน่งที่กำหนด โดยระบุตำแหน่งเริ่มต้น จำนวนตัวอักษรที่ต้องการลบ และข้อความใหม่ที่จะใส่แทน แตกต่างจาก SUBSTITUTE ที่ค้นหาคำที่ตรงตามความพึงพอใจ REPLACE ใช้ตำแหน่งแน่นอน
RIGHT จะคืนค่าเป็นข้อความ (Text) ที่ถูกตัดมาจากด้านขวาสุดของข้อความต้นฉบับตามจำนวนที่ระบุ ถ้าไม่ระบุจำนวน ฟังก์ชันจะดึงมาเพียง 1 ตัวอักษร
.
ที่เจ๋งคือสามารถใช้ร่วมกับ LEN หรือ FIND เพื่อตัดข้อความแบบไดนามิกได้ ผลลัพธ์ที่ได้จะเป็น Text เสมอ ถ้าต้องการนำไปคำนวณต่อ ต้องแปลงเป็นตัวเลขก่อนครับ
SEARCH ค้นหาตำแหน่งของคำที่ต้องการในข้อความหลัก ถ้าเจอคืนตัวเลขตำแหน่งที่พบ ถ้าไม่เจอคืน #VALUE! ต่างจาก FIND ตรงที่ไม่แยกแยะตัวพิมพ์เล็ก-ใหญ่ (A=a) และใช้ wildcard (* กับ ?) ค้นหาแบบมีรูปแบบได้ เอาไปต่อกับ ISNUMBER ก็กลายเป็นสูตรเช็คว่าเซลล์มีคำนี้อยู่หรือไม่ ซึ่งเป็นวิธีที่ใช้กันบ่อยที่สุดในงานจัดหมวดหมู่หรือกรองข้อมูลจากคำสำคัญ
SUBSTITUTE ค้นหาคำเก่า (old_text) ในข้อความแล้วแทนที่ด้วยคำใหม่ (new_text) โดยแยกแยะตัวพิมพ์เล็ก-ใหญ่ (case-sensitive) และเลือกได้ว่าจะแทนที่ทุกจุดที่เจอ หรือเฉพาะลำดับที่ระบุผ่าน instance_num งานที่ใช้บ่อยคือลบตัวคั่นออกจากตัวเลขที่ถูกเก็บเป็นข้อความ เปลี่ยนโดเมนอีเมลหลังรีแบรนด์ หรือล้างอักขระที่พิมพ์มาผิดรูปแบบก่อนนำไปคำนวณต่อ
TEXTAFTER ดึงข้อความหลังจากตัวคั่นที่ระบุ รองรับการเลือกลำดับตัวคั่น (instance_num) การค้นหาแบบ case-insensitive (match_mode) และค่า default เมื่อไม่พบ (if_not_found) ทำให้แยกข้อมูลได้ง่ายกว่า MID+FIND ใช้คู่กับ TEXTBEFORE TEXTSPLIT
TEXTBEFORE ดึงข้อความก่อนหน้าตัวคั่นที่ระบุ รองรับการเลือกลำดับตัวคั่น (instance_num) การค้นหาแบบ case-insensitive (match_mode) และค่า default เมื่อไม่พบ (if_not_found) ทำให้แยกข้อมูลได้ง่ายกว่า LEFT+FIND ใช้คู่กับ TEXTAFTER TEXTSPLIT
TEXTSPLIT เป็นฟังก์ชัน Dynamic Array ที่ช่วยแยกข้อความในเซลล์ออกเป็นอาร์เรย์ของค่า (Spill) ตามตัวคั่นที่ระบุ สามารถแยกข้อมูลออกไปทางขวา (คอลัมน์) หรือลงด้านล่าง (แถว) หรือทั้งสองอย่างพร้อมกัน เหมาะสำหรับการจัดการข้อมูลนำเข้าที่รวมกันอยู่ในเซลล์เดียว
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่