Excel ค้นหาการเกิดขึ้นล่าสุดของอักขระในสตริง (6 วิธี)

  • แบ่งปันสิ่งนี้
Hugh West

สารบัญ

ในบทความนี้ เราจะ ค้นหา เหตุการณ์ล่าสุด ของ อักขระ ใน สตริง ใน เอ็กเซล . ชุดข้อมูลตัวอย่างของเรามี สามคอลัมน์ : ชื่อบริษัท , รหัสพนักงาน และ การเกิดขึ้นล่าสุด รหัสพนักงาน ประกอบด้วยชื่อ อายุ และแผนกของพนักงาน

สำหรับ 4 วิธีแรก เราจะค้นหาตำแหน่งของเครื่องหมายทับ “ / ” สำหรับค่าทั้งหมดใน รหัสพนักงาน หลังจากนั้น เราจะส่งออก strings หลังเครื่องหมายทับสุดท้ายใน 2 เมธอดสุดท้าย

ดาวน์โหลดแบบฝึกหัด

ค้นหาการเกิดขึ้นล่าสุดของอักขระใน String.xlsm

6 วิธีใน Excel เพื่อค้นหาการเกิดขึ้นล่าสุดของอักขระใน สตริง

1. การใช้ FIND & ฟังก์ชัน SUBSTITUTE ใน Excel เพื่อหาตำแหน่งของตัวอักษรที่เกิดขึ้นล่าสุดในสตริง

สำหรับวิธีแรก เราจะใช้ฟังก์ชัน FIND ซึ่งเป็นฟังก์ชัน SUBSTITUTE , ฟังก์ชัน CHAR และฟังก์ชัน LEN เพื่อ ค้นหา ตำแหน่ง สุดท้าย ของเครื่องหมายทับใน สตริง ของเรา .

ขั้นตอน:

  • ประการแรก พิมพ์สูตรต่อไปนี้ใน เซลล์ D5 .
=FIND(CHAR(134),SUBSTITUTE(C5,"/",CHAR(134),(LEN(C5)-LEN(SUBSTITUTE(C5,"/","")))/LEN("/")))

รายละเอียดสูตร

หน้าที่หลักของเราคือ ค้นหา เราจะหาค่า CHAR(134) ในสตริงของเรา

  • CHAR(134)
    • เอาท์พุต:† .
    • เราจำเป็นต้องตั้งค่าอักขระที่ไม่มีอยู่ในสตริงของเรา เราเลือกเพราะมันหายากในสตริง หากคุณมีสิ่งนี้ในสตริง ให้เปลี่ยนเป็นอะไรก็ได้ที่ไม่อยู่ในสตริงของคุณ (เช่น “ @ ”, “ ~ ” เป็นต้น)
  • SUBSTITUTE(C5,”/”,CHAR(134),(LEN(C5)-LEN(SUBSTITUTE(C5,”/”,””)))/LEN(“/ ”)) -> กลายเป็น
  • SUBSTITUTE(C5,”/”,”†”,(17-LEN(“Mike32Marketing”))/1) -> กลายเป็น
  • SUBSTITUTE(“Mike/32/Marketing”,”/”,”†”,(17-15)/1)
    • เอาต์พุต : “Mike/32†Marketing” .
  • ตอนนี้สูตรทั้งหมดของเรากลายเป็น
  • =FIND(“†”,”Mike/32 †การตลาด”)
    • เอาต์พุต: 8 .
  • ประการที่สอง กด ENTER .

เราจะเห็นค่า 8 ถ้าเรานับเองจากด้านซ้าย เราจะได้ 8 เป็นตำแหน่งสำหรับ เครื่องหมายทับ ใน เซลล์ C5 .

  • สุดท้าย ใช้ Fill Handle เพื่อคัดลอกสูตรลงมา

ดังนั้นเราจึงได้ตำแหน่งของ สุดท้าย การเกิดขึ้น ของ อักขระ ใน สตริง ของเรา

อ่านเพิ่มเติม: ฟังก์ชัน Excel: FIND vs SEARCH (การวิเคราะห์เปรียบเทียบ)

2. การใช้ MATCH & ฟังก์ชัน SEQUENCE ใน Excel เพื่อค้นหาตำแหน่งการเกิดขึ้นล่าสุดของอักขระในสตริง

สำหรับวิธีที่ 2 เราจะใช้ฟังก์ชัน MATCH ซึ่งเป็นฟังก์ชัน SEQUENCE , กลาง ฟังก์ชัน และฟังก์ชัน LEN เพื่อค้นหาตำแหน่งของ เหตุการณ์ล่าสุด ของ อักขระ ใน สตริง โปรดจำไว้ว่าฟังก์ชัน SEQUENCE มีเฉพาะใน Excel 365 หรือ Excel 2021 เท่านั้น

