Как удалить первые 2 символа в Excel: от простых формул до автоматизации

Работа с текстовыми данными в Microsoft Excel часто требует предварительной очистки: удаления лишних символов, приведение к единому формату или извлечения нужных фрагментов. Одна из самых распространённых задач — удаление первых двух символов в ячейках. Это может понадобиться при обработке артикулов (AR1234512345), телефонных номеров (+791234567899123456789), или когда данные экспортированы с лишними префиксами из других систем.

В этой статье мы разберём 5 проверенных способов удаления первых двух символов — от элементарных формул до автоматизации через VBA. Каждый метод подходит для разных сценариев: одни оптимальны для разовых задач, другие экономят часы при обработке тысяч строк. Вы также узнаете, как избежать типичных ошибок (например, когда формула возвращает #ЗНАЧ!), и как адаптировать решения для Google Таблиц.

1. Способ: функция ПСТР (LEFT) — быстро и без ошибок

Самый надёжный метод для новичков — использование функции ПСТР (или MID в английской версии). Она позволяет извлечь часть текста, начиная с указанной позиции. Чтобы удалить первые два символа, нам нужно взять подстроку, начиная с третьего символа.

Формула будет такой:

=ПСТР(A1; 3; ДЛСТР(A1)-2)

Разберём аргументы:

  • 📌 A1 — адрес ячейки с исходным текстом.
  • 📌 3 — номер символа, с которого начинаем извлечение (первый символ имеет номер 1).
  • 📌 ДЛСТР(A1)-2 — количество символов для извлечения (общая длина текста минус 2 удаляемых символа).

Если вам нужно применить формулу ко всему столбцу, просто растяните её за правый нижний угол ячейки с результатом. Excel автоматически подставит относительные ссылки (A2, A3 и т.д.).

2. Способ: функция ПРАВСИМВ (RIGHT) — альтернатива для коротких текстов

Функция ПРАВСИМВ извлекает заданное количество символов с конца строки. Этот метод удобен, если вы заранее знаете максимальную длину текста или хотите избежать вложенных функций. Формула:

=ПРАВСИМВ(A1; ДЛСТР(A1)-2)

Преимущество способа — лаконичность. Однако он не подходит для ячеек с текстом длиной 2 символа или меньше: формула вернёт пустую строку или ошибку. Например, для ячейки с текстом "AB" результат будет "" (пусто).

📊 Какой способ удаления символов вы используете чаще?
Формулы (ПСТР, ПРАВСИМВ)
Найти и заменить
Текст по столбцам
VBA-макросы
Другой

3. Способ: инструмент "Текст по столбцам" — без формул

Если вам нужно однократно очистить данные и не сохранять формулы, воспользуйтесь встроенным инструментом Текст по столбцам. Он разобьёт текст на части по заданному правилу, а вам останется оставить только нужный фрагмент.

Пошаговая инструкция:

  1. Выделите столбец с данными.
  2. Перейдите на вкладку ДанныеТекст по столбцам.
  3. Выберите Фиксированная ширина и нажмите Далее.
  4. В области предварительного просмотра кликните мышью после второго символа, чтобы создать разделитель.
  5. Нажмите ГотовоExcel разобьёт текст на два столбца. Удалите первый столбец с ненужными символами.

Создайте резервную копию данных|Убедитесь, что справа от столбца есть свободные ячейки|Проверьте, нет ли в данных пустых строк|Отмените объединение ячеек (если есть)

-->

Этот метод визуально нагляден, но имеет ограничение: он не подходит для динамических данных. Если исходный текст изменится, процедуру придётся повторять заново.

4. Способ: "Найти и заменить" — для повторяющихся префиксов

Если первые два символа во всех ячейках одинаковые (например, "AR" в артикулах или "+7" в телефонах), самый быстрый способ — инструмент Найти и заменить (Ctrl+H).

Алгоритм:

  1. Выделите диапазон ячеек.
  2. Нажмите Ctrl+H.
  3. В поле Найти введите первые два символа (например, AR).
  4. Поле Заменить на оставьте пустым.
  5. Нажмите Заменить всё.
⚠️ Внимание: Если первые два символа в некоторых ячейках отличаются (например, "AR123" и "BR456"), этот метод удалит только совпадения. Для таких случаев используйте формулы или VBA.

Преимущество метода — скорость и отсутствие формул. Минус — он работает только с идентичными префиксами.

5. Способ: VBA-макрос — автоматизация для больших данных

Если вам регулярно приходится очищать первые два символа в тысячах строк, имеет смысл написать простой макрос. Он обработает данные за секунды и сэкономит часы ручной работы.

Код макроса для удаления первых двух символов во всех выделенных ячейках:

Sub УдалитьПервыеДваСимвола()

Dim rng As Range

Dim cell As Range

Set rng = Selection ' Выделенный диапазон

For Each cell In rng

If Len(cell.Value) > 2 Then

cell.Value = Right(cell.Value, Len(cell.Value) - 2)

Else

cell.Value = "" ' Если текст короче 2 символов, очищаем ячейку

End If

Next cell

End Sub

Как использовать:

  1. Нажмите Alt+F11, чтобы открыть редактор VBA.
  2. Вставьте код в новый модуль (Вставка → Модуль).
  3. Вернитесь в Excel, выделите нужный диапазон и запустите макрос (Alt+F8 → выберите УдалитьПервыеДваСимволаВыполнить).
⚠️ Внимание: Макрос безвозвратно изменяет исходные данные. Перед запуском создайте резервную копию или протестируйте его на небольшом фрагменте.
Как адаптировать макрос для Google Таблиц?

В Google Таблицах используйте Apps Script. Скрипт будет аналогичным, но с синтаксисом JavaScript:

function removeFirstTwoChars() {

const sheet = SpreadsheetApp.getActiveSheet();

const range = sheet.getActiveRange();

const values = range.getValues();

const result = values.map(row =>

row.map(cell =>

cell.toString().length > 2 ? cell.toString().slice(2) : ""

)

);

range.setValues(result);

}

Чтобы запустить:

1. Откройте Расширения → Apps Script.

2. Вставьте код и сохраните.

3. Вернитесь в таблицу и запустите скрипт из меню Расширения → Макросы.

Сравнение методов: какой выбрать?

Выбор способа зависит от задачи, объёма данных и вашего уровня владения Excel. В таблице ниже — сравнение ключевых параметров:

Метод Сложность Скорость Подходит для динамических данных Ограничения
ПСТР/MID ⚡ Быстро ✅ Да Требует знания формул
ПРАВСИМВ/RIGHT ⚡ Быстро ✅ Да Не работает с текстом ≤2 символов
Текст по столбцам ⭐⭐ 🐢 Медленно ❌ Нет Ручное выполнение, не для динамических данных
Найти и заменить ⚡⚡ Очень быстро ❌ Нет Только для одинаковых префиксов
VBA-макрос ⭐⭐⭐ ⚡⚡⚡ Мгновенно ❌ Нет (изменяет исходные данные) Требует навыков программирования

Для разовых задач с небольшим объёмом данных подойдёт Найти и заменить или Текст по столбцам. Если нужно сохранить возможность обновления данных — используйте формулы ПСТР или ПРАВСИМВ. Для обработки десятков тысяч строк оптимален VBA-макрос.

Типичные ошибки и как их избежать

Даже в простой задаче по удалению символов пользователи часто сталкиваются с проблемами. Вот самые распространённые ошибки и их решения:

  • 🚨 Ошибка #ЗНАЧ! в формуле ПСТР.

    Причина: ячейка содержит ошибку или не текст. Решение: добавьте проверку с ЕСЛИОШИБКА:

    =ЕСЛИОШИБКА(ПСТР(A1;3;99); "")
  • 🚨 Формула возвращает пустоту для коротких текстов.

    Причина: длина текста ≤2 символов. Решение: добавьте условие:

    =ЕСЛИ(ДЛСТР(A1)>2; ПСТР(A1;3;99); "")
  • 🚨 Макрос не работает с ячейками, содержащими числа.

    Причина: Excel хранит числа и текст по-разному. Решение: преобразуйте данные в текст с помощью ТЕКСТ или добавьте апостроф перед числом.

Ещё одна типичная проблема — лишние пробелы после удаления символов. Чтобы их убрать, оберните формулу в СЖПРОБЕЛЫ:

=СЖПРОБЕЛЫ(ПСТР(A1; 3; 99))

FAQ: ответы на частые вопросы

Можно ли удалить первые 2 символа в Google Таблицах?

Да, все описанные методы работают и в Google Таблицах, за исключением VBA (вместо него используйте Apps Script). Формулы идентичны:

  • =MID(A1; 3; LEN(A1)-2) — аналог ПСТР.
  • =RIGHT(A1; LEN(A1)-2) — аналог ПРАВСИМВ.

Инструмент Текст по столбцам в Google Таблицах называется Разделить текст на столбцы (меню Данные).

Как удалить первые 2 символа, если они не всегда одинаковые?

Используйте формулы ПСТР или ПРАВСИМВ — они работают независимо от содержимого первых двух символов. Если нужно удалить символы только при определённом условии (например, если они являются буквами), комбинируйте с ЕСЛИ:

=ЕСЛИ(И(КОДСИМВ(A1)>=65; КОДСИМВ(A1)<=90); ПСТР(A1;3;99); A1)

Эта формула удалит первые два символа, только если первый символ — заглавная латинская буква (коды 65–90 в ASCII).

Почему после удаления символов числа превращаются в даты?

Это происходит, потому что Excel автоматически преобразует текстовые строки, похожие на даты (например, "01-123""1-дек"), в формат даты. Чтобы избежать этого:

  1. Перед удалением символов отформатируйте ячейки как Текстовый (Ctrl+1 → вкладка Число).
  2. Или добавьте апостроф перед числом: '01-123.
Как удалить первые 2 символа во всём файле сразу?

Для обработки всех листов книги используйте VBA-макрос:

Sub УдалитьПервыеДваВоВсемФайле()

Dim ws As Worksheet

Dim rng As Range

For Each ws In ThisWorkbook.Worksheets

Set rng = ws.UsedRange

For Each cell In rng

If Len(cell.Value) > 2 Then

cell.Value = Right(cell.Value, Len(cell.Value) - 2)

End If

Next cell

Next ws

End Sub

⚠️ Внимание: Макрос изменит все данные во всех листах. Перед запуском сохраните резервную копию файла!

Можно ли вернуть удалённые символы обратно?

Если вы использовали формулы — да, просто удалите столбец с результатом. Если применяли Найти и заменить, Текст по столбцам или VBAисходные данные безвозвратно изменены. Восстановить их можно:

  • Из резервной копии файла.
  • Через Журнал изменений (Файл → Сведения → Журнал изменений), если функция включена.
  • С помощью инструментов восстановления (например, Recuva), но это не гарантирует 100% результат.