【问题标题】:MS Excel 2010 how to import custom formatted data as numbers or apply custom formatting during importMS Excel 2010 如何将自定义格式的数据导入为数字或在导入期间应用自定义格式
【发布时间】:2017-03-27 04:29:48
【问题描述】:

我在 csv 中有数据,其中千位千位由“M”和“K”字符指定。

例子:

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

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

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

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

【问题讨论】:

    标签: excel format data-import


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      我会向 CSV 文件发出一条 SQL 语句(请参阅 herehere):

      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 工作表中。

      【讨论】:

      • 感谢 Zev,我不知道实际上可以使用 ActiveX 数据对象将工作簿视为数据库。你为我打开了新的视野!不过我会使用 Knox 的建议——现在对我来说已经足够了。
      猜你喜欢
      • 1970-01-01
      • 2015-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-06
      相关资源
      最近更新 更多