Работа с Excel часто требует преобразования данных из одного формата в другой — будь то изменение расширения файла, трансформация текста в числа или конвертация таблиц в диаграммы. Без этих навыков даже простые задачи (например, импорт данных из CSV в XLSX или разделение ячеек с ФИО на отдельные столбцы) могут занять часы ручной правки. В этой статье разберём 10 актуальных способов преобразования данных в Excel 2019–2026, включая скрытые функции и автоматизацию через Power Query.
Важно понимать: не все преобразования одинаково полезны. Например, конвертация .xls в .xlsx занимает 2 клика, а вот преобразование текста в даты с учётом региональных настроек может потребовать формул или даже VBA-скриптов. Мы сосредоточимся на методах, которые экономят время и уменьшают риск ошибок — от базовых (для новичков) до продвинутых (для аналитиков).
1. Преобразование файлов: из CSV в XLSX и обратно
Формат .csv (Comma-Separated Values) — стандарт для обмена данными между программами, но он не поддерживает формулы, несколько листов или форматирование. Чтобы преобразовать CSV в XLSX:
- Откройте файл в Excel:
Файл → Открыть → Обзор(выберите.csv). - В Мастере импорта текста укажите разделитель (запятая, точка с запятой) и кодировку (обычно
UTF-8илиWindows-1251). - Сохраните как
Книга Excel (*.xlsx)черезФайл → Сохранить как.
⚠️ Внимание: При обратном преобразовании (XLSX → CSV) Excel предупредит о потере данных. Формулы, изображения и несколько листов не сохранятся. Если нужно экспортировать только один лист, сначала скопируйте его в новый файл.
Для автоматизации используйте 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), что блокирует вычисления. Чтобы исправить:
| Проблема | Решение | Пример |
|---|---|---|
| Число как текст (зелёный треугольник в углу ячейки) | Выделите ячейки → жёлтый значок ! → Преобразовать в число | '123 → 123 |
| Дата в формате текста | Формула =ДАТАЗНАЧ(A1) или Текст по столбцам с форматом ДМГ | "01.01.2023" → 44927 (дата) |
| Число с разделителями (1 000 → 1000) | Замените Пробел на Ничего через Ctrl+H | 1 000 → 1000 |
Для обратного преобразования (числа в текст) используйте =ТЕКСТ(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. Преобразование таблиц в диаграммы и сводные таблицы
Визуализация данных ускоряет анализ. Чтобы преобразовать таблицу в диаграмму:
- Выделите диапазон данных (включая заголовки).
- Перейдите на вкладку
Вставка→ выберите тип диаграммы (например, Гистограмма или Круговая). - Настройте оси, легенду и стиль через
КонструкториФормат.
Для сводных таблиц:
- Выделите данные →
Вставка → Сводная таблица. - Перетащите поля в области
Строки,СтолбцыиЗначения. - Используйте
Группировкадля объединения дат или чисел (например, по кварталам).
Как обновить данные в сводной таблице?
Щёлкните по сводной таблице → вкладка Анализ → Обновить. Для автоматического обновления при изменении исходных данных используйте Параметры сводной таблицы → Данные → Обновлять при открытии файла.
6. Экспорт данных в PDF и другие форматы
Excel позволяет сохранять таблицы в PDF, HTML, TXT и даже XML. Для экспорта в PDF:
Файл → Экспорт → Создать PDF/XPS.- Выберите
Оптимизировать для стандартной публикации(для печати) илиМинимальный размер(для веба). - Укажите страницы (например,
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:
- В Access выберите
Внешние данные → Excel. - Укажите путь к файлу и лист.
- Выберите
Импортировать данные в новую таблицу.
Для больших таблиц (>100 тыс. строк) предварительно разбейте данные на части.