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.

Другие вопросы по тегам