ขั้นตอน:

  • ประการแรก พิมพ์สูตรต่อไปนี้ใน เซลล์ D5
=MATCH(2,1/(MID(C5,SEQUENCE(LEN(C5)),1)="/"))

รายละเอียดของสูตร

  • ลำดับ(LEN(C5))
    • เอาต์พุต: {1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17} .
    • The <1 ฟังก์ชัน>LEN กำลังวัดความยาวของ เซลล์ C5 ฟังก์ชัน SEQUENCE จะส่งคืนรายการตัวเลขตามลำดับในอาร์เรย์
  • MATCH(2,1/(MID(C5,{1;2; 3;4;5;6;7;8;9;10;11;12;13;14;15;16;17},1)=”/”))
    • เอาต์พุต: 8 .
    • ฟังก์ชัน Match กำลังค้นหาค่า 1 สุดท้ายในสูตรของเรา อยู่ในตำแหน่ง 8

  • ประการที่สอง กด ENTER .

โดยใช้สูตร เราพบตำแหน่งของ forward-slash เป็น 8 ใน string .<3

  • สุดท้าย ใช้ Fill Handle เพื่อ AutoFill สูตร

โดยสรุป เราได้ใช้สูตรอื่นเพื่อค้นหา ตำแหน่งสุดท้าย ของ อักขระ ใน สตริง

<0 อ่านเพิ่มเติม: วิธีค้นหาอักขระในสตริง Excel (8 วิธีง่ายๆ)

3. การใช้สูตรอาร์เรย์ใน Excel เพื่อหาตำแหน่งของการเกิดขึ้นล่าสุดของอักขระในสตริง

เราจะใช้ฟังก์ชัน ROW , ฟังก์ชัน INDEX , MATCH , MID และฟังก์ชัน LEN เพื่อสร้างสูตรอาร์เรย์เพื่อค้นหาตำแหน่งของ เหตุการณ์ล่าสุด ของ อักขระ ใน สตริง .

ขั้นตอน:

  • ขั้นแรก พิมพ์สูตรจากด้านล่างไปที่ เซลล์ D5 .
=MATCH(2,1/(MID(C5,ROW($C$1:INDEX(C:C,LEN(C5))),1)="/"))

รายละเอียดสูตร

สูตรคล้ายกับวิธี 2 เรากำลังใช้ฟังก์ชัน ROW และ INDEX เพื่อจำลองเอาต์พุตเป็นฟังก์ชัน SEQUENCE

  • ROW ($C$1:INDEX(C:C,LEN(C5)))
    • เอาต์พุต: {1;2;3;4;5;6;7;8;9; 10;11;12;13;14;15;16;17} .
    • เราจะเห็นว่าผลลัพธ์เหมือนกัน ฟังก์ชัน INDEX ส่งกลับค่าของช่วง ฟังก์ชัน LEN นับความยาวของสตริงจาก เซลล์ C5 สุดท้าย ฟังก์ชัน ROW จะส่งคืนค่า เซลล์ จาก 1 ถึง เซลล์ ความยาว C5 สูตรที่เหลือเหมือนกับวิธี 2 .

  • ประการที่สอง กด ENTER .

เราได้ 8 เป็นค่าตามที่คาดไว้ สูตรของเราทำงานได้อย่างไร้ที่ติ

หมายเหตุ: เรากำลังใช้เวอร์ชัน Excel 365 หากคุณใช้เวอร์ชันเก่ากว่า คุณจะต้องกด CTRL + SHIFT + ENTER

  • สุดท้าย ดับเบิล -คลิกหรือลาก Fill Handle ลงมา

นี่คือลักษณะของขั้นตอนสุดท้าย

อ่านเพิ่มเติม: ค้นหาการเกิดขึ้นครั้งแรกของค่าในช่วงใน Excel (3 วิธี)

การอ่านที่คล้ายกัน<2

  • วิธีหาอักขระ * ไม่เป็น Wildcard ใน Excel (2 วิธี)
  • วิธีใช้สูตร Excel หาตัวเลขแถวสุดท้ายด้วย ข้อมูล (2 วิธี)
  • ค้นหาค่าสุดท้ายในคอลัมน์ที่มากกว่าศูนย์ใน Excel (2 สูตรง่ายๆ)
  • วิธีค้นหาลิงก์ใน Excel
  • ค้นหาลิงก์ภายนอกใน Excel (6 วิธีด่วน)

4. ฟังก์ชันที่ผู้ใช้กำหนดเพื่อค้นหาตำแหน่งของอักขระที่เกิดขึ้นล่าสุดในสตริง

ในวิธีนี้ เราจะใช้สูตร VBA ที่กำหนดเองเพื่อค้นหาตำแหน่งสุดท้ายของ อักขระ ใน สตริง เพื่อไม่ให้เป็นการเสียเวลา เรามาดำเนินการกัน

