Как преобразовать данные в Excel: 10 рабочих способов с примерами

Работа с Excel часто требует преобразования данных из одного формата в другой — будь то изменение расширения файла, трансформация текста в числа или конвертация таблиц в диаграммы. Без этих навыков даже простые задачи (например, импорт данных из CSV в XLSX или разделение ячеек с ФИО на отдельные столбцы) могут занять часы ручной правки. В этой статье разберём 10 актуальных способов преобразования данных в Excel 2019–2026, включая скрытые функции и автоматизацию через Power Query.

Важно понимать: не все преобразования одинаково полезны. Например, конвертация .xls в .xlsx занимает 2 клика, а вот преобразование текста в даты с учётом региональных настроек может потребовать формул или даже VBA-скриптов. Мы сосредоточимся на методах, которые экономят время и уменьшают риск ошибок — от базовых (для новичков) до продвинутых (для аналитиков).

1. Преобразование файлов: из CSV в XLSX и обратно

Формат .csv (Comma-Separated Values) — стандарт для обмена данными между программами, но он не поддерживает формулы, несколько листов или форматирование. Чтобы преобразовать CSV в XLSX:

  1. Откройте файл в Excel: Файл → Открыть → Обзор (выберите .csv).
  2. В Мастере импорта текста укажите разделитель (запятая, точка с запятой) и кодировку (обычно UTF-8 или Windows-1251).
  3. Сохраните как Книга Excel (*.xlsx) через Файл → Сохранить как.

⚠️ Внимание: При обратном преобразовании (XLSX → CSV) Excel предупредит о потере данных. Формулы, изображения и несколько листов не сохранятся. Если нужно экспортировать только один лист, сначала скопируйте его в новый файл.

📊 Какой формат вы используете чаще?
CSV
XLSX
ODS
TXT
Другой

Для автоматизации используйте Power Query:

= Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content]

=> Table.TransformColumnTypes(_,{{"Столбец1", type text}})

2. Текст в столбцы: разбиваем данные по разделителям

Классическая задача — разделение ячейки с ФИО ("Иванов Иван Иванович") на отдельные столбцы. Способы:

  • 📌 Через меню: Выделите столбец → Данные → Текст по столбцам → укажите разделитель (пробел, запятая, символ табуляции).
  • 🔢 Формулы: Для фамилии — =ЛЕВСИМВ(A1;ПОИСК(" ";A1)-1), для имени — =ПСТР(A1;ПОИСК(" ";A1)+1;ПОИСК(" ";A1;ПОИСК(" ";A1)+1)-ПОИСК(" ";A1)-1).
  • 🤖 Power Query: Загрузите данные в редактор, выберите столбец → Преобразовать → Разделить столбец → По разделителю.

⚠️ Внимание: Если в данных есть лишние пробелы, предварительно очистите их функцией =СЖПРОБЕЛЫ(). Иначе разделитель сработает некорректно.

Удалить лишние пробелы|Проверить единообразие разделителей|Создать резервную копию файла|Проверка на пустые ячейки

-->

3. Преобразование текста в числа (и наоборот)

Excel иногда воспринимает числа как текст (например, после импорта из CSV), что блокирует вычисления. Чтобы исправить:

ПроблемаРешениеПример
Число как текст (зелёный треугольник в углу ячейки)Выделите ячейки → жёлтый значок !Преобразовать в число'123123
Дата в формате текстаФормула =ДАТАЗНАЧ(A1) или Текст по столбцам с форматом ДМГ"01.01.2023"44927 (дата)
Число с разделителями (1 000 → 1000)Замените Пробел на Ничего через Ctrl+H1 0001000

Для обратного преобразования (числа в текст) используйте =ТЕКСТ(A1;"0") или форматирование ячейки как Текстовый.

4. Конвертация дат: из текста в формат даты и обратно

Excel хранит даты как числа (количество дней с 1900 года), но при импорте они часто становятся текстом. Например, "31.12.2023" не сортируется и не участвует в вычислениях.

Способы преобразования:

  • 📅 Формула: =ДАТАЗНАЧ(A1) (для форматов ДД.ММ.ГГГГ). Для ММ/ДД/ГГГГ используйте =ДАТА(ПРАВСИМВ(A1;4);ПСТР(A1;1;2);ПСТР(A1;4;2)).
  • 🔄 Текст по столбцам: Выберите столбец → Данные → Текст по столбцам → на шаге 3 укажите формат ДМГ.
  • 🌍 Региональные настройки: Если даты отображаются как ММ.ДД.ГГГГ вместо ДД.ММ.ГГГГ, измените формат системы в Панель управления → Регион.

