2016-11-13 2 views
1

У меня есть данные в csv, где миллионы, тысячи, указаны символами «M», resp «K».MS Excel 2010 как импортировать пользовательские форматированные данные в виде чисел или применять произвольное форматирование во время импорта

Пример:

abc;1.4M 
def;1.45M 
ghi;850K 

Я хочу, чтобы импортировать их, теперь, как я могу заставить Excel относиться к значению во втором столбце как числа (я хочу нарисовать спарклайн, основываясь на них)?

Я попытался применить пользовательский формат во втором столбце, а затем импортировать данные без успеха.

Я могу управлять входными данными либо с помощью «M», либо «K» (т.е. столбец 2 не будет иметь смешанные «M» и «K». Третья строка будет тогда: ghi; 0.85M), поэтому решение, которое будет обрабатывать миллионы и тысячи отдельно, также будет очень полезно.

ответ

1

Если это одноразовая вещь, может быть проще импортировать ее в виде двух столбцов текста. Затем выберите столбец с числами и буквами в нем и выполните поиск и замену. Замените M на E06. Заменить все. Замените все K на E03.

Это имеет преимущество научной нотации, где Е говорит Excel многократного числа от 10 до мощности цифр, следующих за Е. Таким образом, E03 действительно умножение числа на 1000.

Цифры будет отображаться в научной нотации, но легко переформатировать столбец для учета или любого другого формата, который вам нравится.

1

Я хотел бы выпустить заявление SQL в файл CSV (см here и here):

SELECT Field1, CDbl(Field2) * IIF(
     RightChar="M", 
     1024*1024, 
     IIF(
      RightChar="K", 
      1024, 
      1 
     ) 
    ) AS FinalValue 
FROM (
    SELECT Field1, Field2, RIGHT(Field2, 1) AS RightChar 
    FROM [Sheet1$] 
) AS t1 

и вы можете использовать CopyFromRecordset Excel, чтобы вставить результаты в новый лист Excel.

+0

Спасибо Зев, я не знал, что на самом деле можно рассматривать книгу как БД, используя объекты ActiveX Data. Вы открыли для меня новые горизонты! Однако я буду использовать предложение Нокса - сейчас этого достаточно для меня. – RobertG

Смежные вопросы