MS Excel 2010, как импортировать пользовательские отформатированные данные в виде чисел или применять пользовательское форматирование во время импорта
У меня есть данные в csv, где тысячи, тысячные, указаны символами "M" или "K".
Пример:
abc;1.4M
def;1.45M
ghi;850K
Я хочу импортировать их, теперь как я могу заставить Excel обрабатывать значения во втором столбце как числа (я хочу нарисовать Спарклайн на их основе)?
Я попытался применить пользовательский формат ко второму столбцу, а затем импортировать данные без успеха.
Я могу получить входные данные либо с "M", либо с "K" (т. Е. В столбце 2 не будут смешаны "M" и "K". Третья строка будет тогда: ghi;0,85M), поэтому решение, которое будет обрабатывать миллионы и тысячи по отдельности также будут очень полезны.
2 ответа
Если это одноразовая вещь, может быть проще импортировать ее в виде двух столбцов текста. Затем выберите столбец с цифрами и буквами и выполните поиск и замену. Заменить М на Е06. Сделай замену всем. Заменить все K на E03.
Это использует научную нотацию, где E указывает Excel умножить число на 10 до степени цифр после E. Таким образом, E03 действительно умножает число на 1000.
Цифры будут отображаться в научных записях, но легко переформатировать столбец в бухгалтерский учет или в любой другой формат.
Я бы выпустил оператор SQL для файла CSV (см. Здесь и здесь):
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.