Зміст
CSV не відкривається в Excel? У посібнику розглядаються типові проблеми та надаються найбільш ефективні шляхи їх вирішення.
Формат CSV широко використовується для імпорту/експорту даних між різними програмами електронних таблиць. Назва CSV (comma separated values) передбачає використання коми для розділення полів даних. Але це в теорії. На практиці багато так званих CSV-файлів розділяють дані за допомогою інших символів, таких як крапка з комою або табуляція. Деякі реалізації укладають поля даних в одинарні або подвійні лапки, при цьомуінші вимагають позначки порядку байт Unicode (BOM), наприклад UTF-8, для правильної інтерпретації Unicode. Відсутність стандарту породжує різні проблеми при перетворенні CSV в Excel.
CSV файл відкривається в Excel в одну колонку
Симптоми При відкритті csv-файлу в Excel всі дані відображаються в одному стовпчику.
Причина Для розділення даних у стовпцях Excel використовує роздільник списку, встановлений у регіональних налаштуваннях Windows. Це може бути кома (у Північній Америці та деяких інших країнах) або крапка з комою (у європейських країнах). Якщо роздільник, що використовується в конкретному файлі .csv, відрізняється від роздільника за замовчуванням, цей файл відкривається в одному стовпці.
Рішення Існує кілька можливих рішень для цього випадку, включаючи макроси VBA або глобальну зміну налаштувань Windows. Ми покажемо, як швидко виправити проблему, не змінюючи стандартний роздільник списків на вашому комп'ютері, щоб жоден з ваших додатків не постраждав.
Зміна роздільника в CSV файлі
Для того, щоб Excel міг прочитати CSV з іншим роздільником, ви можете визначити роздільник безпосередньо у файлі. Для цього відкрийте файл у будь-якому текстовому редакторі (Блокнот підійде) та додайте наведений нижче текст у першому рядку. Зверніть увагу, що він повинен бути окремим рядком перед будь-якими іншими даними:
- Відокремлювати комою: sep=,
- Відокремлювати крапкою з комою: sep=;
Таким же чином можна задати будь-який інший користувацький роздільник - просто введіть його після знаку рівності.
Після визначення відповідного роздільника ви можете відкрити файл звичайним способом, з самого Excel або з Провідника Windows.
Вказувати роздільник при імпорті CSV-файлу в Excel
Замість того, щоб відкривати csv-файл в Excel, імпортуйте його за допомогою Майстра імпорту тексту (у всіх версіях) або Power Query (в Excel 365 - 2016).
Майстер імпорту тексту ( Дані вкладка> З тексту ) пропонує кілька варіантів розмежувачів на кроці 2. Як правило, ви самі обираєте:
- Кома для файлів значень через кому
- Вкладка для текстових файлів
- Крапка з комою для файлів значень через крапку з комою
Якщо ви не впевнені, який роздільник містить ваші дані, спробуйте різні роздільники і подивіться, який з них працює правильно в попередньому перегляді даних.
При створенні з'єднання Power Query ви можете вибрати роздільник у діалоговому вікні Попередній перегляд:
Детальну покрокову інструкцію, будь ласка, дивіться у прикладах, наведених вище.
Розділити клітинки за допомогою функції "Текст у стовпці
Якщо ваші дані вже перенесені в Excel, ви можете розділити їх на різні стовпці за допомогою кнопки Текст до колонок По суті, він працює так само, як і майстер імпорту тексту: ви вибираєте роздільник і Попередній перегляд даних відображає зміни на льоту:
Для більш детальної інформації див. статтю Як розділити клітинки в Excel.
Як зберегти ведучі нулі в Excel CSV
Симптоми. Деякі значення у Вашому csv-файлі містять початкові нулі. При відкритті файлу в Excel попередні нулі втрачаються.
Причина За замовчуванням Microsoft Excel конвертує csv файли у формат Генеральний формат, який видаляє початкові нулі.
Рішення Замість того, щоб відкривати, імпортуйте CSV-файл в Excel і виберіть опцію Текст формат для проблемних колонок.
Використання Майстра імпорту тексту
Для початку Майстер імпорту тексту автоматично, змініть розширення файлу з .csv на .txt, а потім відкрийте текстовий файл з Excel. Або увімкніть функцію "З тексту (застарілий)" та запустіть імпорт CSV в Excel.
На кроці 3 майстра виберіть стовпець, що містить значення з початковими нулями, і змініть його формат на Текст Це призведе до імпорту значень у вигляді текстових рядків зі збереженням усіх початкових нулів на місці.
Використання Power Query
Якщо ви віддаєте перевагу імпорту csv-файлу в Excel шляхом підключення до нього, є два способи зберегти ведучі нулі.
Спосіб 1: Імпортувати всі дані в текстовому форматі
У діалоговому вікні попереднього перегляду, в розділі Визначення типу даних обирайте Не визначати типи даних Вміст Вашого csv-файлу буде завантажено в Excel у вигляді тексту, при цьому всі початкові нулі будуть збережені.
Примітка. Цей метод працює, якщо ваш файл містить тільки текст Якщо є різні типи значень, то використовуйте метод 2 для визначення відповідного формату для кожного стовпчика окремо.
Спосіб 2: Задати формат для кожної колонки
У випадку, коли Ваш csv файл містить різні типи даних, такі як текст, числа, валюти, дати і час, Ви можете явно вказати, який формат повинен використовуватися для кожного конкретного стовпця.
- Під попереднім переглядом даних натисніть Перетворення даних .
- В редакторі Power Query виберіть стовпець, в якому потрібно зберегти попередні нулі, і натисніть Тип даних > Текст .
- Закрити & Завантажити - це призведе до завантаження результатів на новий аркуш поточної книги.
- Закрити & Завантажити До... - це дозволить вам вирішити, куди завантажувати результати.
Порада. Ці методи також можуть запобігти іншим маніпуляціям з даними, які Excel намагається виконати автоматично. Наприклад, якщо імпортовані дані починаються зі знака "=", Excel спробує їх обчислити. Застосувавши метод Текст ви вказуєте, що значення є рядками, а не формулами.
Як виправити проблеми з форматом дати CSV в Excel
Симптоми. Після конвертації CSV в Excel дати відформатовані неправильно, дні та місяці поміняні місцями, деякі дати замінені на текст, а деякі текстові значення автоматично відформатовані як дати.
Причина У Вашому csv-файлі дати записані у форматі, відмінному від формату дат за замовчуванням, встановленого у Вашій операційній системі, через що Excel не може коректно інтерпретувати дати.
Рішення Залежно від того, з якою саме проблемою ви зіткнулися, спробуйте одне з наступних рішень.
Переплутані дні і місяці
Якщо формати дат у регіональних налаштуваннях Windows та csv-файлі відрізняються, Excel не може визначити це. мм/дд/рр дати, які він шукає, зберігаються в дд/мм/рр В результаті одиниці виміру дня і місяця міняються місцями: Jan-3 стає Мар-1 , Січень-10 стає Жовтень-1 Більше того, дати після Січень-12 перетворюються в текстові рядки, оскільки не існує 13-го, 14-го і т.д. місяців.
Для коректного імпорту дат запустіть Майстер імпорту тексту і виберіть відповідний Дата у форматі на етапі 3:
Деякі значення перераховані в дати
Microsoft Excel розроблений таким чином, щоб полегшити введення різного роду значень. Тому, якщо Excel вважає, що дане значення являє собою дату, воно автоматично форматується як дата. Наприклад, текстовий рядок квітень 23 дуже схожий на 23 квітня і 11/3 нагадує 3 листопада тому обидва значення переводяться в дати.
Щоб Excel не змінював текстові значення на дати, скористайтеся вже знайомим підходом: конвертуйте CSV в Excel шляхом імпорту. На кроці 3 у вікні Майстер імпорту тексту виберіть проблемний стовпець і змініть його формат на Текст .
Неправильно відформатовані дати
Коли файл csv відкривається в Excel, дати зазвичай відображаються у форматі за замовчуванням. Наприклад, у вашому вихідному файлі може бути 7-травня-21 або 05/07/21 в той час як в Excel вона виглядає як 5/7/2021 .
Для відображення дат у потрібному форматі скористайтеся кнопками Формат комірок особливість:
- Виберіть колонку дат.
- Натисніть Ctrl + 1, щоб відкрити вікно Формат комірок діалогове вікно.
- Про це йдеться на Кількість вкладка, виберіть Дата під Категорія .
- Під Тип , виберіть потрібне форматування.
- Натисни ОК.
Якщо жоден з попередньо встановлених форматів вам не підходить, ви можете створити свій власний, як описано в розділі Як створити власний формат дати в Excel.
Заборонити Excel перетворювати числа в наукові позначення
Симптоми. Після перетворення CSV в Excel довгі числа форматуються в наукові позначення, наприклад, 1234578900 відображається як 1.23E+09.
Причина У Microsoft Excel точність чисел обмежена 15 знаками. Якщо числа у вашому csv-файлі перевищують цю межу, Excel автоматично перетворює їх у наукову систему числення, щоб відповідати цій межі. Якщо число містить більше 15 значущих цифр, всі "зайві" цифри в кінці числа замінюються на нулі.
Рішення Імпортуйте довгі числа як текст або змініть формат числа безпосередньо в Excel.
Імпорт довгих чисел у вигляді тексту
Щоб точно перенести великі числа з CSV в Excel, виконайте команду Майстер імпорту тексту і встановіть формат цільового стовпця (стовпців) на Текст .
Це єдине реальне рішення, щоб точно імпортувати числові рядки без втрати даних, тобто без заміни 16-ї та наступних цифр на 0 або видалення початкових нулів. Це чудово працює для таких записів, як ідентифікатори товарів, номери рахунків, штрих-коди тощо.
Однак, якщо ваші значення є числами, а не рядками, це не найкращий метод, оскільки ви не зможете виконати жодних математичних обчислень над отриманими текстовими значеннями.
Цей метод також допоможе вам запобігти іншому небажаному автоматичному форматуванню даних при перетворенні файлу CSV.
Зміна формату чисел в Excel
Якщо ваші дані вже є в Excel, ви можете змінити формат з Генеральний ні з тим, ні з іншим. Текст або Кількість як показано нижче:
Примітка: цей метод не відновлює видалені попередні нулі або цифри після 15-ї позиції, які були замінені на нулі.
Для отримання додаткової інформації див. розділ Як відформатувати клітинки в Excel.
Зробити колонку ширшою
У найпростішому випадку, коли число містить менше 15 цифр, достатньо зробити стовпчик трохи ширшим, щоб числа відображалися нормально.
Більш детальну інформацію можна знайти в розділі Як змінити розмір і автопідбір стовпців в Excel.
Ось так можна виправити найпоширеніші проблеми, які можуть виникнути при конвертації CSV в Excel. Дякую за увагу і до зустрічі на наступному тижні!