ขั้นตอน:

  • ขั้นแรก กด ALT + F11 เพื่อเปิดหน้าต่าง VBA ขึ้นมา

คุณสามารถเลือก Visual Basic จากแท็บ นักพัฒนาซอฟต์แวร์ ด้วย

  • ประการที่สอง จาก แทรก >>> เลือก โมดูล .

  • ประการที่สาม คัดลอก และ วาง รหัสต่อไปนี้ .
9122

เราได้สร้างฟังก์ชันแบบกำหนดเองชื่อ “ LOccurence InStrRev เป็นฟังก์ชัน VBA ที่ส่งกลับตำแหน่งสิ้นสุดของ อักขระ เราจะป้อนค่า เซลล์ เป็น x1 และอักขระเฉพาะ (ในกรณีของเรา มันคือ เครื่องหมายทับ ) เป็น x2 ในฟังก์ชันแบบกำหนดเองนี้

  • หลังจากนั้น ปิดหน้าต่าง VBA และไปที่ " ตำแหน่ง VBA " แผ่นงาน
  • พิมพ์สูตรต่อไปนี้ใน เซลล์ D5 .
=LOccurence(C5,"/")

ในฟังก์ชันแบบกำหนดเองนี้ เรากำลังบอก เพื่อค้นหาตำแหน่งของ เหตุการณ์ล่าสุด ของ เครื่องหมายทับ ใน สตริง จาก เซลล์ C5 .

  • จากนั้นกด ENTER .

