REGEX.EXTRACT

ฟังก์ชั่น REGEX.EXTRACT จะส่งค่ากลับมาเป็นรายการที่ตรงกันหรือกลุ่มบันทึกในรายการที่ตรงกันของนิพจน์ปกติที่กำหนดให้ในสตริงต้นทาง

REGEX.EXTRACT(สตริงต้นทาง, สตริงนิพจน์ปกติ, รายการที่ตรงกัน, รายการกลุ่มบันทึก)

สตริงต้นทาง: ค่าสตริงที่จะใช้จับคู่

สตริงนิพจน์ปกติ: ค่าสตริงที่แทนนิพจน์ปกติ ซึ่งใช้เพื่อจับคู่กับสตริงต้นทาง

รายการที่ตรงกัน: จำนวนเต็มทางเลือกที่ระบุรายการที่ตรงกันที่ควรส่งกลับมาในกรณีที่มีรายการที่ตรงกันหลายรายการ จำนวนเต็มที่เป็นจำนวนลบจะถูกยอมรับและอนุญาตให้เข้าถึงรายการที่ตรงกันย้อนหลังได้ ดังนั้น -1 จึงเป็นรายการที่ตรงกันรายการสุดท้าย และอื่นๆ ถ้าระบุค่าเป็น 0 จะส่งค่ากลับมาเป็นอาร์เรย์ของรายการที่ตรงกันทั้งหมด ถ้าเว้นว่างไว้ จะส่งค่ากลับมาเป็นรายการที่ตรงกันรายการแรก

รายการกลุ่มบันทึก: จำนวนเต็มทางเลือกที่ระบุกลุ่มบันทึกภายในรายการที่ตรงกันที่ควรส่งกลับมาในกรณีที่มีกลุ่มบันทึกในนิพจน์ปกติ ค่าลบไม่ถูกยอมรับ ถ้าส่งค่ากลับมาเป็น 0 จะส่งค่ากลับมาเป็นอาร์เรย์ของกลุ่มบันทึกทั้งหมด ถ้าเว้นว่างไว้ จะส่งค่ากลับมาเป็นรายการทั้งหมดที่ตรงกัน

หมายเหตุ

  • สตริงนิพจน์ปกติจะต้องสอดคล้องกับมาตรฐาน ICU

ตัวอย่างเช่น

ถ้าคุณมีข้อมูลที่ใส่ลงในแถวและคอลัมน์ของสเปรดชีตได้ยาก คุณสามารถใช้ REGEX.EXTRACT เพื่อทำให้ง่ายขึ้นได้ ตัวอย่างเช่น ในตารางด้านล่าง ข้อมูลมีโครงสร้างอยู่บ้าง แต่การแบ่งข้อมูลออกเป็นหลายเซลล์ด้วยตัวเองต่อหนึ่งความเห็นอาจทำได้ยาก

A

1

ความเห็นของผู้ใช้

2

อีเมล: jtalma@icloud.com ชื่อ: Julie Talma วันที่: 17/05/2021

3

อีเมล: danny_rico@icloud.com ชื่อ: Danny Rico วันที่: 02/06/2021

ในการแก้ไขปัญหานี้ คุณสามารถเพิ่มคอลัมน์อื่นๆ ไปยังตารางสำหรับชื่อ อีเมล การจัดอันดับ และวันที่ จากนั้นใช้ REGEX.EXTRACT เพื่อค้นหาข้อมูลที่คุณต้องการแล้วส่งกลับในเซลล์ได้

ตัวอย่างเช่น คุณสามารถป้อนสูตรต่อไปนี้เพื่อส่งกลับชื่อได้:

