Видалення пробілів та інших символів або текстових рядків в Google Sheets з декількох комірок одночасно

  • Поділитися Цим
Michael Brown

Вивчіть формульні та безформульні способи видалення пробілів, спеціальних символів (навіть перших/останніх N символів) та однакових текстових рядків до/після певних символів одразу з декількох комірок.

Видалення однієї і тієї ж частини тексту відразу з декількох комірок може бути настільки ж важливим і складним завданням, як і його додавання. Навіть якщо ви знаєте деякі способи, в сьогоднішньому пості ви обов'язково знайдете нові. Я ділюся великою кількістю функцій і їх готовими формулами і, як завжди, залишаю наостанок найпростішу - безформульну - ;)

    Формули для Google Таблиць для видалення тексту з комірок

    Почну зі стандартних функцій для Google Таблиць, які дозволять видалити ваші текстові рядки і символи з комірок. Універсальної функції для цього немає, тому я наведу різні формули і їх комбінації для різних випадків.

    Google Таблиці: видаляємо пробіли

    Пробіли можуть легко потрапляти в комірки після імпорту або при одночасному редагуванні аркуша кількома користувачами. Насправді, зайві пробіли настільки поширені, що в Google Таблицях є спеціальний інструмент "Обрізати" для видалення всіх пробілів.

    Просто виділіть всі комірки Google Sheets, з яких потрібно видалити пробіли, і виберіть Дані> Обрізати пробіли в меню електронної таблиці:

    При натисканні на цю опцію всі перші та останні пробіли у виділенні будуть повністю вилучені, а всі зайві пробіли між даними будуть зменшені до одного:

    Видалення інших спеціальних символів з текстових рядків в Google Таблицях

    На жаль, Google Таблиці не пропонують інструменту для "обрізання" інших символів, окрім пробілів. Тут доводиться мати справу з формулами.

    Порада. Або скористайтеся нашим інструментом - Power Tools звільнить ваш діапазон від будь-яких символів, які ви вкажете в один клік, включаючи пробіли.

    Тут я звертався з хештегами перед номерами квартир і телефонами, між якими ставив тире і дужки:

    Я буду використовувати формули для видалення цих спеціальних символів.

    У цьому мені допоможе функція SUBSTITUTE, яка зазвичай використовується для заміни одного символу на інший, але ви можете обернути це на свою користь і замінити небажані символи на... ну, ні на що :) Іншими словами, видалити його.

    Подивимось, який аргумент вимагає функція:

    SUBSTITUTE(текст_для_пошуку, шукати_для, замінити_на, [номер_входження])
    • текст_для_пошуку або текст для обробки, або комірка, яка містить цей текст. Обов'язкове поле.
    • search_for символ, який потрібно знайти і видалити. Обов'язково.
    • замінити_на - символ, який ви вставите замість небажаного символу. Обов'язково.
    • номер_події - якщо є кілька екземплярів шуканого символу, тут можна вказати, який з них замінити. Це абсолютно необов'язково, і якщо ви опустите цей аргумент, всі екземпляри будуть замінені на щось нове ( замінити_на ).

    Отже, давайте пограємо. Мені потрібно знайти хештег ( # ) в A1 і замінити його на "нічого", яке в електронних таблицях виділяється подвійними лапками ( "" Враховуючи все це, я можу вивести наступну формулу:

    =SUBSTITUTE(A1, "#","")

    Порада: хештег також береться у подвійні лапки, оскільки саме так слід згадувати текстові рядки у формулах Google Таблиць.

    Потім скопіюйте цю формулу вниз по стовпчику, якщо Google Таблиці не запропонує зробити це автоматично, і ви отримаєте свої адреси без хештегів:

    Але що робити з тире і дужками? Створювати додаткові формули? Зовсім ні! Якщо ви вкладете кілька функцій підстановки в одну формулу Google Sheets, ви видалите всі ці символи з кожної комірки:

    =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1, "#",""),"(",""),")",""),"-",""))

    Ця формула видаляє символи один за одним, і кожна ЗАМІННИК, починаючи з середини, стає діапазоном, на який слід дивитися для наступного ЗАМІННИКА:

    Порада. Більше того, можна обернути це в ArrayFormula і охопити відразу весь стовпець. У цьому випадку змініть посилання на комірку ( A1 ) до Ваших даних у колонці ( A1:A7 ), а також:

    =Формула масиву(підстановка(підстановка(підстановка(А1:А7, "#",""),"(",""),"(",""),")",""),""),"-",""))

    Видалення певного тексту з комірок в Google Таблицях

    Хоча для видалення тексту з комірок можна використовувати вищезгадану функцію SUBSTITUTE для Google Sheets, я хотів би показати ще одну функцію - REGEXREPLACE.

    Його назва є абревіатурою від "регулярний вираз замінити". І я збираюся використовувати регулярні вирази для пошуку рядків, щоб видалити і замінити їх на ' нічого" ( "" ).

    Порада: якщо вам не цікаво використовувати регулярні вирази, я описую набагато простіший спосіб в кінці цього блогу.

    Порада: якщо ви шукаєте способи пошуку і видалення дублікатів в Google Таблицях, відвідайте замість цього цю статтю в блозі. REGEXREPLACE(text, regular_expression, replacement)

    Як бачимо, у функції є три аргументи:

    • текст - це місце, де ви шукаєте текстовий рядок, який потрібно видалити. Це може бути сам текст у подвійних лапках або посилання на комірку/діапазон з текстом.
    • регулярний_вираз - шаблон пошуку, який складається з різних комбінацій символів. Ви будете шукати всі рядки, які відповідають цьому шаблону. У цьому аргументі відбувається, якщо можна так сказати, найцікавіше.
    • заміна - новий потрібний текстовий рядок.

    Припустимо, що мої комірки з даними також містять назву країни ( США ), якщо різні місця в комірках:

    Як REGEXREPLACE допоможе мені його видалити?

    =REGEXREPLACE(A1, "(.*)US(.*)","$1 $2")

    Ось як саме працює ця формула:

    • сканує вміст комірки A1
    • на збіги з цією маскою: "(.*)США(.*)"

      Ця маска вказує функції шукати США незалежно від того, яка кількість інших символів може передувати (.*) або слідувати (.*) назва країни.

      І вся маска береться в подвійні лапки на вимогу функції :)

    • останній аргумент "$1 $2" - це те, що я хочу отримати натомість. $1 і $2 кожна з яких представляє одну з цих 2 груп символів - (.*) - У третьому аргументі ці групи слід згадувати таким чином, щоб формула повертала все, що може стояти до і після США

      Що стосується США сам по собі, я просто не згадую його в 3-му аргументі - тобто, я хочу повернути все, що було в A1 без в "Урядовому кур'єрі". США .

    Порада: є спеціальна сторінка, на якій можна побудувати різні регулярні вирази та шукати текст у різних позиціях комірок.

    Порада. Щодо тих ком, що залишилися, то позбутися їх допоможе описана вище функція ЗАМЕНА ;) Можна навіть REGEXREPLACE прикласти до ЗАМЕНА і вирішити все однією формулою:

    =SUBSTITUTE(REGEXREPLACE(A1,"(.*)US(.*)","$1 $2"),",",","")

    Видалення тексту до/після певних символів у всіх виділених комірках

    Приклад 1. Функція REGEXREPLACE для Google Sheets

    Коли мова йде про те, щоб позбутися всього до і після певних символів, також допомагає REGEXREPLACE. Пам'ятайте, що функція вимагає 3 аргументи:

    REGEXREPLACE(текст, регулярний_вираз, заміна)

    І, як я вже згадував вище, коли представляв цю функцію, саме другий варіант потрібно використовувати правильно, щоб функція знала, що шукати і видаляти.

    Як же видалити адреси і залишити в комірках тільки номери телефонів?

    Ось формула, якою я буду користуватися:

    =REGEXREPLACE(A1,".*\n.*(\+.*)","$1")

    • Ось регулярний вираз, який я використовую в цьому випадку: ".*\n.*(\+.*)"

      У першій частині .*\n.* - Я використовую зворотний слеш+n щоб сказати, що моя комірка має більше одного рядка. Тому я хочу, щоб функція видалила все до і після цього переходу на новий рядок (включаючи його).

      Друга частина, що в дужках (\+.*) говорить, що я хочу зберегти знак "плюс" і все, що слідує за ним, недоторканим. Я беру цю частину в дужки, щоб згрупувати її і тримати в пам'яті на майбутнє.

      Порада. Зворотна коса риска використовується перед плюсом, щоб перетворити його на символ, який ви шукаєте. Без неї плюс був би просто частиною виразу, що позначає деякі інші символи (як, наприклад, зірочка).

    • Що стосується останнього аргументу - $1 - то він змушує функцію повертати ту єдину групу з другого аргументу: знак плюс і все, що з нього випливає (\+.*) .

    Аналогічним чином можна видалити всі номери телефонів, але залишити адреси:

    =REGEXREPLACE(A1,"(.*\n).*","$1")

    Тільки цього разу ви вказуєте функції згрупувати (і повернути) все, що знаходиться до переходу на новий рядок, а решту очистити:

    Приклад 2: RIGHT+LEN+FIND

    Є ще кілька функцій Google Таблиць, які дозволяють видалити текст до певного символу - це RIGHT, LEN і FIND.

    Примітка: Ці функції допоможуть тільки в тому випадку, якщо записи, які потрібно зберегти, мають однакову довжину, як, наприклад, телефонні номери в моєму випадку. Якщо це не так, просто використовуйте REGEXREPLACE або, що ще краще, більш простий інструмент, описаний в кінці.

    Використання цієї трійці в певному порядку допоможе мені отримати той самий результат і прибрати весь текст перед символом - знаком плюс:

    =RIGHT(A1,(LEN(A1)-(FIND("+",A1)-1))))

    Поясню, як працює ця формула:

    • FIND("+",A1)-1 знаходить номер позиції знаку плюс в комірці A1 ( 24 ) і віднімає 1, щоб підсумок не включав сам плюс: 23 .
    • LEN(A1)-(FIND("+",A1)-1) перевіряє загальну кількість символів в рядку A1 ( 40 ) і віднімає від нього 23 (пораховані FIND): 17 .
    • А потім RIGHT повертає 17 символів з кінця (праворуч) А1.

    На жаль, цей спосіб не дуже допоможе прибрати текст після переходу на новий рядок у моєму випадку (прибрати номери телефонів і зберегти адреси), оскільки адреси мають різну довжину.

    Ну, нічого страшного, інструмент на кінці все одно робить цю роботу краще ;)

    Видалення перших/останніх N символів з рядків в Google Таблицях

    Якщо вам потрібно видалити певну кількість різних символів з початку або кінця комірки, вам також допоможуть команди REGEXREPLACE і RIGHT/LEFT+LEN.

    Примітка. Оскільки я вже знайомив вас з цими функціями вище, я скорочу цей пункт і наведу кілька готових формул. Або можете перейти до найпростішого рішення, описаного в самому кінці.

    Отже, як можна стерти коди з цих номерів телефонів? Або, іншими словами, видалити перші 9 символів з комірок:

    • Використовуйте REGEXREPLACE. Створіть регулярний вираз, який знайде і видалить все до 9-го символу (включаючи цей 9-й символ):

      =REGEXREPLACE(A1,"(.{9})(.*)","$2")

      .

      Порада: щоб видалити останні N символів, просто поміняйте місцями групи в регулярному виразі:

      =REGEXREPLACE(A1,"(.*)(.{9})","$1")

    • RIGHT/LEFT+LEN також підраховують кількість символів для видалення і повертають частину, що залишилася, з кінця або початку комірки відповідно:

      =RIGHT(A1,LEN(A1)-9)

      Порада: щоб видалити останні 9 символів з комірок, замініть ПРАВИЙ на ЛІВий:

      =LEFT(A1,LEN(A1)-9)

    • І останньою, але не менш важливою є функція REPLACE. Ви вказуєте їй взяти 9 символів, починаючи зліва, і замінити їх нічим ( "" ):

      =REPLACE(A1,1,9,"")

      Примітка: Оскільки для обробки тексту REPLACE вимагає початкової позиції, вона не спрацює, якщо вам потрібно видалити N символів з кінця комірки.

    Безформульний спосіб видалення певного тексту в Google Таблицях - надбудова Power Tools

    Функції - це добре, коли є час, але чи знаєте ви, що є спеціальний інструмент, який охоплює всі вищезгадані способи, і все, що вам потрібно зробити - це вибрати потрібну кнопку :) Ніяких формул, ніяких зайвих стовпчиків - кращого помічника годі й бажати ;D

    Вам не потрібно вірити мені на слово, просто встановіть Power Tools і переконайтеся в цьому самі:

    1. Перша група дозволяє видалення декількох підрядків або окремих символів з будь-якої позиції у всіх виділених комірках одночасно:

  • Наступний видаляє не тільки пробіли, але й переноси рядків, HTML-об'єкти та теги, а також інші розділювачі та недруковані символи Просто поставте всі потрібні галочки і натисніть Видалити :
  • І нарешті, є налаштування для видалення тексту в Google Sheets за певною позицією, першими/останніми N символами або до/після символів :
  • Інший інструмент з Power Tools видаляє одиниці часу і дати з міток часу. Він називається Split Date & Time (Розділити дату і час):

    Яке відношення інструмент розділення має до видалення одиниць часу і дати? Ну, щоб видалити час з міток, виберіть Дата оскільки це частина, яку ви хочете зберегти, а також поставити галочку Замінити вихідні дані як на скріншоті вище.

    Інструмент витягне одиницю дати і замінить нею всю мітку часу. Або, іншими словами, це доповнення для Google Sheets видалить одиницю часу з мітки часу:

    Ви можете отримати всі ці та понад 30 інших інструментів для роботи з електронними таблицями, встановивши додаток з Google Store. Перші 30 днів він повністю безкоштовний і повністю функціональний, тому у вас є час, щоб вирішити, чи варто вкладати в нього гроші.

    Якщо у вас виникли питання, пов'язані з будь-якою частиною цього блогу, чекаю на вас у коментарях нижче!

    Майкл Браун — відданий ентузіаст технологій із пристрастю до спрощення складних процесів за допомогою програмних засобів. Маючи понад десятирічний досвід роботи в технологічній індустрії, він відточив свої навички роботи з Microsoft Excel і Outlook, а також із Google Таблицями та Документами. Блог Майкла присвячений тому, щоб поділитися своїми знаннями та досвідом з іншими, надаючи прості поради та навчальні посібники для підвищення продуктивності та ефективності. Незалежно від того, чи є ви досвідченим професіоналом чи початківцем, блог Майкла пропонує цінну інформацію та практичні поради щодо отримання максимальної користі від цих основних програмних інструментів.