ฟังก์ชัน SEARCH

นำไปใช้กับ
Excel for Microsoft 365 Excel for Microsoft 365 for Mac Excel 2024 Excel 2024 for Mac Excel 2021 Excel 2021 for Mac Excel 2019 Excel 2016

บทความนี้จะอธิบายเกี่ยวกับไวยากรณ์ของสูตรและการใช้ฟังก์ชัน SEARCH ใน Microsoft Excel 

คำอธิบาย

ฟังก์ชัน SEARCH จะค้นหาสตริงข้อความหนึ่งภายในสตริงข้อความที่สอง และส่งกลับหมายเลขของตําแหน่งเริ่มต้นของสตริงข้อความแรกจากอักขระแรกของสตริงข้อความที่สอง ตัวอย่างเช่น เมื่อต้องการค้นหาตําแหน่งของตัวอักษร "n" ในคําว่า "printer" คุณสามารถใช้ฟังก์ชันต่อไปนี้:

=SEARCH("n","printer")

ฟังก์ชันนี้ส่งกลับค่า 4 เนื่องจาก "n" เป็นตัวอักษรตัวที่ 4 ในคำว่า "printer"

คุณยังสามารถค้นหาคําภายในคําอื่นๆ ได้ ตัวอย่างเช่น ฟังก์ชัน

=SEARCH("base","database")

ส่งกลับ ค่า 5 เนื่องจากคําว่า "base" เริ่มต้นที่อักขระตัวที่ห้าของคําว่า "database" คุณสามารถใช้ SEARCH เพื่อกําหนดตําแหน่งที่ตั้งของอักขระหรือสตริงข้อความภายในสตริงข้อความอื่น แล้วใช้ MID เพื่อส่งกลับข้อความ หรือใช้ REPLACE เพื่อเปลี่ยนข้อความ ฟังก์ชันเหล่านี้แสดงในตัวอย่างที่ 1 ในบทความนี้

ไวยากรณ์

SEARCH(find_text,within_text,[start_num])

ฟังก์ชัน SEARCH มีอาร์กิวเมนต์ดังนี้

  • find_text ต้องระบุ ข้อความที่คุณต้องการค้นหา
  • within_text ต้องระบุ ข้อความที่คุณต้องการค้นหาค่าของอาร์กิวเมนต์ find_text
  • start_num เสริม หมายเลขอักขระในอาร์กิวเมนต์ within_text ที่คุณต้องการเริ่มการค้นหา

ข้อสังเกต

  • ฟังก์ชัน SEARCH ไม่ตรงตามตัวพิมพ์ใหญ่-เล็ก ถ้าคุณต้องการทําการค้นหาแบบตรงตามตัวพิมพ์ใหญ่-เล็ก คุณสามารถใช้ FIND ได้
  • คุณสามารถใช้อักขระตัวแทน เครื่องหมายคําถาม (?) และเครื่องหมายดอกจัน (*) ในอาร์กิวเมนต์ find_text เครื่องหมายคําถามจะตรงกับอักขระตัวเดียว เครื่องหมายดอกจันใช้แทนอักขระหลายตัวตามลําดับ ถ้าคุณต้องการค้นหาเครื่องหมายคําถามหรือดอกจันจริงๆ ให้พิมพ์เครื่องหมายตัวหนอน (~) ไว้หน้าอักขระ
  • ถ้าไม่พบค่าของ find_text #VALUE! เป็นค่าความผิดพลาด
  • ถ้าอาร์กิวเมนต์ start_num ถูกละไว้ จะถือว่ามีค่าเป็น 1
  • ถ้า start_num มีค่าไม่มากกว่า 0 (ศูนย์) หรือมากกว่าความยาวของอาร์กิวเมนต์ within_text #VALUE! เป็นค่าความผิดพลาด
  • ใช้ start_num เพื่อข้ามจํานวนอักขระที่ระบุ สมมติว่าคุณกําลังทํางานกับสตริงข้อความ "AYF0093 โดยใช้ฟังก์ชัน SEARCH เป็นตัวอย่าง YoungMensApparel" เมื่อต้องการค้นหาตําแหน่งของ "Y" แรกในส่วนคําอธิบายของสตริงข้อความ ให้ตั้งค่า start_num เท่ากับ 8 เพื่อไม่ให้มีการค้นหาส่วนหมายเลขลําดับประจําสินค้าของข้อความ (ในกรณีนี้ คือ "AYF0093") ฟังก์ชัน SEARCH จะเริ่มการดําเนินการค้นหาที่ตําแหน่งอักขระที่แปด ค้นหาอักขระที่ระบุในอาร์กิวเมนต์ find_text ในตําแหน่งถัดไป และส่งกลับตัวเลข 9 ฟังก์ชัน SEARCH จะส่งกลับจํานวนอักขระจากจุดเริ่มต้นของอาร์กิวเมนต์ within_text เสมอ โดยนับอักขระที่คุณข้ามไปถ้าอาร์กิวเมนต์ start_num มากกว่า 1

