Как в Excel поставить число через тире: от ручного ввода до автоматических формул

Когда нужно ставить числа через тире в Excel и зачем это делать

Запись чисел через дефис (например, 1-10 или 2020-2023) — распространённая задача при работе с диапазонами дат, номеров страниц, интервалов значений или инвентарных номеров. Вручную прописывать такие комбинации неудобно, особенно если речь идёт о сотнях строк. К счастью, Microsoft Excel и Google Таблицы предлагают несколько способов автоматизировать процесс: от простого форматирования до сложных формул с условиями.

Где это пригодится?

  • 📅 Отчёты по периодам: "январь–март 2026" вместо перечисления всех месяцев.
  • 📚 Библиография: указание страниц источника (например, "с. 45–67").
  • 📦 Инвентаризация: диапазоны артикулов или серийных номеров (например, "AR-1001–AR-1050").
  • 📊 Аналитика: группировка числовых интервалов (например, "возраст 18–25 лет").

В этой статье разберём 5 рабочих методов, включая:

  • 🔹 Ручной ввод с автозаменой.
  • 🔹 Форматирование ячеек через пользовательский формат.
  • 🔹 Формулы ТЕКСТСЦЕП (CONCATENATE) и ОБЪЕДИНИТЬ (TEXTJOIN).
  • 🔹 Power Query для массовой обработки.
  • 🔹 VBA-скрипты для продвинутых пользователей.
📊 Как часто вы сталкиваетесь с необходимостью записывать числа через тире в Excel?
Ежедневно
Раз в неделю
Редко
Никогда

Способ 1: Ручной ввод с автозаменой (самый быстрый)

Если нужно однократно ввести диапазон чисел (например, "1–10"), проще всего сделать это вручную. Но даже здесь есть хитрости:

  1. Выделите ячейку, где должен появиться результат.
  2. Введите первое число, затем зажмите Alt и наберите 0150 на цифровой клавиатуре — это вставит длинное тире (—). Для короткого тире (-) просто нажмите клавишу дефиса.
  3. Добавьте второе число и нажмите Enter.

🔹 Преимущество: работает в любой версии Excel, не требует формул.

⚠️ Недостаток: не подходит для автоматического заполнения больших таблиц.

Способ 2: Пользовательский формат ячеек (для диапазонов дат)

Если вам нужно отобразить даты через тире (например, "01.01.2026–31.01.2026"), используйте пользовательский формат:

  1. Выделите ячейку с первой датой (например, A1).
  2. Нажмите Ctrl+1 (или правая кнопка → Формат ячеек).
  3. Перейдите на вкладку Число → (все форматы).
  4. В поле Тип введите:
    д.мм.гггг"–"д.мм.гггг

    и нажмите ОК.

  5. В соседней ячейке (B1) введите вторую дату и объедините ячейки (опционально).

🔹 Пример результата:

Ячейка A1Отображение
01.01.202601.01.2026–31.01.2026
15.05.202315.05.2023–20.05.2023
⚠️ Внимание: Этот метод работает только для парных ячеек с датами. Если нужно указать диапазон чисел (например, "1–10"), используйте формулы (см. следующий раздел).

Способ 3: Формулы для автоматического объединения чисел

Для динамического создания диапазонов (например, если числа хранятся в разных ячейках) используйте формулы:

Вариант 1: Функция ТЕКСТСЦЕП (CONCATENATE)

Синтаксис:

=ТЕКСТСЦЕП(A1;"–";B1)

Где:

  • 📌 A1 — ячейка с первым числом.
  • 📌 "–" — разделитель (можно заменить на "-" для короткого тире).
  • 📌 B1 — ячейка со вторым числом.

Вариант 2: Функция ОБЪЕДИНИТЬ (TEXTJOIN) для нескольких чисел

Если нужно объединить более двух чисел (например, "1–5–10"), используйте:

=ОБЪЕДИНИТЬ("–";ИСТИНА;A1:B1)

🔹 Пример:

A1B1ФормулаРезультат
110=ТЕКСТСЦЕП(A1;"–";B1)1–10
20202023=A1&"–"&B12020–2023
58=ОБЪЕДИНИТЬ("–";ИСТИНА;A1:C1)5–7–8

Ячейки содержат числа, а не текст|Тире в формуле заключено в кавычки|Диапазон ячеек указан корректно (например, A1:B1)|Формат ячеек с результатом — "Общий" или "Текст"-->

Способ 4: Power Query для массовой обработки