เราได้ 8 ตามที่คาดไว้เป็น ล่าสุด เกิดขึ้น ตำแหน่งของ เครื่องหมายทับข้างหน้า .

  • สุดท้าย เราสามารถลากสูตรลงมาโดยใช้ Fill Handle .
  • <15

    ดังนั้นเราจึงใช้สูตรอื่นเพื่อค้นหาตำแหน่งของ เหตุการณ์ล่าสุด ของ อักขระ .

    อ่านเพิ่มเติม: วิธีค้นหาอักขระในสตริงจากด้านขวาใน Excel (4 วิธีง่ายๆ)

    5. การใช้ รวมฟังก์ชันใน Excel เพื่อค้นหาการเกิดขึ้นล่าสุดของ C haracter ใน String

    ถึงตอนนี้ เราได้เห็นวิธีค้นหาตำแหน่งที่เกิดขึ้นล่าสุดของอักขระแล้ว ตอนนี้เราจะใช้ฟังก์ชัน SEARCH , ฟังก์ชัน RIGHT , SUBSTITUTE , LEN , CHAR ฟังก์ชันแสดงสตริงหลังจากเกิดอักขระครั้งล่าสุด พูดง่ายๆ ก็คือ เราจะส่งออกแผนกของพนักงานจาก รหัสพนักงานคอลัมน์ .

    ขั้นตอน:

    • ประการแรก พิมพ์สูตรต่อไปนี้ใน เซลล์ D5 .
    =RIGHT(C5,LEN(C5)-SEARCH(CHAR(134),SUBSTITUTE(C5,"/",CHAR(134),LEN(C5)-LEN(SUBSTITUTE(C5,"/","")))))

    รายละเอียดสูตร

      <13 SUBSTITUTE(C5,”/”,CHAR(134),LEN(C5)-LEN(SUBSTITUTE(C5,”/”,””))) -> กลายเป็น
    • SUBSTITUTE(C5,”/”,CHAR(134),2)
      • เอาต์พุต: “Mike/32†Marketing” .
      • ฟังก์ชัน SUBSTITUTE จะแทนที่ค่าด้วยค่าอื่น ในกรณีของเรา จะแทนที่แต่ละ เครื่องหมายทับ ด้วยเครื่องหมาย ในส่วนแรกและเว้นว่างไว้ในส่วนหลัง จากนั้นฟังก์ชัน LEN จะวัดความยาวของสิ่งนั้น นั่นคือคุณค่าของเรา
    • SEARCH(“†”,”Mike/32†Marketing”)
      • เอาต์พุต: 8 .
      • ฟังก์ชัน SEARCH กำลังค้นหาอักขระพิเศษในเอาต์พุตก่อนหน้าของเรา ดังนั้น จึงพบใน 8th
    • ในที่สุด สูตรของเราลดเหลือ RIGHT(C5,9)
      • เอาท์พุต: “Marketing” .
      • ฟังก์ชัน RIGHT ส่งกลับค่าเซลล์ทางด้านขวาจนถึงจำนวนอักขระที่กำหนด เราพบตำแหน่งของ forward-slash สุดท้ายใน 8th ความยาวของ เซลล์ C5 คือ 17 และ 17 8 = 9 . ดังนั้นเราจึงได้ 9 อักขระ จากด้านขวาเป็นเอาต์พุต

    • ประการที่สอง กด ENTER .

    เราได้รับ สตริง หลังจากสุดท้าย forward-slash .

    • สุดท้าย ใช้ Fill Handle เพื่อ AutoFill สูตรลงใน เซลล์ ช่วง D6:D10 .

    ดังนั้นเราจึงแยก สตริง หลังจาก เหตุการณ์ล่าสุด ของ อักขระ .

    อ่านเพิ่มเติม: วิธีค้นหาว่าเซลล์มีข้อความเฉพาะใน Excel

    6. สูตร VBA แบบกำหนดเองใน Excel เพื่อค้นหาการเกิดขึ้นล่าสุดของอักขระในสตริง

    สำหรับวิธีสุดท้าย เราจะใช้สูตร VBA แบบกำหนดเองเพื่อ แยก สตริง หลังจาก เครื่องหมายทับ .

    ขั้นตอน:

    • ประการแรก ให้กด ALT + F11 เพื่อเปิดหน้าต่าง VBA ขึ้นมา

    คุณสามารถเลือก Visual Basic จาก นักพัฒนาซอฟต์แวร์ แท็บที่จะทำเช่นกัน

    • อย่างที่สอง จาก แทรก >>> เลือก โมดูล ตามที่เราทำในวิธี 4
    • ประการที่สาม คัดลอก และ วาง รหัสต่อไปนี้
    5474

    เรากำลังสร้างฟังก์ชันแบบกำหนดเองชื่อ “ LastString ” ฟังก์ชันนี้จะส่งคืนตำแหน่งเริ่มต้นของ สตริง หลังจาก เหตุการณ์ล่าสุด ของ อักขระ

    • หลังจากนั้น พิมพ์สูตรจากด้านล่างไปที่ เซลล์ D5 .
    =RIGHT(C5,LEN(C5)-LastString(C5,"/")+1)

    รายละเอียดสูตร

    • LastString(C5,”/”)
      • เอาต์พุต: 9 .
      • ที่นี่ เราได้รับตำแหน่งเริ่มต้นของ สตริง ทันทีหลังจาก เครื่องหมายทับสุดท้าย .
    • LEN(C5)
      • เอาต์พุต: 17 .<14
    • LEN(C5)-LastString(C5,”/”)+1
      • เอาต์พุต: 9.
      • เราต้องเพิ่ม 1 มิฉะนั้นเราจะได้ค่าด้วย " M "
    • สูตรของเราจะลดเหลือ ขวา(C5,9)
      • ผลลัพธ์: การตลาด “.

    • กด ENTER .

    เราจะได้ค่า “ Marketing

    • สุดท้าย ป้อนอัตโนมัติ สูตรจนถึง เซลล์ C10 .

    เราประสบความสำเร็จ เป้าหมาย. สูตรทำงานได้ตามที่ต้องการ

    อ่านเพิ่มเติม: วิธีค้นหาแถวสุดท้ายด้วยค่าเฉพาะใน Excel (6 วิธี)<2

    ส่วนการปฏิบัติ

    เราได้แนบชุดข้อมูลการปฏิบัตินอกเหนือจากแต่ละวิธีในไฟล์ Excel คุณสามารถฝึกฝนงานนี้ให้เก่งขึ้น

    สรุป

    เราได้แสดงวิธีการ 6 ใน Excel เพื่อค้นหา เหตุการณ์ล่าสุด ของ อักขระ ใน สตริง หากคุณมีปัญหาเกี่ยวกับสิ่งเหล่านี้ โปรดแสดงความคิดเห็นด้านล่าง ขอบคุณที่อ่านและเก่งขึ้นเรื่อยๆ!

Hugh West เป็นผู้ฝึกอบรมและนักวิเคราะห์ Excel ที่มีประสบการณ์สูงและมีประสบการณ์มากกว่า 10 ปีในอุตสาหกรรมนี้ เขาสำเร็จการศึกษาระดับปริญญาตรีสาขาการบัญชีและการเงิน และปริญญาโทสาขาบริหารธุรกิจ Hugh มีความหลงใหลในการสอนและได้พัฒนาแนวทางการสอนที่เป็นเอกลักษณ์ซึ่งง่ายต่อการติดตามและเข้าใจ ความรู้ความเชี่ยวชาญของเขาเกี่ยวกับ Excel ช่วยให้นักเรียนและผู้เชี่ยวชาญหลายพันคนทั่วโลกพัฒนาทักษะและความเป็นเลิศในอาชีพการงาน ฮิวจ์แบ่งปันความรู้ของเขากับคนทั้งโลกผ่านบล็อก โดยเสนอบทช่วยสอน Excel ฟรีและการฝึกอบรมออนไลน์เพื่อช่วยให้บุคคลและธุรกิจบรรลุศักยภาพสูงสุดของตนเอง