ตัวอย่าง

คัดลอกข้อมูลตัวอย่างในตารางต่อไปนี้ และวางในเซลล์ A1 ของเวิร์กชีต Excel ใหม่ สำหรับสูตรที่จะแสดงผลลัพธ์ ให้เลือกสูตร กด F2 แล้วกด Enter ถ้าคุณต้องการ คุณสามารถปรับความกว้างของคอลัมน์เพื่อดูข้อมูลทั้งหมดได้

ข้อมูล    
คำสั่ง
Profit Margin
ระยะขอบ
The "boss" is here
สูตร คำอธิบาย ผลลัพธ์
=SEARCH("e",A2,6) ตำแหน่งของ "e" ตัวแรกในสตริงในเซลล์ A2 เริ่มต้นที่ตำแหน่งที่หก 7
=SEARCH(A4,A3) ตำแหน่งของ "Margin" (สตริงที่ต้องการจะค้นหา คือ เซลล์ A4) ใน "Profit Margin" (เซลล์ที่ต้องการจะค้นหาคือ A3) 8
=REPLACE(A3,SEARCH(A4,A3),6,"Amount") แทนที่ "Margin" ด้วย "Amount" โดยครั้งแรกจะค้นหาตำแหน่งของ "Margin" ในเซลล์ A3 จากนั้นแทนที่ตัวอักขระนั้นและตัวอักขระอีก 5 ตัวถัดไปด้วยสตริง "Amount" Profit Amount
=MID(A3,SEARCH(" ",A3)+1,4) ส่งกลับตัวอักขระสี่ตัวแรกที่อยู่หลังจากอักขระช่องว่างแรกใน "Profit Margin" (เซลล์ A3) Marg
=SEARCH("""",A5) ตำแหน่งของเครื่องหมายอัญประกาศตัวแรก (") ในเซลล์ A5 5
=MID(A5,SEARCH("""",A5)+1,SEARCH("""",A5,SEARCH("""",A5)+1)-SEARCH("""",A5)-1) ส่งกลับเฉพาะข้อความที่อยู่ภายในเครื่องหมายอัญประกาศในเซลล์ A5 boss

สำคัญ

  • ฟังก์ชัน SEARCHB ไม่ได้รับการสนับสนุน
  • ในเวิร์กบุ๊กที่ตั้งค่าเป็น เวอร์ชันที่เข้ากันได้ 2 SEARCH ได้ปรับปรุงลักษณะการทํางานด้วยคู่ตัวแทน โดยนับเป็นอักขระเดียวแทนที่จะเป็นสองตัว ตัวเลือกชุดรูปแบบ (มักใช้กับอีโมจิ) จะยังคงถูกนับเป็นอักขระแยกต่างหาก อ่านเพิ่มเติมที่นี่: มาตรฐาน Unicode