Данные реформата из файла CSV

У меня есть данные из файла csv. Один столбец содержит текст «0.2.11», который мне нужно переформатировать на «00.02.0011», ведущие нули и длина разделенных точками деталей имеют решающее значение. Это не даты, просто случайные числа. Как я могу переформатировать их?

Благодарю.

Я знаю, что это безумно длинная формула, но я считаю, что она сделает то, что вы ищете:

 =IF(LEN(IF(ISERR(FIND(".",A1)),A1,LEFT(A1,FIND(".",A1)-1)))=2,IF(ISERR(FIND(".",A1)),A1,LEFT(A1,FIND(".",A1)-1)),"0"&IF(ISERR(FIND(".",A1)),A1,LEFT(A1,FIND(".",A1)-1)))&"."&IF(RIGHT(MID(A1,FIND(".",A1)+1,2))<>".",MID(A1,FIND(".",A1)+1,2),"0"&LEFT(MID(A1,FIND(".",A1)+1,2),1))&"."&IF(LEN(RIGHT(A1,LEN(A1)-FIND("*",SUBSTITUTE(A1,".","*",LEN(A1)-LEN(SUBSTITUTE(A1,".",""))))))=4,RIGHT(A1,LEN(A1)-FIND("*",SUBSTITUTE(A1,".","*",LEN(A1)-LEN(SUBSTITUTE(A1,".",""))))),IF(LEN(RIGHT(A1,LEN(A1)-FIND("*",SUBSTITUTE(A1,".","*",LEN(A1)-LEN(SUBSTITUTE(A1,".",""))))))=3,"0"&RIGHT(A1,LEN(A1)-FIND("*",SUBSTITUTE(A1,".","*",LEN(A1)-LEN(SUBSTITUTE(A1,".",""))))),IF(LEN(RIGHT(A1,LEN(A1)-FIND("*",SUBSTITUTE(A1,".","*",LEN(A1)-LEN(SUBSTITUTE(A1,".",""))))))=2,"00"&RIGHT(A1,LEN(A1)-FIND("*",SUBSTITUTE(A1,".","*",LEN(A1)-LEN(SUBSTITUTE(A1,".",""))))),"000"&RIGHT(A1,LEN(A1)-FIND("*",SUBSTITUTE(A1,".","*",LEN(A1)-LEN(SUBSTITUTE(A1,".","")))))))) 

Вероятно, достаточно долго, что вам нужно будет сохранить это в одном из новых форматов Excel, таких как .xlsx или .xlsm для его сохранения. Если у вас есть проблемы с этим, дайте мне знать, у меня также есть формула, разбитая на несколько ячеек (или шагов), если вам это нужно.

Существует более короткая (но все же уродливая) формула Excel с использованием функции TEXT для форматирования:

 =TEXT(MID(A1,1,FIND(".",A1)-1),"00") &"."& TEXT(MID(A1,FIND(".",A1)+1,FIND(".",A1,FIND(".",A1)+1)-FIND(".",A1)-1),"00") &"."& TEXT(RIGHT(A1,LEN(A1)-FIND(".",A1,FIND(".",A1)+1)),"0000") 

Я хотел бы указать, что существуют другие методы решения одной и той же проблемы. Если у вас много больших файлов csv, вы можете рассмотреть возможность предварительной обработки перед импортом в Excel. Например, выполнение одной и той же работы в awk тривиально:

 BEGIN { while(getline < "e.csv") { split($1,a,"."); printf("%02d.%02d.%04d\n",a[1],a[2],a[3]); } } 

Gawk хорошо работает с Windows. После установки вы можете запустить его в командной строке Windows или PowerShell как .\awk -f x.awk где x.awk – это код выше в текстовом файле.

  • Как скопировать несколько строк и один столбец из одного CSV-файла в другой CSV-Excel?
  • Python Преобразование Excel в CSV
  • Преобразование показателей в CSV с использованием excel и C ++
  • Laravel Создайте CSV, поддерживающий Microsoft Office Excel
  • Matlab: Хранение больших номеров
  • Преобразование больших файлов CSV в JSON
  • Как записать данные в файл CSV с помощью python?
  • как создать загрузку в качестве опции exces для views.py в django
  • Ошибка времени выполнения «5» при импорте CSV (Excel 2011, Mac)
  • Условное форматирование для частичных дубликатов в Pandas и Excel
  • Сохранение в формате ISO / IEC 8859 csv в Excel или VBA
  • Interesting Posts

    VBA – Копировать значение, если ячейка СОДЕРЖИТ определенное значение, а не равна или не равна

    Обработка форм Excel

    Как получить определенную строку по рабочему листу и строке indexex в файле excel

    Ошибка переполнения в Excel VBA с двойным типом

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

    Ссылка на ячейки в Power Query (Excel)

    Фильтровать рабочий лист 2 данные на основе листа 1 в той же книге

    Вложение в подписке SSRS отличается от отчета при выполнении вручную

    Как эффективно добавить запятую в конец списка?

    Единичный выбор VBA на полевом фильтре Pivot Table

    Скремблирование нескольких тегов на одной странице с помощью Excel VBA

    Заполнение ячейки с именем файла на основе выдержки пути в предыдущей ячейке

    Скопировать и вставить строку данных в Excel 2003 на другой лист по электронной почте

    Excle VBA – неисправность «Экранное восстановление = истина»: экран не обновляется (например, для изменения вида рабочей таблицы)

    Импорт файла Excel в DataGridView

    Давайте будем гением компьютера.