ฟังก์ชัน 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_text ได้ เครื่องหมายคําถามตรงกับอักขระตัวเดียว เครื่องหมายดอกจันใช้แทนอักขระหลายตัวติดกัน ถ้าคุณต้องการค้นหาเครื่องหมายคําถามหรือดอกจันจริงๆ ให้พิมพ์ เครื่องหมายตัวหนอน (~) ไว้หน้าอักขระ
  • ถ้าไม่พบค่าของ find_text ฟังก์ชันจะส่งกลับ #VALUE! เป็นค่าความผิดพลาด
  • ถ้าอาร์กิวเมนต์ start_num ถูกละไว้ จะถือว่ามีค่าเป็น 1
  • ถ้า start_num มีค่าไม่มากกว่า 0 (ศูนย์) หรือมากกว่าความยาวของอาร์กิวเมนต์ within_text จะส่งกลับ #VALUE! เป็นค่าความผิดพลาด
  • ใช้ start_num เพื่อข้ามอักขระตามจํานวนที่ระบุ ใช้ฟังก์ชัน SEARCH เป็นตัวอย่าง สมมติว่าคุณกําลังทํางานอยู่กับสตริงข้อความ "AYF0093 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 การค้นหาได้ปรับปรุงลักษณะการทํางานกับคู่ตัวแทน โดยนับเป็นอักขระเดียวแทนที่จะเป็นสองตัว ตัวเลือกชุดรูปแบบ (มักใช้กับอีโมจิ) จะยังคงถูกนับเป็นอักขระแยกต่างหาก อ่านเพิ่มเติมที่นี่: มาตรฐาน Unicode