ดึงข้อมูลจาก Google ชีต: ข้อความบางส่วนจากสตริง, URL จากลิงก์ และอื่นๆ

  • แบ่งปันสิ่งนี้
Michael Brown

สารบัญ

การดำเนินการส่วนต่อไปของเรากับข้อความในสเปรดชีตนั้นอุทิศให้กับการดึงข้อมูล ค้นหาวิธีดึงข้อมูลต่างๆ เช่น ข้อความ อักขระ ตัวเลข URL ที่อยู่อีเมล วันที่ & เวลา ฯลฯ — จากตำแหน่งต่างๆ ในเซลล์ Google ชีตหลายเซลล์พร้อมกัน

    สูตร Google ชีตเพื่อแยกข้อความและตัวเลขจากสตริง

    สูตรใน Google ผ้าปูที่นอนเป็นทุกอย่าง ในขณะที่บางคอมโบจะเพิ่มข้อความ & ตัวเลขและลบอักขระต่างๆ บางตัวยังแยกข้อความ ตัวเลข อักขระแยก ฯลฯ

    แยกข้อมูลตามตำแหน่ง: อักขระ N ตัวแรก/ตัวสุดท้าย/ตัวกลาง

    ฟังก์ชันที่ง่ายที่สุดในการจัดการ เมื่อคุณกำลังจะดึงข้อมูลจากเซลล์ Google ชีตคือ ซ้าย ขวา และ MID พวกเขารับข้อมูลตามตำแหน่ง

    แยกข้อมูลจากจุดเริ่มต้นของเซลล์ใน Google ชีต

    คุณสามารถดึงอักขระ N ตัวแรกออกมาได้ง่ายๆ โดยใช้ฟังก์ชัน LEFT:

    LEFT(string, [number_of_characters])
    • string คือข้อความที่คุณต้องการดึงข้อมูลออกมา
    • number_of_characters คือจำนวนอักขระที่จะเริ่มต้น จากด้านซ้าย

    นี่คือตัวอย่างที่ง่ายที่สุด: ลองนำรหัสประเทศออกจากหมายเลขโทรศัพท์:

    อย่างที่คุณเห็น ประเทศ รหัสใช้ 6 สัญลักษณ์ที่จุดเริ่มต้นของเซลล์ ดังนั้นสูตรที่คุณต้องการคือ:

    =LEFT(A2,6)

    เคล็ดลับ ArrayFormula จะทำให้สามารถรับอักขระได้ 6 ตัวจากทั้งช่วงพร้อมกัน:

    =ArrayFormula(LEFT(A2:A7,6))

    แยกข้อมูลจากส่วนท้ายของเซลล์ใน Google ชีต

    หากต้องการดึงอักขระ N ตัวสุดท้ายออกจากเซลล์ ใช้ฟังก์ชัน RIGHT แทน:

    RIGHT(string,[number_of_characters])
    • string ยังคงเป็นข้อความ (หรือการอ้างอิงเซลล์) เพื่อดึงข้อมูลออกมา
    • number_of_characters คือจำนวนอักขระที่จะใช้จากทางขวาด้วย

    มาเรียกชื่อประเทศนั้นจากหมายเลขโทรศัพท์เดียวกัน:

    ใช้อักขระเพียง 2 ตัวเท่านั้น และนั่นคือสิ่งที่ฉันพูดถึงในสูตร:

    =RIGHT(A2,2)

    เคล็ดลับ นอกจากนี้ ArrayFormula จะช่วยคุณแยกข้อมูลจากส่วนท้ายของเซลล์ Google ชีตทั้งหมดในคราวเดียว:

    =ArrayFormula(RIGHT(A2:A7,2))

    แยกข้อมูลจากตรงกลางเซลล์ใน Google ชีต

    หากมีฟังก์ชันดึงข้อมูลจากจุดเริ่มต้นและจุดสิ้นสุดของเซลล์ จะต้องมีฟังก์ชันดึงข้อมูลจากตรงกลางด้วย และใช่ — มีหนึ่งรายการ

    เรียกว่า MID:

    MID(string, start_at, extract_length)
    • string — ข้อความที่คุณต้องการนำออก ส่วนตรงกลางจาก
    • starting_at — ตำแหน่งของอักขระที่คุณต้องการเริ่มรับข้อมูล
    • extract_length — ตัวเลข ของอักขระที่คุณต้องการดึงออกมา

    จากตัวอย่างหมายเลขโทรศัพท์เดียวกัน ลองหาหมายเลขโทรศัพท์เองโดยไม่ต้องใช้รหัสประเทศและประเทศตัวย่อ:

    เนื่องจากรหัสประเทศลงท้ายด้วยอักขระตัวที่ 6 และตัวที่ 7 เป็นขีด ฉันจะดึงตัวเลขโดยเริ่มจากหลักที่ 8 จะได้ทั้งหมด 8 หลัก:

    =MID(A2,8,8)

    เคล็ดลับ การเปลี่ยนหนึ่งเซลล์เป็นช่วงทั้งหมดและรวมไว้ใน ArrayFormula จะให้ผลลัพธ์สำหรับแต่ละเซลล์พร้อมกัน:

    =ArrayFormula(MID(A2:A7,8,8))

    แยกข้อความ/ตัวเลขจากสตริง

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

    แต่ Google ชีตจะไม่ใช่ Google ชีตหากไม่มี ฟังก์ชันอื่นๆ ที่จะช่วยแยกข้อความออกจากสตริง

    มาทบทวนวิธีต่างๆ ที่เป็นไปได้ที่สเปรดชีตเสนอ

    ดึงข้อมูลก่อนข้อความที่ต้องการ — ซ้าย+ค้นหา

    เมื่อใดก็ตามที่คุณ ต้องการแยกข้อมูลที่นำหน้าข้อความ ให้ใช้ LEFT + SEARCH:

    • ซ้าย ใช้เพื่อส่งคืนอักขระจำนวนหนึ่งจากจุดเริ่มต้นของเซลล์ (จากด้านซ้าย)
    • SEARCH ค้นหาอักขระ/สตริงที่ต้องการและรับตำแหน่ง

    รวมสิ่งเหล่านี้ — และ LEFT จะส่งกลับจำนวนอักขระที่แนะนำโดย SEARCH

    นี่คือตัวอย่าง: คุณจะแยกรหัสข้อความก่อนแต่ละ 'ea' ได้อย่างไร

    นี่คือสูตรที่จะช่วยคุณในลักษณะเดียวกันกรณี:

    =LEFT(A2,SEARCH("ea",A2)-1)

    นี่คือสิ่งที่เกิดขึ้นในสูตร:

    1. SEARCH("ea",A2 ) มองหา 'ea' ใน A2 และส่งกลับตำแหน่งที่ 'ea' เริ่มต้นสำหรับแต่ละเซลล์ — 10
    2. ดังนั้นตำแหน่งที่ 10 จึงเป็นตำแหน่งที่ 'e' อยู่ แต่เนื่องจากฉันต้องการให้ทุกอย่างถูกต้องก่อน 'ea' ฉันจึงต้องลบ 1 ออกจากตำแหน่งนั้น มิฉะนั้น 'e' จะถูกส่งกลับเช่นกัน ในที่สุดฉันก็ได้ 9
    3. ซ้าย ดูที่ A2 และรับอักขระ 9 ตัวแรก

    แยกข้อมูลหลังข้อความ

    ตรงนั้น ยังหมายถึงการได้รับทุกอย่างหลังจากสตริงข้อความที่กำหนด แต่คราวนี้ RIGHT จะไม่ช่วยอะไร REGEXREPLACE จะเปลี่ยนแทน

    เคล็ดลับ REGEXREPLACE ใช้นิพจน์ทั่วไป หากคุณไม่พร้อมที่จะรับมือกับสิ่งเหล่านี้ มีวิธีแก้ปัญหาที่ง่ายกว่ามากซึ่งอธิบายไว้ด้านล่าง REGEXREPLACE(ข้อความ, Regular_expression, การแทนที่)

    • ข้อความ คือสตริงหรือเซลล์ที่คุณต้องการเปลี่ยนแปลง
    • regular_expression คือการรวมกันของ อักขระที่ย่อมาจากส่วนหนึ่งของข้อความที่คุณกำลังมองหา
    • การแทนที่ เป็นสิ่งที่คุณต้องการแทน ข้อความ

    แล้วคุณจะใช้มันเพื่อแยกข้อมูลหลังจากข้อความใดข้อความหนึ่ง — 'ea' ในตัวอย่างของฉันได้อย่างไร

    ง่าย — โดยใช้สูตรนี้:

    =REGEXREPLACE(A2,"(.*)ea(.*)","$2")

    ให้ฉันอธิบายว่าสูตรนี้ทำงานอย่างไร:

    1. A2 คือเซลล์ที่ฉันแยกออกมา ข้อมูลจาก.
    2. "(.*)ea(.*)" เป็นประจำของฉันการแสดงออก (หรือจะเรียกว่าหน้ากากก็ได้) ฉันมองหา 'ea' และใส่อักขระอื่นๆ ทั้งหมดลงในวงเล็บ อักขระมี 2 กลุ่ม — ทุกอย่างที่อยู่ก่อน 'ea' คือกลุ่มแรก (.*) และทุกอย่างที่อยู่หลัง 'ea' คือกลุ่มที่สอง (.*) มาสก์ทั้งหมดใส่เครื่องหมายคำพูดคู่
    3. "$2" คือสิ่งที่ฉันต้องการ — กลุ่มที่สอง (จึงเป็นหมายเลข 2) จากอาร์กิวเมนต์ก่อนหน้า

    เคล็ดลับ อักขระทั้งหมดที่ใช้ในนิพจน์ทั่วไปจะรวบรวมไว้ในหน้าพิเศษนี้

    แยกตัวเลขออกจากเซลล์ Google ชีต

    จะทำอย่างไรถ้าคุณต้องการแยกเฉพาะตัวเลขเมื่อตำแหน่งและอะไรก็ตามที่อยู่ข้างหน้า & หลังจากไม่สำคัญ?

    มาสก์ (หรือที่รู้จักในชื่อ Regular Expression) จะช่วยได้เช่นกัน อันที่จริง ฉันจะใช้ฟังก์ชัน REGEXREPLACE เดียวกันและเปลี่ยนนิพจน์ทั่วไป:

    =REGEXREPLACE(A2,"[^[:digit:]]", "")

    1. A2 เป็น เซลล์ที่ฉันต้องการรับตัวเลขเหล่านั้น
    2. "[^[:digit:]]" เป็นนิพจน์ทั่วไปที่ใช้ทุกอย่างยกเว้นตัวเลข สัญลักษณ์ ^caret นั้นเป็นข้อยกเว้นสำหรับตัวเลข
    3. "" แทนที่ทุกอย่างยกเว้นอักขระตัวเลขด้วย "ไม่มีอะไร" หรืออีกนัยหนึ่งคือ ลบออกทั้งหมด เหลือไว้เฉพาะตัวเลขในเซลล์ หรือแยกตัวเลข :)

    แยกข้อความโดยไม่สนใจตัวเลขและอักขระอื่นๆ

    ในลักษณะเดียวกัน คุณสามารถนำเฉพาะข้อมูลตัวอักษรออกจากเซลล์ Google ชีต การย่อสำหรับนิพจน์ทั่วไปที่ย่อมาจาก text เรียกว่าตามนั้น — alpha:

    =REGEXREPLACE(A2,"[^[:alpha:]]", "")

    สูตรนี้ใช้ทุกอย่างยกเว้นตัวอักษร (A-Z, a-z) และแทนที่ด้วย "nothing" ตามตัวอักษร . หรือพูดอีกอย่างคือเอาเฉพาะตัวอักษรออก

    วิธีดึงข้อมูลจากเซลล์ Google ชีตแบบไม่ต้องใช้สูตร

    หากคุณกำลังมองหาวิธีง่ายๆ แบบไม่ต้องใส่สูตร แยกประเภทข้อมูลต่างๆ คุณมาถูกที่แล้ว ส่วนเสริม Power Tools ของเรามีเฉพาะเครื่องมือสำหรับงาน

    แยกข้อมูลประเภทต่างๆ โดยใช้ส่วนเสริมของ Power Tools

    เครื่องมือแรกที่ฉันต้องการให้คุณทราบเรียกว่า แยก . ซึ่งทำสิ่งที่คุณต้องการในบทความนี้ทุกประการ — ดึงข้อมูลประเภทต่างๆ ออกจากเซลล์ Google ชีต

    การตั้งค่าที่เป็นมิตรต่อผู้ใช้

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

    จำจุดที่สองของบทความนี้ที่มี REGEXREPLACE และนิพจน์ทั่วไปหรือไม่ วิธีง่ายๆ สำหรับ Add-on:

    ตัวเลือกพิเศษ

    อย่างที่คุณเห็น มี ตัวเลือกพิเศษ (เฉพาะช่องทำเครื่องหมาย) ที่คุณสามารถ เปิด/ปิดอย่างรวดเร็ว เพื่อให้ได้ผลลัพธ์ที่แม่นยำที่สุด:

    1. รับสตริงของตัวพิมพ์และตัวพิมพ์ที่จำเป็นเท่านั้น
    2. ดึงเหตุการณ์ทั้งหมดออกจากแต่ละรายการเซลล์และวางไว้ในเซลล์เดียวหรือแยกคอลัมน์
    3. แทรกคอลัมน์ใหม่พร้อมผลลัพธ์ทางด้านขวาของข้อมูลต้นฉบับ
    4. ล้างข้อความที่แยกออกจากข้อมูลต้นฉบับ

    แยกประเภทข้อมูลที่แตกต่างกัน

    ไม่เพียงแต่ Power Tools จะแยกข้อมูลก่อน/หลัง/ระหว่างสตริงข้อความบางรายการและอักขระ N ตัวแรก/ตัวสุดท้าย แต่ยังนำสิ่งต่อไปนี้ออกด้วย:

    1. ตัวเลขและทศนิยมทำให้ทศนิยม/ตัวคั่นหลักพันเหมือนเดิม:

  • อักขระ N ตัว เริ่มจากตำแหน่งใดตำแหน่งหนึ่งในเซลล์
  • ไฮเปอร์ลิงก์ (ข้อความ + ลิงก์), URL (ลิงก์), ที่อยู่อีเมล
  • แยกสตริงข้อมูลจากทุกที่

    มี ยังเป็นตัวเลือกในการตั้งค่ารูปแบบที่แน่นอนของคุณเองและใช้สำหรับการแยก แยกด้วยมาสก์ และอักขระตัวแทน — * และ ? — ทำตามเคล็ดลับ:

    • ตัวอย่างเช่น คุณสามารถนำ ทุกอย่างระหว่างวงเล็บโดยใช้มาสก์ต่อไปนี้: (*)
    • หรือรับ SKU ที่มีเพียง 5 ตัวเลขใน ids: SKU?????
    • หรืออย่างที่ฉันแสดงในภาพหน้าจอด้านล่าง ให้ดึงทุกอย่างตามหลัง 'ea' ในแต่ละเซลล์: ea*

    ดึงวันที่และเวลาออกจากการประทับเวลา

    เป็นโบนัส มีเครื่องมือขนาดเล็กกว่าที่จะแยกวันที่และเวลาจากการประทับเวลา — เรียกว่า Split Date & เวลา

    แม้ว่าจะถูกสร้างขึ้นเพื่อแบ่งการประทับเวลาในตอนแรก แต่ก็สมบูรณ์แบบสามารถรับหน่วยที่ต้องการทีละหน่วย:

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

    เครื่องมือนี้เป็นส่วนหนึ่งของ Add-on ของ Power Tools ดังนั้นเมื่อคุณติดตั้งเพื่อรับข้อมูลใด ๆ จากเซลล์ Google ชีต คุณก็ได้รับความคุ้มครองทั้งหมด ถ้าไม่ โปรดแสดงความคิดเห็น แล้วเราจะช่วยคุณ :)

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