Як усунути все до або після конкретного символу в Excel

Особи, які тільки розпочинають свою діяльність у Excel, часто стикаються з такою проблемою.

Припустимо, у нас є ось така таблиця:

Ось перероблений текст з збереженням змісту:

Спосіб видалення всіх даних до чи після конкретного символу в Excel

Ось як виглядає процес усунення всіх знаків після “”,”:

Є кілька варіантів для цього. Давайте розглянемо декілька з них.

Отже, розпочнемо!

Використовуючи опцію «Пошук і заміна»

Мабуть, це найбільш швидкий і комфортний варіант.

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

Спосіб видалення тексту до чи після заданого символу в Excel

Інструкція поетапно:

  • Скопіюємо та вставимо стовпець А в;

Способи видалення тексту до або після конкретного символа в Excel

  • Оберіть стовпець і натисніть на вкладку «Головна»;

Спосіб видалення всього до чи після конкретного символу в Excel

  • Потім – “Шукати та підсвітити” -> “Змінити …”;

Методи видалення тексту до або після визначеного символу в Excel

  • Вкажіть у першому параметрі символ “*”;

Спосіб видалення всього до або після конкретного символу в Excel

  • Не змінюйте другий параметр;

Спосіб видалення всього до або після вираженого знака в Excel

  • Увімкніть опцію «Замінити все».

Методи видалення всього до або після конкретного символу в Excel

Всё сделано! Ось результат:

Зображення з темою: «Як у Excel видалити текст до або після конкретного символу».

Яким чином це функціонує?

Символ * позначає невизначену кількість знаків.

Ось перероблений текст з збереженням змісту:

Використання символу «,*» свідчить про те, що програмі необхідно видалити кому та всі символи, що знаходяться після неї.

Це здійсниться лише за умови, що в кожному осередку міститься одна кома. Якщо ж таких ком більше ніж одна, то перша та всі наступні дані будуть видалені і замінені на пусте місце.

З використанням формул

Ми також здатні здійснити наше завдання, використовуючи формули.

Наприклад, у нас є ось така таблиця:

Спосіб видалення всього до або після конкретного символу в Excel

Формула має наступний вигляд:

=ЛЕВСИМВ(A2;ЗНАЙТИ(“,”;A2)-1)

Кроки для видалення всього до чи після конкретного символу в Excel

Функція ЗНАЙТИ визначає позицію коми в рядку.

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

Тепер у нас є така таблиця:

Спосіб видалення всього до або після певного символу в Excel

Для даного прикладу формула виглядає так:

=ЛЕВСИМВ(A2;ЗНАЙТИ(“!”;ПІДСТАВИТИ(A2;”,”;”!”;2))-1)

Способи видалення всього до або після обраного символу у Excel

Отже, як і раніше, у нас не вийде. Адже функція ЗНАЙТИ знаходить позицію першої коми, а нам необхідно виявити позицію другої.

Ми застосовуємо одну просту trick: конкретно, ми замінюємо другу кому на знак оклику і далі виконуємо з ним необхідні дії.

Все в порядку, але в даному прикладі в кожному рядку ми маємо точно 2 коми. А як бути, якщо їх кількість не визначена? У великих обсягах даних вам не вдасться перевірити, скільки саме ком у кожному рядку.

Ось зразок:

Спосіб видалення всього перед або після заданого символу в Excel

Таким чином, перш ніж виконати будь-які операції, варто визначити позицію останньої коми.

У даному прикладі формула має наступний вигляд:

=ЛЕВСИМВ(A2;ЗНАЙТИ(“!”;ПІДСТАВИТИ(A2;”,”;”!”;ДЛСТР(A2)-ДЛСТР(ПІДСТАВИТИ(A2;”,”;”,”))))-1)

Спосіб видалення всього до або після конкретного символа в Excel

Таким чином, функція ДЛСТР спочатку визначає загальну кількість символів у рядку, включаючи коми, а потім без них.

А далі від першого числа віднімаємо друге. Таким чином, ми визначаємо кількість ком в рядку.

Після цього ми змінюємо останній знак на знак оклику.

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

Перевагою цього є те, що інформація залишатиметься динамічною. Це означає, що у разі змін у вихідних даних, зміни торкнуться і оброблених результатів.

Використовуючи опцію «Заповнити»

Функція «Заповнити» є старим, але корисним інструментом. Вона може виявитися дуже корисною в даній ситуації.

Яким чином він функціонує?

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

Ось переформульований варіант: “

Пропонуємо розглянути приклад.

Припустимо, що у нас є аналогічна таблиця:

Спосіб видалення всього до або після конкретного символа в Excel

Інструкція з покроковим виконанням:

  • У верхньому осередку колонки В введіть результат, який має бути після обробки;

Спосіб видалення всього до або після певного знака в Excel

  • У наступному пункті – те ж саме;

Методи видалення всього до або після конкретного символу в Excel

– “

  • Тепер виокремте стовпчик;

Методи видалення тексту до або після конкретного символу в Excel

  • Оберіть “Головна” -> “Заповнити” -> “Миттєве заповнення”;

Спосіб видалення всього до або після конкретного символу в Excel

Виконано! Ось підсумок:

Спосіб видалення всього до або після визначеного символу в Excel

Цю можливість можна застосовувати не лише для видалення тексту після певного символу. Вона функціонує у моменти, коли присутня логіка.

Проте іноді вона може здійснювати помилки. Тому завжди уважно перевіряйте результати обробки.

З використанням Visual Basic

І, як зазвичай, проаналізуємо варіант, використовуючи Visual Basic.

Ми розробимо індивідуальну функцію і застосуємо її для обробки інформації.

Це надзвичайно комфортно, коли ви регулярно виконуєте одну й ту ж дію. Наприклад, в нашій ситуації ми видаляємо інформацію після знака.

Ось переформульований текст з збереженням сенсу:

Код на Visual Basic:

Function ПозиціяОстання(rКлітинка As Range, rСимвол As String) ‘Ця функція визначає останню позицію вказаного символу ‘Цей код написав Суміт Бансал (https://trumpexcel.com) Dim довжинаРядка As Integer довжинаРядка = Len(rКлітинка) For i = довжинаРядка To 1 Step -1 If Mid(rКлітинка, i – 1, 1) = rСимвол Then ПозиціяОстання = i – 1 Exit Function End If Next i End Function

Якщо будуть потрібні ще зміни або допомога, дайте знати!

Для того щоб код функціонував, його необхідно вставити в Visual Basic через меню “Вставити” -> “Модуль”.

Проаналізуємо приклад її застосування.

Уявімо, що у нас є ось така таблиця. Формула в цьому випадку виглядає так:

=ЛЕВСІМВ(A2;ВостаннєПозиція(A2;”,”)-1)

Методи видалення тексту до або після конкретного символу в Excel

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

Використання Visual Basic робить все легшим.

І ось і все! Якщо вам потрібно виконати подібну задачу один або два рази, то доцільніше скористатися функцією «Знайти і замінити…», але якщо ви плануєте робити це регулярно, то краще застосувати Visual Basic.

Сподіваюся, ця стаття була для вас корисною!

Читайте також
nBook - найцікавіше зі світу IT, Hi-Tech
Додати коментар