สารบัญ
การดำเนินการส่วนต่อไปของเรากับข้อความในสเปรดชีตนั้นอุทิศให้กับการดึงข้อมูล ค้นหาวิธีดึงข้อมูลต่างๆ เช่น ข้อความ อักขระ ตัวเลข 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)
นี่คือสิ่งที่เกิดขึ้นในสูตร:
- SEARCH("ea",A2 ) มองหา 'ea' ใน A2 และส่งกลับตำแหน่งที่ 'ea' เริ่มต้นสำหรับแต่ละเซลล์ — 10
- ดังนั้นตำแหน่งที่ 10 จึงเป็นตำแหน่งที่ 'e' อยู่ แต่เนื่องจากฉันต้องการให้ทุกอย่างถูกต้องก่อน 'ea' ฉันจึงต้องลบ 1 ออกจากตำแหน่งนั้น มิฉะนั้น 'e' จะถูกส่งกลับเช่นกัน ในที่สุดฉันก็ได้ 9
- ซ้าย ดูที่ A2 และรับอักขระ 9 ตัวแรก
แยกข้อมูลหลังข้อความ
ตรงนั้น ยังหมายถึงการได้รับทุกอย่างหลังจากสตริงข้อความที่กำหนด แต่คราวนี้ RIGHT จะไม่ช่วยอะไร REGEXREPLACE จะเปลี่ยนแทน
เคล็ดลับ REGEXREPLACE ใช้นิพจน์ทั่วไป หากคุณไม่พร้อมที่จะรับมือกับสิ่งเหล่านี้ มีวิธีแก้ปัญหาที่ง่ายกว่ามากซึ่งอธิบายไว้ด้านล่าง REGEXREPLACE(ข้อความ, Regular_expression, การแทนที่)
- ข้อความ คือสตริงหรือเซลล์ที่คุณต้องการเปลี่ยนแปลง
- regular_expression คือการรวมกันของ อักขระที่ย่อมาจากส่วนหนึ่งของข้อความที่คุณกำลังมองหา
- การแทนที่ เป็นสิ่งที่คุณต้องการแทน ข้อความ
แล้วคุณจะใช้มันเพื่อแยกข้อมูลหลังจากข้อความใดข้อความหนึ่ง — 'ea' ในตัวอย่างของฉันได้อย่างไร
ง่าย — โดยใช้สูตรนี้:
=REGEXREPLACE(A2,"(.*)ea(.*)","$2")
ให้ฉันอธิบายว่าสูตรนี้ทำงานอย่างไร:
- A2 คือเซลล์ที่ฉันแยกออกมา ข้อมูลจาก.
- "(.*)ea(.*)" เป็นประจำของฉันการแสดงออก (หรือจะเรียกว่าหน้ากากก็ได้) ฉันมองหา 'ea' และใส่อักขระอื่นๆ ทั้งหมดลงในวงเล็บ อักขระมี 2 กลุ่ม — ทุกอย่างที่อยู่ก่อน 'ea' คือกลุ่มแรก (.*) และทุกอย่างที่อยู่หลัง 'ea' คือกลุ่มที่สอง (.*) มาสก์ทั้งหมดใส่เครื่องหมายคำพูดคู่
- "$2" คือสิ่งที่ฉันต้องการ — กลุ่มที่สอง (จึงเป็นหมายเลข 2) จากอาร์กิวเมนต์ก่อนหน้า
เคล็ดลับ อักขระทั้งหมดที่ใช้ในนิพจน์ทั่วไปจะรวบรวมไว้ในหน้าพิเศษนี้
แยกตัวเลขออกจากเซลล์ Google ชีต
จะทำอย่างไรถ้าคุณต้องการแยกเฉพาะตัวเลขเมื่อตำแหน่งและอะไรก็ตามที่อยู่ข้างหน้า & หลังจากไม่สำคัญ?
มาสก์ (หรือที่รู้จักในชื่อ Regular Expression) จะช่วยได้เช่นกัน อันที่จริง ฉันจะใช้ฟังก์ชัน REGEXREPLACE เดียวกันและเปลี่ยนนิพจน์ทั่วไป:
=REGEXREPLACE(A2,"[^[:digit:]]", "")
- A2 เป็น เซลล์ที่ฉันต้องการรับตัวเลขเหล่านั้น
- "[^[:digit:]]" เป็นนิพจน์ทั่วไปที่ใช้ทุกอย่างยกเว้นตัวเลข สัญลักษณ์ ^caret นั้นเป็นข้อยกเว้นสำหรับตัวเลข
- "" แทนที่ทุกอย่างยกเว้นอักขระตัวเลขด้วย "ไม่มีอะไร" หรืออีกนัยหนึ่งคือ ลบออกทั้งหมด เหลือไว้เฉพาะตัวเลขในเซลล์ หรือแยกตัวเลข :)
แยกข้อความโดยไม่สนใจตัวเลขและอักขระอื่นๆ
ในลักษณะเดียวกัน คุณสามารถนำเฉพาะข้อมูลตัวอักษรออกจากเซลล์ Google ชีต การย่อสำหรับนิพจน์ทั่วไปที่ย่อมาจาก text เรียกว่าตามนั้น — alpha:
=REGEXREPLACE(A2,"[^[:alpha:]]", "")
สูตรนี้ใช้ทุกอย่างยกเว้นตัวอักษร (A-Z, a-z) และแทนที่ด้วย "nothing" ตามตัวอักษร . หรือพูดอีกอย่างคือเอาเฉพาะตัวอักษรออก
วิธีดึงข้อมูลจากเซลล์ Google ชีตแบบไม่ต้องใช้สูตร
หากคุณกำลังมองหาวิธีง่ายๆ แบบไม่ต้องใส่สูตร แยกประเภทข้อมูลต่างๆ คุณมาถูกที่แล้ว ส่วนเสริม Power Tools ของเรามีเฉพาะเครื่องมือสำหรับงาน
แยกข้อมูลประเภทต่างๆ โดยใช้ส่วนเสริมของ Power Tools
เครื่องมือแรกที่ฉันต้องการให้คุณทราบเรียกว่า แยก . ซึ่งทำสิ่งที่คุณต้องการในบทความนี้ทุกประการ — ดึงข้อมูลประเภทต่างๆ ออกจากเซลล์ Google ชีต
การตั้งค่าที่เป็นมิตรต่อผู้ใช้
กรณีทั้งหมดที่ฉันกล่าวถึงข้างต้นไม่ใช่ สามารถแก้ไขได้ด้วยส่วนเสริม เครื่องมือนี้ใช้งานง่าย ดังนั้นสิ่งที่คุณต้องทำคือเลือกช่วงที่คุณต้องการประมวลผลและทำเครื่องหมายในช่องที่จำเป็น ไม่มีสูตร ไม่มีนิพจน์ทั่วไป
จำจุดที่สองของบทความนี้ที่มี REGEXREPLACE และนิพจน์ทั่วไปหรือไม่ วิธีง่ายๆ สำหรับ Add-on:
ตัวเลือกพิเศษ
อย่างที่คุณเห็น มี ตัวเลือกพิเศษ (เฉพาะช่องทำเครื่องหมาย) ที่คุณสามารถ เปิด/ปิดอย่างรวดเร็ว เพื่อให้ได้ผลลัพธ์ที่แม่นยำที่สุด:
- รับสตริงของตัวพิมพ์และตัวพิมพ์ที่จำเป็นเท่านั้น
- ดึงเหตุการณ์ทั้งหมดออกจากแต่ละรายการเซลล์และวางไว้ในเซลล์เดียวหรือแยกคอลัมน์
- แทรกคอลัมน์ใหม่พร้อมผลลัพธ์ทางด้านขวาของข้อมูลต้นฉบับ
- ล้างข้อความที่แยกออกจากข้อมูลต้นฉบับ
แยกประเภทข้อมูลที่แตกต่างกัน
ไม่เพียงแต่ Power Tools จะแยกข้อมูลก่อน/หลัง/ระหว่างสตริงข้อความบางรายการและอักขระ N ตัวแรก/ตัวสุดท้าย แต่ยังนำสิ่งต่อไปนี้ออกด้วย:
- ตัวเลขและทศนิยมทำให้ทศนิยม/ตัวคั่นหลักพันเหมือนเดิม:
แยกสตริงข้อมูลจากทุกที่
มี ยังเป็นตัวเลือกในการตั้งค่ารูปแบบที่แน่นอนของคุณเองและใช้สำหรับการแยก แยกด้วยมาสก์ และอักขระตัวแทน — * และ ? — ทำตามเคล็ดลับ:
- ตัวอย่างเช่น คุณสามารถนำ ทุกอย่างระหว่างวงเล็บโดยใช้มาสก์ต่อไปนี้: (*)
- หรือรับ SKU ที่มีเพียง 5 ตัวเลขใน ids: SKU?????
- หรืออย่างที่ฉันแสดงในภาพหน้าจอด้านล่าง ให้ดึงทุกอย่างตามหลัง 'ea' ในแต่ละเซลล์: ea*
ดึงวันที่และเวลาออกจากการประทับเวลา
เป็นโบนัส มีเครื่องมือขนาดเล็กกว่าที่จะแยกวันที่และเวลาจากการประทับเวลา — เรียกว่า Split Date & เวลา
แม้ว่าจะถูกสร้างขึ้นเพื่อแบ่งการประทับเวลาในตอนแรก แต่ก็สมบูรณ์แบบสามารถรับหน่วยที่ต้องการทีละหน่วย:
เพียงเลือกช่องทำเครื่องหมายใดช่องหนึ่งขึ้นอยู่กับสิ่งที่คุณต้องการแยก เช่น วันที่หรือเวลา จากการประทับเวลาใน Google ชีต แล้วกด แยก . หน่วยที่ต้องการจะถูกคัดลอกไปยังคอลัมน์ใหม่ (หรือจะแทนที่ข้อมูลเดิมหากคุณเลือกช่องทำเครื่องหมายสุดท้ายด้วย):
เครื่องมือนี้เป็นส่วนหนึ่งของ Add-on ของ Power Tools ดังนั้นเมื่อคุณติดตั้งเพื่อรับข้อมูลใด ๆ จากเซลล์ Google ชีต คุณก็ได้รับความคุ้มครองทั้งหมด ถ้าไม่ โปรดแสดงความคิดเห็น แล้วเราจะช่วยคุณ :)