SEARCH
อัปเดต 24 ก.ย. 2569 · ตรวจ syntax และเวอร์ชันกับเอกสารของ Microsoft · ผลในตัวอย่างตรวจด้วยเครื่องมือคำนวณ 2 ชุด
SEARCH คืออะไร
หาว่าข้อความที่ต้องการอยู่ตัวอักษรที่เท่าไร ไม่สนตัวพิมพ์เล็กใหญ่ รองรับ wildcard และใช้ตรวจว่าข้อความมีคำนั้นไหม
ใช้เมื่อไหร่
- หาคำในข้อความที่พิมพ์มาไม่เหมือนกัน เช่น INV, inv หรือ Inv
- ดึงเลขที่เอกสารที่อยู่คนละตำแหน่งในข้อความ เช่น ข้อความแจ้งโอนเงิน
- คัดแถวที่มีคำที่ต้องการ เช่น ข้อความที่ร้านค้าขอใบเสร็จ
รูปแบบสูตร
Argument แต่ละตัว
ชี้ที่ argument ในรูปแบบสูตรด้านบนเพื่อไฮไลต์แถวนั้น
| Argument | จำเป็นไหม | ความหมาย |
|---|---|---|
| find_text | จำเป็น | ข้อความที่ต้องการหา ไม่สนตัวพิมพ์เล็กใหญ่ ใช้ ? และ * ได้ |
| within_text | จำเป็น | ข้อความหรือช่องที่ต้องการค้นหา |
| [start_num] | ไม่บังคับ | ตัวอักษรที่เริ่มค้น ถ้าไม่ใส่ = 1 (เริ่มจากตัวแรก) |
ลองเลย: ตัวอย่างที่เปลี่ยนค่าได้
ข้อมูลชุดเดียวกับไฟล์ฝึก เปลี่ยนค่าในช่องกรอก หรือคลิกตัวเลขในตารางเพื่อแก้ แล้วดูผลลัพธ์เปลี่ยนทันที กดถัดไปเพื่อดูว่า Excel คิดทีละขั้นอย่างไร สีของช่วงในตารางตรงกับสีในสูตร
ร้านค้าพิมพ์เลขที่บิลมาเป็น INV, inv หรือ Inv เทียบตำแหน่งที่ SEARCH (C) กับ FIND (D) หาเจอ
| แถว | A | B | C | D | E | F |
|---|---|---|---|---|---|---|
| 4 | วันที่ | ข้อความแจ้งโอน | ใช้ SEARCH | ใช้ FIND | ||
| 5 | 1/12/2025 | โอนชำระ INV-2025-0412 ร้านเจริญพาณิชย์ | 9 | 9 | ||
| 6 | 2/12/2025 | มินิมาร์ทบ้านสวน ค่าสินค้า inv-2025-0415 | 28 | #VALUE! | ||
| 7 | 3/12/2025 | ร้านป้าแดง จ่ายบิล Inv-2025-0419 ขอใบเสร็จด้วย | 20 | #VALUE! | ||
| 8 | 4/12/2025 | ค่าสินค้าเดือน พ.ย. ไม่มีเลขที่บิล | #VALUE! | #VALUE! | ||
| 9 | 5/12/2025 | ชำระ INV-2025-0433 และ INV-2025-0434 | 6 | 6 | ||
| 10 | 8/12/2025 | โอนแล้ว inv-2025-0440 ได้รับยอดหรือยัง? | 9 | #VALUE! | ||
| 11 | 9/12/2025 | INV-2025-0452 ส่งใบเสร็จทางอีเมลได้ไหม? | 1 | 1 | ||
| 12 | 10/12/2025 | มัดจำสินค้าล็อตใหม่ ร้านลุงชัย | #VALUE! | #VALUE! | ||
| 13 | ||||||
| 14 | ||||||
| 15 | ||||||
| 16 | ||||||
| 17 | ||||||
| 18 | ||||||
| 19 |
ขั้นตอนการคำนวณ (3)
- C ใช้ SEARCH ไม่สนตัวพิมพ์เล็กใหญ่ จึงเจอทั้ง INV, inv และ Inv ส่วน D ใช้ FIND เจอเฉพาะ INV ตัวพิมพ์ใหญ่
- ตำแหน่งนับทุกตัวอักษร รวมช่องว่าง สระ และวรรณยุกต์ เช่น โอนชำระ มี 7 ตัว INV ในแถว 5 จึงเริ่มที่ตัวที่ 9
- แถว 8 และแถว 12 ไม่มีคำว่า INV จึงได้ #VALUE! ทั้งสองฟังก์ชัน ดูวิธีจัดการในตัวอย่าง 2 และ 3
ตัวอย่างทั้งหมด 4 แบบ
- 1หาคำโดยไม่สนตัวพิมพ์เล็กใหญ่ · ร้านค้าพิมพ์เลขที่บิลมาเป็น INV, inv หรือ Inv เทียบตำแหน่งที่ SEARCH (C) กับ FIND (D) หาเจอ
- 2ดึงเลขที่ใบแจ้งหนี้ออกจากข้อความแจ้งโอน · SEARCH หาตำแหน่งเริ่มของ INV- แล้ว MID ตัดจากตรงนั้น 13 ตัว ได้เลขที่ใบแจ้งหนี้ ไม่ว่าจะอยู่ตรงไหนของข้อความ
- 3ตรวจว่าข้อความมีคำที่ต้องการไหม · คัดข้อความที่ร้านค้าขอใบเสร็จ: SEARCH หาคำใน I4 แล้ว ISNUMBER เปลี่ยนผลเป็น TRUE หรือ FALSE ให้อ่านง่ายและนับต่อได้
- 4wildcard ? กับ * และการหาเครื่องหมาย ? จริง · ? แทนตัวอักษรใดก็ได้ 1 ตัว * แทนกี่ตัวก็ได้ ถ้าต้องการหาเครื่องหมาย ? หรือ * จริง ให้ใส่ ~ นำหน้า
ข้อผิดพลาดที่พบบ่อย
เคล็ดลับจากห้องเรียน
ใช้กับ Excel ของคุณได้ไหม
| เวอร์ชัน | Excel 2016 | Excel 2019 | Excel 2021 | Excel 2024 | Microsoft 365 |
|---|---|---|---|---|---|
| SEARCH |
SEARCH ใช้ได้ทุกเวอร์ชันที่ยังใช้กันอยู่ จึงไม่ต้องมีสูตรทางเลือก
เลือกวิธีให้ถูกงาน
| วิธี | ใช้เมื่อ | ตัวอย่าง |
|---|---|---|
| SEARCH | หาตำแหน่ง ไม่สนตัวพิมพ์ และใช้ wildcard ได้ | =SEARCH("INV-",B5) |
| FIND | หาตำแหน่ง แบบตัวพิมพ์เล็กใหญ่ต้องตรง | =FIND("INV-",B5) |
| ISNUMBER + SEARCH | ได้ TRUE หรือ FALSE ว่ามีคำนี้ไหม | =ISNUMBER(SEARCH("ใบเสร็จ",B5)) |
| COUNTIF + * | นับว่ามีกี่แถวที่มีคำนี้ | =COUNTIF(B5:B12,"*ใบเสร็จ*") |
ใน Power BI ใช้อะไร
SEARCH มีใน DAX ถ้าแค่ต้องรู้ว่ามีคำนั้นหรือไม่ใช้ CONTAINSSTRING ได้ TRUE/FALSE
ไฟล์ฝึก SEARCH
9Expert-SEARCH-Practice-v1.2.xlsx
โจทย์ในชีตแบบฝึกหัด
- ข้อ 1ตำแหน่งของ inv ในข้อความแถว 7
- ข้อ 2เลขที่ใบแจ้งหนี้ 13 ตัว (เริ่มที่ inv) ในข้อความแถว 8
- ข้อ 3ข้อความแถว 9 มีคำว่า inv ไหม ถ้ามีแสดง มี ถ้าไม่มีแสดง ไม่มี
- ข้อ 4ตำแหน่งของ inv ตัวที่สองในข้อความแถว 10
- ข้อ 5ตำแหน่งของเครื่องหมาย ? ในข้อความแถว 11 (เครื่องหมาย ? จริง ไม่ใช่ wildcard)
วิดีโอประกอบ
ในเว็บจริงจะฝังคลิปพร้อมตั้งเวลาเริ่มตรงหัวข้อนี้ ในต้นแบบเปิดผลค้นหาในช่องแทน
เปิดใน YouTubeแบบทดสอบ 3 ข้อ
1. =SEARCH("inv","ชำระ INV-2025-0412") ได้เท่าไร
SEARCH ไม่สนตัวพิมพ์เล็กใหญ่ ชำระ มี 4 ตัว ตามด้วยช่องว่าง INV จึงเริ่มที่ตัวที่ 6
2. ต้องการหาเครื่องหมาย ? ในข้อความ เขียน find_text อย่างไร
? เป็น wildcard แทนตัวอักษรใดก็ได้ ต้องใส่ ~ นำหน้าจึงเป็นการหาเครื่องหมาย ? จริง
3. ถ้าหาไม่พบ SEARCH ให้ผลอะไร
หาไม่พบได้ #VALUE! จึงมักครอบด้วย ISNUMBER หรือ IFERROR
ไปต่อ
ต่อยอดใน Microsoft Excel Advanced: สูตรสรุปผลแบบมีเงื่อนไข สูตรสืบค้นข้อมูล สูตรใหม่ใน Microsoft 365 และการจัดการ Error (2 วัน)