Если у вас тысячи строк с числами, которые нужно преобразовать в диапазоны, используйте Power Query (доступен в Excel 2016+):

  1. Выделите исходные данные и нажмите Данные → Из таблицы/диапазона.
  2. В открывшемся редакторе Power Query выберите столбец с первым числом, затем:
    • 📌 Перейдите на вкладку Добавить столбец → Пользовательский столбец.
    • 📌 Введите формулу:
      [Столбец1] & "–" & [Столбец2]
  • Нажмите ОК и Закрыть и загрузить.
  • 🔹 Плюсы:

    • 🔥 Обрабатывает миллионы строк без тормозов.
    • 🔄 Позволяет обновлять данные одним кликом.
    ⚠️ Внимание: После загрузки данные в Power Query становятся статическими. Чтобы обновить результат при изменении исходных чисел, нажмите Данные → Обновить все.

    Способ 5: VBA-скрипт для продвинутых пользователей

    Если вам нужно автоматизировать процесс для регулярного использования, напишите простой макрос:

    1. Нажмите Alt+F11, чтобы открыть редактор VBA.
    2. Вставьте новый модуль (Insert → Module) и добавьте код:
      Sub AddDashBetweenNumbers()
      

      Dim rng As Range

      Dim cell As Range

      Set rng = Selection

      For Each cell In rng

      If IsNumeric(cell.Value) And IsNumeric(cell.Offset(0, 1).Value) Then

      cell.Value = cell.Value & "–" & cell.Offset(0, 1).Value

      End If

      Next cell

      End Sub

    3. Вернитесь в Excel, выделите пары ячеек с числами и запустите макрос (Alt+F8 → AddDashBetweenNumbers → Выполнить).

    🔹 Как работает скрипт:

    • 📌 Объединяет числа из выделенной ячейки и соседней справа.
    • 📌 Проверяет, что обе ячейки содержат числа (игнорирует текст).
    • 📌 Заменяет исходное значение на диапазон (например, "5" → "5–10").
    Модификация скрипта для вертикальных диапазонов

    Чтобы объединять числа из ячеек сверху и снизу (например, A1 и A2), замените в коде cell.Offset(0, 1) на cell.Offset(1, 0).

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

    При работе с диапазонами чисел пользователи часто сталкиваются с следующими проблемами:

    ОшибкаПричинаРешение
    Формула возвращает #ЗНАЧ! Одна из ячеек содержит текст, а не число. Проверьте формат ячеек (Числовой или Общий).
    Тире отображается как ? Некорректная кодировка символа. Используйте CHAR(150) для длинного тире:
    =A1 & CHAR(150) & B1
    Даты преобразуются в числа (например, "45000–45001") Excel хранит даты как числа. Примените формат д.мм.гггг к ячейкам с датами.

    🔹 Совет для новичков:

    Если формула не работает, проверьте разделитель списка в настройках Windows. В русскоязычных версиях Excel вместо ; может требоваться ,. Чтобы узнать свой разделитель, выполните:

    =ИНФОРМ("разделитель_списка")

    FAQ: Частые вопросы о записи чисел через тире

    Можно ли автоматически создать диапазоны типа "1–5, 7–10" (с пропусками)?

    Да, но для этого потребуется VBA-скрипт или сложная формула с условиями. Пример для двух диапазонов:

    =ЕСЛИ(A1=1; "1–5"; ЕСЛИ(A1=7; "7–10"; ""))

    Для динамического решения лучше использовать Power Query с группировкой данных.

    Как в Google Таблицах поставить число через тире?

    Все методы из этой статьи работают и в Google Sheets, за исключением Power Query (там используется Apps Script). Для формул замените:

    • ТЕКСТСЦЕПCONCATENATE или &.
    • ОБЪЕДИНИТЬTEXTJOIN.
    Почему после объединения чисел через тире результат выравнивается по левому краю?

    Это означает, что Excel воспринял результат как текст. Чтобы вернуть числовой формат:

    1. Выделите ячейку с результатом.
    2. Нажмите Ctrl+1 → выберите формат Общий или Числовой.

    Если нужно сохранить тире, но вернуть числовое значение — это невозможно: после добавления символа данные становятся текстом.

    Можно ли сделать автозаполнение диапазонов (например, протянуть "1–2" до "1–10")?

    Нет, стандартное автозаполнение Excel не поддерживает такие шаблоны. Альтернативы:

    • 📌 Используйте формулу с относительными ссылками (например, =A1&"–"&B1) и протяните её вниз.
    • 📌 Напишите VBA-скрипт для кастомного автозаполнения.
    Как убрать тире из ячейки и вернуть отдельные числа?

    Используйте функцию РАЗДЕЛИТЬ (SPLIT в Google Sheets) или ТЕКСТПОСЛЕ/ТЕКСТДО:

    =--ТЕКСТДО(A1;"–")  // первое число
    

    =--ТЕКСТПОСЛЕ(A1;"–") // второе число

    Двойной унарный минус (--) преобразует текст обратно в число.