![Несколько форматов данных в Excel](https://rvso.com/image/1665783/%D0%9D%D0%B5%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE%20%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D0%BE%D0%B2%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85%20%D0%B2%20Excel.png)
Я пробовал сохранить отчет, который я использую, как CSV-файл и скопировать/вставить данные в таблицу Excel. Ничего не решает мою проблему.
Excel преобразует столбец данных даты в формат мм/дд/гггг, но данные хранятся в исходной базе данных и в CSV-файле как дд/мм/гггг. Поэтому половину данных он не распознает, а другая половина неверна.
Например, дата рождения — 10 января 2020 года. В базе данных, из которой я извлекаю данные, эта дата отображается как 10/01/2020. Excel сохраняет ее как скопированную. Однако, учитывая формат мм/дд/гггг, если я помещу вычисление в другой столбец, чтобы использовать «дата», Excel посчитает, что это 1 октября 2020 года.
Такие даты, как 24 января 2020 года, сохраняются как вставленные 24/01/2020, но с их помощью расчет не производится, поскольку, конечно же, месяца 24 не существует. Я проверил отдельные ячейки, чтобы узнать, какой формат используется. 10/01/2020 отображается как англо-американский формат.
Если я изменю его на English Australia....тогда он меняет местами значения dd/mm, так что значение все равно будет неверным. Преобразование в числа не работает, потому что изначально не считывает его как правильный формат даты. Есть ли решение этой проблемы с форматированием, с которой я столкнулся.
Спасибо Натали
решение1
Обратите внимание: Excel использует региональные настройки вашего компьютера для интерпретации CSV-файлов, а также для их отображения в Excel.
Если даты указаны в международном формате дд/мм/гггг, то (при условии, что вы используете Windows 10) найдите региональные настройки на панели задач Windows (не в Excel), затем «дополнительные дата, время и региональные настройки», которые откроются в классической панели управления Windows 7. Перейдите к настройкам даты и измените их на тот же формат, что и в вашем CSV-файле. Запомните ваши предыдущие настройки, так как вы можете захотеть вернуть их обратно после импорта.
Например, вы также можете изменить десятичный разделитель с . на , или наоборот, в зависимости от формата чисел вашего CSV-файла.
В худшем случае, когда несколько форматов несовместимы, вам, возможно, придется просто импортировать данные как текст, а затем преобразовать их в даты самостоятельно с помощью раздражающих текстовых функций, например:
=DATE(RIGHT(A1,4), MID(A1, FIND("/", A1)+1, 2), LEFT(A1,2))
решение2
Вы особенный человек! Почти все с этой проблемой просто выбиты из колеи тем, что они не могут просто открыть CSV и заставить его работать. Они просто не хотят делать это по-другому. Вы не только готовы копировать и вставлять из CSV, вы готовы перенести это в столбец, который вы потрудились отформатировать как текст. Поздравляю вас!
Итак, вы можете ввести его как текст в текстовой колонке. Если вы готовы сделать еще один шаг, это могут быть даты в желаемом вами формате (мм/дд/гггг). Ну, еще два шага.
Сначала измените формат данных столбца. На вкладке формата чисел выберите коллекцию Date, а затем посмотрите под примерами формата в центре вкладки. ПОД примерами в центре есть раскрывающийся список с надписью "Locale (location):"... Прокрутите его до "English (Australia)" и выберите его.
Приведенные выше примеры формата даты изменятся, и вы сможете выбрать нужную вам версию.
Конечно, текстовое представление не изменится. Это реальный шаг. Вам нужно его принудительно («принудить»). Есть МНОГО способов сделать это, но ПРАВИЛЬНЫЙ — перейти в меню ленты, на вкладку «Данные». Найдите Text to Columns
и щелкните по ней.
Ширина с разделителями или фиксированная ширина на самом деле не имеет значения, поскольку, если вы выберете путь с разделителями, вы выберете «без разделителя», убедившись, что ничего не отмечено, и это приведет вас к тому же, что и при выборе фиксированной ширины: Шаг 3 из 3, на котором вы можете задать тип формата, который будет у вашего столбца/столбцов после преобразования.
Выберите переключатель «Дата» и в раскрывающемся списке справа выберите DMY
. Вы выбираете, что вы хотите вывести, а НЕ то, в какой форме находится ввод.
Нажмите «Готово», и работа выполнена.
На будущее, возможно, вам захочется взглянуть на Power Query. Поскольку у вас есть хороший CSV для данных, PQ будет самым простым в использовании. Никаких формул или программирования, просто извлекает данные из файла, удаляет все ненужные столбцы, затем преобразует столбец дат в... даты и в указанном вами формате.
Сохраните все это и всякий раз, когда у вас есть новые данные для импорта, обновите его таблицу в вашей электронной таблице или даже используйте вспомогательную электронную таблицу, чтобы сделать это и импортировать результаты каждый раз в производственный лист. Если у вас есть вспомогательная страница в производственной электронной таблице (пойдите этим путем, и она сама создаст ее в первый раз, когда вы «Загрузите» ее результаты), то скопируйте и вставьте на основной лист или используйте формулы, чтобы скопировать информацию.
Можно настроить кнопку с макросом для обновления запроса или даже больше, если у вас есть возможность/разрешено использовать макросы.
Если ничего другого, то "вспомогательная электронная таблица", в которую вы загружаете преобразованные даты, а затем копируете и вставляете, когда они вам нужны, могла бы быть хороша. Но и вышеприведенный метод тоже был бы довольно прост каждый раз, так что... может быть, шесть из одного, полдюжины из другого.