Извлечете податоци од Google Sheets: одреден текст од низи, URL-адреси од врски и многу повеќе

  • Споделете Го Ова
Michael Brown

Овој следен дел од нашите операции со текст во табеларни пресметки е посветен на екстракција. Откријте начини за извлекување различни податоци - текст, знаци, броеви, URL-адреси, адреси на е-пошта, датум и засилувач; време, итн. — од различни позиции во повеќе ќелии на Google Sheets одеднаш.

    Формули на Google Sheets за извлекување текст и броеви од низи

    Формули во Google Листовите се сè. Додека некои комбинации додаваат текст & засилувач; броеви и отстранувајте разни знаци, некои од нив извлекуваат и текст, броеви, одделни знаци итн.

    Извлекувајте податоци по позиција: прв/последни/средни N знаци

    Најлесните функции за справување кога ќе ги извадите податоците од „Табели на Google“ ќелиите се ЛЕВА, ДЕСНА и СРЕДИНА. Тие ги добиваат сите податоци по позиција.

    Извлечете податоци од почетокот на ќелиите во листовите на Google

    Можете лесно да ги извадите првите N знаци со помош на функцијата LEFT:

    LEFT(низа, [број_на_знаци])
    • низа е текстот од кој сакате да извлечете податоци.
    • број_на_знаци е бројот на знаци што треба да се извадат почнувајќи од лево.

    Еве го наједноставниот пример: да ги извадиме шифрите на државите од телефонските броеви:

    Како што можете да видите, земја шифрите земаат 6 симболи на почетокот на ќелиите, така што формулата што ви треба е:

    =LEFT(A2,6)

    Совет. ArrayFormula ќе овозможи да се добијат 6 знаци одцелиот опсег одеднаш:

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

    Извлечете податоци од крајот на ќелиите во Google Sheets

    За да ги извадите последните N знаци од ќелиите, наместо тоа користете ја функцијата RIGHT:

    RIGHT(низа,[број_на_знаци])
    • низа сè уште е текстот (или референца на ќелија) за извлекување податоци.
    • број_на_знаци е исто така бројот на знаци што треба да се земат оддесно.

    Ајде да ги добиеме имињата на тие земји од истите телефонски броеви:

    Тие земаат само 2 знаци и токму тоа го споменувам во формулата:

    =RIGHT(A2,2)

    Совет. ArrayFormula исто така ќе ви помогне да извлечете податоци од крајот на сите ќелии на Google Sheets одеднаш:

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

    Извлечете податоци од средината на ќелиите во Google Sheets

    Ако има функции за извлекување податоци од почетокот и крајот на ќелиите, мора да има функција за извлекување податоци и од средината. И да — има еден.

    Тоа се вика MID:

    MID(низа, почетна_на, екстракт_должина)
    • низа — текстот каде што сакате да го извадите средниот дел од.
    • starting_at — позицијата на знакот од која сакате да започнете да ги добивате податоците.
    • extract_length — бројот од знаците што треба да ги извадите.

    Со примерот на истите телефонски броеви, ајде да ги најдеме самите телефонски броеви без нивните шифри и земјакратенка:

    Бидејќи шифрите на државите завршуваат со 6-тиот знак, а седмата е цртичката, ќе ги повлечам броевите почнувајќи од 8-та цифра. И ќе добијам вкупно 8 цифри:

    =MID(A2,8,8)

    Совет. Промената на една ќелија во целиот опсег и завиткување во ArrayFormula ќе ви го обезбеди резултатот за секоја ќелија одеднаш:

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

    Извадете текст/броеви од низите

    Понекогаш извлекувањето текст по позиција (како што е прикажано погоре) не е опција. Потребните низи може да се наоѓаат во кој било дел од вашите ќелии и да се состојат од различен број на знаци што ве принудуваат да креирате различни формули за секоја ќелија.

    Но, Google Sheets не би биле Google Sheets ако немаше други функции кои би помогнале да се извлече текст од низи.

    Ајде да разгледаме неколку можни начини кои нудат табеларни пресметки.

    Извлечете податоци пред одреден текст — LEFT+SEARCH

    Секогаш кога сакате да извлечете податоци што претходат на одреден текст, користете LEFT + SEARCH:

    • LEFT се користи за враќање на одреден број знаци од почетокот на ќелиите (од нивната лева страна)
    • SEARCH бара одредени знаци/жици и ја добива нивната позиција.

    Комбинирајте ги — и LEFT ќе го врати бројот на знаци предложени од SEARCH.

    Еве еден пример: како да извлечете текстуални кодови пред секое „еа“?

    Ова е формулата што ќе ви помогне во сличнослучаи:

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

    Еве што се случува во формулата:

    1. SEARCH("ea",A2 ) го бара 'ea' во A2 и ја враќа позицијата каде што започнува таа 'ea' за секоја ќелија — 10.
    2. Значи, 10-тата позиција е местото каде што се наоѓа 'e'. Но, бидејќи сакам сè да биде правилно пред „еа“, треба да одземам 1 од таа позиција. Во спротивно ќе се врати и 'e'. Така, на крајот добивам 9.
    3. LEFT гледа во A2 и ги добива првите 9 знаци.

    Извлечете податоци по текстот

    Таму се исто така средства да се добие сè по одредена текстуална низа. Но, овој пат, ПРАВО нема да помогне. Наместо тоа, REGEXREPLACE доаѓа на ред.

    Совет. REGEXREPLACE користи регуларни изрази. Ако не сте подготвени да се справите со нив, има многу полесно решение опишано подолу. REGEXREPLACE(текст, регуларен_израз, замена)

    • текст е низа или ќелија каде што сакате да направите промени
    • редовниот_израз е комбинација од знаците што претставуваат дел од текстот што го барате
    • замена е она што сакате да го добиете наместо тој текст

    Па, како го користите за извлекување податоци по одреден текст - „ea“ во мојот пример?

    Лесно — користејќи ја оваа формула:

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

    Да објаснам како точно функционира оваа формула:

    1. A2 е ќелија што ја извлекувам податоците од.
    2. "(.*)ea(.*)" е мојот редовенизразување (или можете да го наречете маска). Барам „ea“ и ги ставам сите други знаци во загради. Постојат 2 групи на знаци - сè пред 'ea' е првата група (.*) и сè по 'ea' е втората (.*). Целата маска е ставена во двојни наводници.
    3. „$2“ е она што сакам да го добијам - втората група (оттука нејзиниот број 2) од претходниот аргумент.

    Совет. Сите знаци што се користат во регуларни изрази се собрани на оваа посебна страница.

    Извлечете броеви од ќелиите на Google Sheets

    Што ако сакате да извлечете само броеви кога нивната позиција и што и да е пред & по не е важно?

    Маските (познати како редовни изрази) исто така ќе помогнат. Всушност, ќе ја земам истата функција REGEXREPLACE и ќе го променам регуларниот израз:

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

    1. A2 е ќелија од каде што сакам да ги добијам тие броеви.
    2. „[^[:digit:]]“ е правилен израз кој зема сè освен цифри. Тој симбол ^caret е она што прави исклучок за цифрите.
    3. "" заменува сè освен нумеричките знаци со "ништо". Или, со други зборови, целосно го отстранува, оставајќи само броеви во ќелиите. Или, извлекувајте броеви :)

    Извадете текст игнорирајќи ги броевите и другите знаци

    На сличен начин, можете да извадите само азбучни податоци од ќелиите на Google Sheets. Контракцијата за правилниот израз штозначи текст се нарекува соодветно — алфа:

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

    Оваа формула зема сè освен буквите (A-Z, a-z) и буквално ја заменува со „ништо“ . Или, кажано на друг начин, вади само букви.

    Начини без формула за извлекување податоци од ќелиите на Google Sheets

    Ако барате лесен начин без формула за извлечете разни видови податоци, дојдовте на вистинското место. Нашиот додаток за Power Tools ги има само алатките за оваа работа.

    Исклучете различни типови податоци користејќи додатоци на Power Tools

    Првата алатка што би сакал да ја знаете се вика Extract . Го прави токму она што го баравте во оваа статија - извлекува различни типови податоци од ќелиите на Google Sheets.

    Поставки погодни за корисникот

    Сите случаи што ги опфатив погоре не се само решлив со додатокот. Алатката е погодна за корисникот така што се што треба да направите е да го изберете опсегот што сакате да го обработите и да ги штиклирате бараните полиња за избор. Нема формули, нема правилни изрази.

    Се сеќавате на втората точка од оваа статија со REGEXREPLACE и регуларни изрази? Еве колку е едноставно за додатокот:

    Дополнителни опции

    Како што можете да видите, има некои дополнителни опции (само полиња за избор) кои можете брзо да ги вклучите/исклучите за да го добиете најпрецизниот резултат:

    1. Добијте ги низите само од бараната големина на текстот.
    2. Извлечете ги сите појави од секојаќелија и ставете ги во една ќелија или одделни колони.
    3. Внесете нова колона со резултатот десно од изворните податоци.
    4. Исчистете го извлечениот текст од изворните податоци.

    Извлекување различни типови податоци

    Не само Power Tools извлекува податоци пред/по/помеѓу одредени текстуални низи и првите/последни N знаци; но го вади и следново:

    1. Броевите заедно со нивните децимали задржувајќи ги децималните/илјадници непроменети:

  • N знаци почнувајќи од одредена позиција во ќелија.
  • Хиперврски (текст + врска), URL-адреси (врска), адреси на е-пошта.
  • Извлечете која било низа податоци од секаде

    Има исто така опција да поставите своја точна шема и да ја користите за екстракција. Екстракт со маска и неговите знаци — * и ? — направете трик:

    • На пример, можете да изнесете сè помеѓу заградите користејќи ја следната маска: (*)
    • Или земете ги оние SKU кои имаат само 5 броеви во нивните идентификатори: SKU?????
    • Или, како што прикажувам на сликата од екранот подолу, повлечете сè по секоја „ea“ во секоја ќелија: ea*

    Извадете датум и време од временските ознаки

    Како бонус, постои помала алатка која ќе го извлече датумот и времето од временските ознаки - се вика Split Date & Време.

    Иако е создаден за да ги подели временските печати на прво место, тој е совршеноможе да добие една од саканите единици поединечно:

    Само изберете едно од полињата за избор во зависност од тоа што сакате да извлечете - датум или време - од временските печати во Google Sheets и притиснете Сплит . Потребната единица ќе се копира во нова колона (или ќе ги замени оригиналните податоци ако го изберете и последното поле за избор):

    Оваа алатка е исто така дел од додатокот Power Tools, па штом ќе го инсталирате за да добиете какви било податоци од ќелиите на Google Sheets, ќе ве опфати целосно. Ако не, оставете коментар и ние ќе ви помогнеме :)

    Мајкл Браун е посветен технолошки ентузијаст со страст за поедноставување на сложените процеси користејќи софтверски алатки. Со повеќе од една деценија искуство во технолошката индустрија, тој ги усоврши своите вештини во Microsoft Excel и Outlook, како и Google Sheets и Docs. Блогот на Мајкл е посветен на споделување на своето знаење и експертиза со другите, обезбедувајќи лесни за следење совети и упатства за подобрување на продуктивноста и ефикасноста. Без разлика дали сте искусен професионалец или почетник, блогот на Мајкл нуди вредни сознанија и практични совети за да го извлечете максимумот од овие основни софтверски алатки.