⚠️ Внимание: При конвертации дат из текста с двузначным годом ("31.12.23") Excel может интерпретировать его как 1923 вместо 2023. Используйте формулу =ДАТА(2000+ПРАВСИМВ(A1;2);... для корректировки.

5. Преобразование таблиц в диаграммы и сводные таблицы

Визуализация данных ускоряет анализ. Чтобы преобразовать таблицу в диаграмму:

  1. Выделите диапазон данных (включая заголовки).
  2. Перейдите на вкладку Вставка → выберите тип диаграммы (например, Гистограмма или Круговая).
  3. Настройте оси, легенду и стиль через Конструктор и Формат.

Для сводных таблиц:

  1. Выделите данные → Вставка → Сводная таблица.
  2. Перетащите поля в области Строки, Столбцы и Значения.
  3. Используйте Группировка для объединения дат или чисел (например, по кварталам).
Как обновить данные в сводной таблице?

Щёлкните по сводной таблице → вкладка АнализОбновить. Для автоматического обновления при изменении исходных данных используйте Параметры сводной таблицы → Данные → Обновлять при открытии файла.

6. Экспорт данных в PDF и другие форматы

Excel позволяет сохранять таблицы в PDF, HTML, TXT и даже XML. Для экспорта в PDF:

  1. Файл → Экспорт → Создать PDF/XPS.
  2. Выберите Оптимизировать для стандартной публикации (для печати) или Минимальный размер (для веба).
  3. Укажите страницы (например, 1-3,5 для выборочного экспорта).

Для HTML:

  • 🖥️ Сохранить как веб-страницу: Файл → Сохранить как → Веб-страница (*.html). Excel создаст папку с вспомогательными файлами.
  • 🔗 Ограничения: Формулы и макросы не сохранятся. Для интерактивных таблиц используйте Excel Online или Google Sheets.

7. Автоматизация преобразований с Power Query

Power Query (вкладка Данные → Получить данные) — инструмент для сложных преобразований без формул. Примеры:

  • 🔄 Объединение таблиц: Домашняя → Объединить запросы (аналог VLOOKUP, но быстрее).
  • 📊 Транспонирование: Выберите столбцы → Преобразовать → Транспонировать.
  • 🧹 Очистка данных: Удаление дубликатов, замена ошибок, фильтрация по условию.

Пример кода для удаления пустых строк:

let

Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],

УдалениеПустых = Table.SelectRows(Источник, each not List.IsEmpty(List.RemoveMatchingItems(Record.FieldValues(_), {"", null})))

in

УдалениеПустых

⚠️ Внимание: После редактирования в Power Query не забудьте нажать Закрыть и загрузить, иначе изменения не применятся.

8. Продвинутые методы: VBA и Office Scripts

Для повторяющихся задач (например, ежемесячная конвертация 100 файлов) используйте макросы. Пример VBA-кода для преобразования всех .xls в .xlsx в папке:

Sub ConvertToXLSX()

Dim folderPath As String, fileName As String

folderPath = "C:\ВашаПапка\" ' Укажите путь

fileName = Dir(folderPath & "*.xls")

Do While fileName <> ""

Workbooks.Open folderPath & fileName

ActiveWorkbook.SaveAs folderPath & Replace(fileName, ".xls", ".xlsx"), FileFormat:=xlOpenXMLWorkbook

ActiveWorkbook.Close

fileName = Dir()

Loop

End Sub

Для Excel Online используйте Office Scripts (вкладка Автоматизация). Пример скрипта для преобразования текста в числа:

function main(workbook: ExcelScript.Workbook) {

let sheet = workbook.getActiveWorksheet();

let range = sheet.getUsedRange();

range.getFormat().setNumberFormat("General");

range.getValues(); // Принудительное обновление форматов

}

FAQ: Частые вопросы о преобразовании в Excel

Можно ли преобразовать XLS в XLSX без потери макросов?

Нет. Формат XLSX не поддерживает макросы — они сохраняются только в .xlsm. При конвертации через Сохранить как макросы будут удалены. Чтобы сохранить их, используйте .xlsm или экспортируйте модули VBA отдельно.

Почему после преобразования CSV в XLSX русские буквы отображаются кракозябрами?

Проблема в кодировке. При импорте CSV выберите кодировку Windows-1251 (для кириллицы) вместо UTF-8. Если данные уже импортированы некорректно, откройте файл в Блокноте, сохраните с правильной кодировкой и импортируйте заново.

Как преобразовать столбец с временем (например, "14:30") в десятичное число (0,6 для расчётов)?

Используйте формулу =A1*24, где A1 — ячейка с временем. Excel хранит время как долю суток (например, 14:30 = 0,604167). Для обратного преобразования (из 0,6 в 14:24) примените формат ячейки Время.

Можно ли автоматически преобразовывать данные при открытии файла?

Да, с помощью макроса Auto_Open или события Workbook_Open. Пример:

Private Sub Workbook_Open()

Sheets("Лист1").Range("A:A").NumberFormat = "General" ' Преобразует текст в числа

End Sub

Сохраните файл как .xlsm и разрешите выполнение макросов при открытии.

Как преобразовать таблицу Excel в базу данных (например, для Access)?

Экспортируйте данные в CSV или подключитесь к Excel напрямую из Access:

  1. В Access выберите Внешние данные → Excel.
  2. Укажите путь к файлу и лист.
  3. Выберите Импортировать данные в новую таблицу.

Для больших таблиц (>100 тыс. строк) предварительно разбейте данные на части.