ฟังก์ชัน SEARCH, SEARCHB

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

คำอธิบาย

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

=SEARCH("n","printer")

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

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

=SEARCH("base","database")

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

สิ่งสำคัญ: 

  • ฟังก์ชันเหล่านี้อาจไม่พร้อมใช้งานในบางภาษา

  • SEARCHB จะนับ 2 ไบต์ต่ออักขระเมื่อมีการตั้งค่าภาษา DBCS เป็นภาษาเริ่มต้นเท่านั้น มิฉะนั้น SEARCHB จะทำงานในลักษณะเดียวกับ SEARCH คือนับ 1 ไบต์ต่ออักขระ

ภาษาที่สนับสนุน DBCS นั้นรวมทั้งญี่ปุ่น จีน (ประยุกต์) จีน (ดั้งเดิม) และเกาหลี

ไวยากรณ์

SEARCH(find_text,within_text,[start_num])

SEARCHB(find_text,within_text,[start_num])

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

  • find_text    (ต้องระบุ) คือข้อความที่คุณต้องการจะค้นหา

  • within_text    (ต้องระบุ) คือข้อความที่คุณต้องการจะค้นหาค่าของอาร์กิวเมนต์ find_text

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

ข้อสังเกต

  • ฟังก์ชัน SEARCH และ SEARCHB ไม่ตรงตามตัวพิมพ์ใหญ่-เล็ก ถ้าคุณต้องการจะค้นหาแบบตรงตามตัวพิมพ์ใหญ่-เล็ก คุณสามารถใช้ FIND และ FINDB

  • คุณสามารถใช้อักขระตัวแทน เครื่องหมายคำถาม (?) และดอกจัน (*) ในอาร์กิวเมนต์ 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

ขยายทักษะของคุณ
สำรวจการฝึกอบรม
รับฟีเจอร์ใหม่ก่อนใคร
เข้าร่วม Office Insider

ข้อมูลนี้เป็นประโยชน์หรือไม่

ขอบคุณสำหรับคำติชมของคุณ!

ขอขอบคุณสำหรับคำติชมของคุณ! เราคิดว่าอาจเป็นประโยชน์ที่จะให้คุณได้ติดต่อกับหนึ่งในตัวแทนฝ่ายสนับสนุน Office ของเรา

×