SEARCH
ฟังก์ชั่น SEARCH จะส่งค่ากลับมาเป็นตำแหน่งเริ่มต้นของค่าสตริงหนึ่งภายในอีกค่าสตริงหนึ่ง โดยไม่สนใจตัวอักษรพิมพ์ใหญ่-เล็กและอนุญาตอักขระตัวแทน
SEARCH(สตริงค้นหา, สตริงต้นทาง, ตำแหน่งเริ่มต้น)
สตริงค้นหา: ค่าสตริงที่จะค้นหา
สตริงต้นทาง: ค่าสตริงที่จะค้นหา
ตำแหน่งเริ่มต้น: ค่าตัวเลขทางเลือกที่ระบุตำแหน่งภายในสตริงที่ควรจะเริ่มต้นการทำงาน ตำแหน่งเริ่มต้น ต้องมากกว่าหรือเท่ากับ 1 และน้อยกว่าหรือเท่ากับจำนวนอักขระใน สตริงต้นทาง
หมายเหตุ
อนุญาตให้ใช้อักขระตัวแทนได้ในสตริงค้นหา ในสตริงค้นหา ให้ใช้ * (ดอกจัน) แทนอักขระหลายตัว หรือใช้ ? (เครื่องหมายคำถาม) แทนอักขระเดี่ยวตัวใดๆ ในสตริงต้นทาง คุณยังสามารถใช้ ~ (เครื่องหมายตัวหนอน) เพื่อระบุว่าให้ค้นหาอักขระที่ตามมาอย่างตรงตัว ไม่ใช่ใช้เป็นอักขระตัวแทน
การระบุ ตำแหน่งเริ่มต้น จะอนุญาตให้คุณเริ่มทำการค้นหา สตริงค้นหา ภายใน สตริงต้นทาง มากกว่าที่จะเริ่มจากจุดเริ่มต้น สิ่งนี้เป็นประโยชน์อย่างยิ่งหากสตริงต้นทางประกอบด้วยสตริงค้นหาหลายสตริง และคุณต้องการกำหนดตำแหน่งเริ่มต้นไว้ที่ลำดับอื่นที่ไม่ใช่ลำดับแรก ถ้าตำแหน่งเริ่มต้นถูกเว้นว่าง จะอนุมานว่าเท่ากับ 1
ในการให้การค้นหาของคุณพิจารณาตัวพิมพ์ใหญ่-เล็กด้วย ให้ใช้ฟังก์ชั่น FIND
ตัวอย่างเช่น |
---|
=SEARCH(“ra”, "abracadabra") จะส่งค่ากลับมาเป็น 3 โดยสตริง “ra” ปรากฏขึ้นครั้งแรกที่ตำแหน่งอักขระที่ 3 ของ “abracadabra” =SEARCH(“ra","abracadabra", 5) จะส่งค่ากลับมาเป็น 10 ซึ่งเป็นตำแหน่งที่สตริง “ra” ปรากฏขึ้นครั้งแรกเมื่อคุณเริ่มค้นหาจากตำแหน่งที่ 5 =SEARCH("*lock", "capslock") จะส่งค่ากลับมาเป็น 1 เนื่องจากเครื่องหมายดอกจันที่ตำแหน่งเริ่มต้นของสตริงค้นหาจะแทนอักขระทั้งหมดที่อยู่ก่อนหน้า “lock” =SEARCH("*lok", "capslock") จะส่งค่ากลับมาเป็นข้อผิดพลาด เนื่องจากสตริง “lok” ไม่ปรากฏอยู่ใน “capslock” =SEARCH("?lock", "capslock") จะส่งค่ากลับมาเป็น 4 เนื่องจากเครื่องหมายคำถามจะแทนอักขระหนึ่งตัวที่อยู่ชิดก่อนหน้า “lock” หนึ่งอักขระ =SEARCH(“l*k", "capslock") จะส่งค่ากลับมาเป็น 5 เนื่องจากเครื่องหมายดอกจันจะแทนอักขระทั้งหมดที่อยู่ระหว่าง “l” กับ “k” =SEARCH("~?", "Capslock on? No.") จะส่งค่ากลับมาเป็น 12 เนื่องจากเครื่องหมายตัวหนอนหมายความว่าให้ตีความอักขระถัดไป (เครื่องหมายคำถาม) อย่างตรงตัว ไม่ใช่เป็นอักขระตัวแทน และเครื่องหมายคำถามเป็นอักขระลำดับที่ 12 =SEARCH(REGEX("([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})"), "Where does john@appleseed.com start?") จะส่งค่ากลับมาเป็น 12 ซึ่งเป็นตำแหน่งเริ่มต้นของอีเมลแรกในสตริงต้นทาง |