MS Excel 2010 如何将自定义格式的数据导入为数字或在导入过程中应用自定义格式

MS Excel 2010 how to import custom formatted data as numbers or apply custom formatting during import

我在 csv 中有数据,其中 Milions、thousands 由 "M"、resp "K" 个字符指定。

示例:

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

我想导入它们,现在如何强制 Excel 将第二列中的值视为数字(我想根据这些值绘制迷你图)?

我尝试在第二列应用自定义格式,然后导入数据但没有成功。

我可以设法使用 "M" 或 "K" 输入数据(即第 2 列不会混合 "M" 和 "K"。然后是第 3 行: ghi;0.85M), 因此将数百万和数千分开处理的解决方案也将非常有帮助。

如果这是一次性的事情,将其导入为两列文本可能会更容易。然后 select 包含数字和字母的列,并执行查找和替换。用 E06 替换 M。全部替换。将所有 K 替换为 E03。

这利用了科学记数法,其中 E 告诉 Excel 将数字乘以 10 的 E 之后数字的幂。所以 E03 实际上是将数字乘以 1000。

数字将以科学计数法显示,但很容易将列的格式重新设置为会计或您喜欢的任何格式。

我将向 CSV 文件发出 SQL 语句(参见 and 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

您可以使用 Excel 的 CopyFromRecordset 将结果粘贴到新的 Excel 工作表中。