SEARCH ใช้หาว่าข้อความที่เราต้องการอยู่ตำแหน่งตัวอักษรที่เท่าไรในเซลล์ คืนค่าออกมาเป็นตัวเลข หน้าตาการใช้งานเหมือน FIND เกือบทุกอย่าง แต่มีสองข้อที่ต่างกันชัดเจนคือ SEARCH ไม่สนตัวพิมพ์เล็ก-ใหญ่ และรองรับ wildcard บทความนี้จะดูวิธีใช้ พร้อมการนำไปตัดคำและเช็คว่าเซลล์มีคำที่ต้องการไหม
รูปแบบของสูตร SEARCH
=SEARCH(ข้อความที่ต้องการหา, ข้อความที่ให้ค้นใน, [เริ่มหาจากตำแหน่งที่])
อาร์กิวเมนต์ที่ 3 ใส่หรือไม่ใส่ก็ได้ ถ้าไม่ใส่จะเริ่มหาจากตัวแรก ถ้าหาไม่เจอจะคืน #VALUE!
ตัวอย่างที่ 1: หาตำแหน่งเครื่องหมาย @ ในอีเมล
=SEARCH("@",A2)| A | B | |
|---|---|---|
| 1 | อีเมล | ตำแหน่ง @ |
| 2 | somchai@mail.com | 8 |
| 3 | a.b@test.co.th | 4 |
ตัวอักษร @ ในแถวที่ 2 อยู่ตำแหน่งที่ 8 นับจากซ้าย ตัวเลขนี้เอาไปใช้ตัดชื่อผู้ใช้ออกจากโดเมนต่อได้
ตัวอย่างที่ 2: SEARCH ไม่สนตัวพิมพ์ ต่างจาก FIND
=SEARCH("excel",A2)| A | B | C | |
|---|---|---|---|
| 1 | ข้อความ | =SEARCH(“excel”,A) | =FIND(“excel”,A) |
| 2 | เรียน Excel ออนไลน์ | 7 | #VALUE! |
คำในเซลล์คือ “Excel” ตัว E ใหญ่ SEARCH หาเจอเพราะไม่สนตัวพิมพ์ แต่ FIND ที่หา “excel” ตัวเล็กจะไม่เจอ ถ้างานของเราต้องแยกตัวพิมพ์ให้ใช้ FIND ถ้าไม่ต้องแยกให้ใช้ SEARCH
ตัวอย่างที่ 3: ใช้ wildcard
SEARCH รองรับ ? (แทนตัวอักษร 1 ตัว) และ * (แทนตัวอักษรกี่ตัวก็ได้) FIND ทำแบบนี้ไม่ได้
=SEARCH("PO-????-2026",A2)| A | B | |
|---|---|---|
| 1 | ข้อความในเอกสาร | ตำแหน่งที่พบรูปแบบ |
| 2 | เลขที่ PO-1487-2026 ลงวันที่ | 7 |
รูปแบบ PO-????-2026 หมายถึง PO- ตามด้วยตัวอักษร 4 ตัว แล้วตามด้วย -2026 ถ้าต้องการหาตัว ? หรือ * จริงๆ ให้ใส่ ~ นำหน้า เช่น ~?
ตัวอย่างที่ 4: ตัดข้อความก่อนเครื่องหมาย
=LEFT(A2,SEARCH("-",A2)-1)| A | B | |
|---|---|---|
| 1 | รหัส-ชื่อ | เฉพาะรหัส |
| 2 | A102-เมาส์ไร้สาย | A102 |
| 3 | B7-คีย์บอร์ด | B7 |
SEARCH หาตำแหน่งขีด - ได้ 5 จากนั้น LEFT ดึงตัวอักษร 4 ตัวแรก (5−1) ออกมา ถ้าใช้ Microsoft 365 จะมี TEXTBEFORE ที่ทำงานนี้ได้ตรงกว่า
ตัวอย่างที่ 5: เช็คว่าเซลล์มีคำที่ต้องการไหม
=IF(ISNUMBER(SEARCH("ด่วน",A2)),"ต้องรีบ","ปกติ")| A | B | |
|---|---|---|
| 1 | หัวข้อเรื่อง | สถานะ |
| 2 | ขอเอกสารด่วนภายในวันนี้ | ต้องรีบ |
| 3 | สรุปประชุมประจำเดือน | ปกติ |
SEARCH คืน #VALUE! เมื่อหาไม่เจอ การครอบด้วย ISNUMBER จะเปลี่ยนเป็น TRUE/FALSE ที่ IF ใช้ต่อได้ วิธีนี้นิยมใช้กรองรายการที่มีคำสำคัญ
สรุป SEARCH vs FIND
| SEARCH | FIND | |
| ตัวพิมพ์เล็ก-ใหญ่ | ไม่สน | แยกชัดเจน |
Wildcard ? * |
ใช้ได้ | ใช้ไม่ได้ |
| หาไม่เจอ | #VALUE! |
#VALUE! |
ถ้ายังไม่แน่ใจว่าจะดึงข้อความต่อยังไง ดูบทความ LEFT, RIGHT, MID และ SUBSTITUTE ประกอบ