ตัวแก้ไขสูตรที่แสดงสูตร =REGEX.EXTRACT(A2,"(?<=ชื่อ: )(.*)(?= วันที่)"

สูตรนี้ใช้อาร์กิวเมนต์ต่อไปนี้:

  • สตริงต้นทาง: A2 เซลล์ที่มีข้อมูลที่คุณต้องการค้นหาสำหรับชื่อ

  • สตริงนิพจน์ปกติ: "(?<=ชื่อ: )(.*)(?= Date)" นิพจน์ปกติที่ค้นหาข้อความระหว่างสตริง "ชื่อ: " และ " Date"

สูตรนี้สามารถใช้ซ้ำกับแถวข้อมูลแต่ละแถวเพื่อส่งกลับชื่อของแต่ละคนที่ตอบแบบสำรวจได้โดยเปลี่ยนสตริงต้นทางให้ตรงกับเซลล์อื่นๆ ที่มีข้อมูลความเห็นของผู้ใช้

ในการแก้ไขปัญหานี้ คุณสามารถเพิ่มคอลัมน์อื่นๆ ไปยังตารางสำหรับชื่อ อีเมล การจัดอันดับ และวันที่ จากนั้นใช้ REGEX.EXTRACT เพื่อค้นหาข้อมูลที่คุณต้องการแล้วส่งกลับในเซลล์ได้

ตัวอย่างเช่น คุณสามารถป้อนสูตรต่อไปนี้ได้:

ตัวแก้ไขสูตรที่แสดงสูตร =REGEX.EXTRACT(A2,"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}")

สูตรนี้ใช้อาร์กิวเมนต์ต่อไปนี้:

  • สตริงต้นทาง: A2 เซลล์ที่มีข้อมูลที่คุณต้องการค้นหาสำหรับอีเมล

  • สตริงนิพจน์ปกติ: "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}" นิพจน์ปกติที่ค้นหารูปแบบที่อยู่อีเมล

จัดระเบียบข้อมูลจากรายการใหม่ด้วยรายการที่ตรงกัน

บางครั้ง คุณอาจมีข้อมูลเหมือนกับตาราง (ชื่อว่าผู้จัดหา) ด้านล่าง ซึ่งจัดกลุ่มค่าต่างๆ ไว้ด้วยกันในเซลล์:

ผู้จัดหา

รายการ

A

ถั่วเลนทิล ถั่วลูกไก่ ถั่วลิมา

B

แอปเปิ้ล ส้ม เลม่อน

C

คีนัว ข้าว เจีย

ในการแบ่งค่าตามร้านค้าและอันดับ ขั้นแรกคุณสามารถสร้างตารางใหม่ดังตารางด้านล่างได้:

A

B

C

D

1

อันดับ

A

B

C

2

1

3

2

4

3

ในการส่งกลับถั่วเลนทิล ซึ่งเป็นรายการอันดับสูงสุดสำหรับผู้จัดหา A คุณสามารถใช้สูตรดังต่อไปนี้ในเซลล์ B2 ของตารางใหม่เพื่อส่งกลับถั่วเลนทิล ซึ่งเป็นรายการอันดับสูงสุดสำหรับผู้จัดหา A ได้:

ตัวแก้ไขสูตรที่แสดงสูตร =REGEX.EXTRACT(ผู้จัดหา::B2,"\w+",ROW(A2)-1)

สูตรนี้ใช้อาร์กิวเมนต์ต่อไปนี้:

  • สตริงต้นทาง: ผู้จัดหา::B2 เซลล์ที่มีข้อมูลที่คุณต้องการค้นหา ในกรณีนี้ คุณต้องการค้นหารายการในเซลล์นี้

  • สตริงนิพจน์ปกติ: "\w+" นิพจน์ปกติที่ค้นหาคำ

  • รายการที่ตรงกัน: ROW(A2)-1 ในกรณีนี้ REGEX.EXTRACT แต่ละรายการมีรายการที่ตรงกัน 3 รายการ และคุณสามารถใช้ฟังก์ชั่นอื่นอย่าง ROW เพื่อตั้งค่ารายการที่ตรงกันที่คุณต้องการแบบเจาะจงได้ ROW(A2) จะส่งกลับเลขแถวของเซลล์ที่เลือก (2) และมีการใส่ -1 เพื่อลบแถวหัวตารางออกจากผลลัพธ์ ไม่เช่นนั้น คุณจะส่งกลับถั่วลูกไก่ (รายการที่ตรงกันรายการที่สอง) ในตัวอย่างนี้

    ถ้าคุณละเว้นรายการที่ตรงกัน ผลลัพธ์สำหรับผู้จัดหาแต่ละรายจะเป็นคำแรกที่ส่งกลับเสมอ (ถั่วเลนทิลสำหรับผู้จัดหา A, แอปเปิ้ลสำหรับผู้จัดหา B และอื่นๆ)

สูตรด้านบนสามารถแก้ไขได้ง่ายๆ เพื่อทำให้ตารางสมบูรณ์สำหรับผู้จัดหาและรายการอื่นๆ

  • ในการส่งกลับผลิตภัณฑ์ยอดนิยมอื่นๆ สำหรับผู้จัดหารายเดียว คุณสามารถแก้ไขรายการที่ตรงกันได้ ตัวอย่างเช่น ในการส่งกลับถั่วลูกไก่ ซึ่งเป็นรายการยอดนิยมรองลงมาสำหรับผู้จัดหา A คุณสามารถเปลี่ยนการอ้างอิงเซลล์ในรายการที่ตรงกันจาก A2 เป็น A3 ได้

  • ในการส่งกลับค่าสำหรับผู้จัดหารายอื่น คุณสามารถแก้ไขสตริงต้นทางได้ ตัวอย่างเช่น ในการส่งกลับแอปเปิ้ล ซึ่งเป็นรายการยอดนิยมสำหรับผู้จัดหา B คุณสามารถเปลี่ยนการอ้างอิงเซลล์ในสตริงต้นทางจาก B2 เป็น B3 ได้

ตัวอย่างเพิ่มเติม

ให้ A1 เป็น "marina@example.com john@example.ca mike@example.de"

=REGEX.EXTRACT(A1, "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})") จะส่งค่ากลับมาเป็น "marina@example.com"

=REGEX.EXTRACT(A1, "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})", 2) จะส่งค่ากลับมาเป็น "john@example.ca"

=REGEX.EXTRACT(A1, "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})", -1) จะส่งค่ากลับมาเป็น "mikeexample.de"

=REGEX.EXTRACT(A1, "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})", 1, 1) จะส่งค่ากลับมาเป็น "marina"

=REGEX.EXTRACT(A1, "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})", 2, 2) จะส่งค่ากลับมาเป็น "example.ca"

ดูเพิ่มเติมREGEX
Morty Proxy This is a proxified and sanitized view of the page, visit original site.
เป็นประโยชน์ไหม
จำกัดอักขระ: 250
จำกัดอักขระสูงสุดไม่เกิน 250
ขอบคุณที่แสดงความคิดเห็น
Morty Proxy This is a proxified and sanitized view of the page, visit original site.