我经常需要快速将数字数据插入/导入 Excel。我个人对使用“,”或“。”作为小数分隔符没有偏好。但是,我导入的数据有时使用一种分隔符,有时使用另一种。
问题是,如果插入的数据带有错误的分隔符,Excel 会将其解释为字符串。这反过来意味着任何适用于数字的运算符都无法适用于这些数据。
我考虑的选项是:
- 在将数据导入/插入 Excel 之前,根据需要手动将输入数据中的“,”替换为“。”。在处理文本时,这也是一种容易出错的方法(确保仅交换分隔符),感觉像是一种挑剔的黑客行为。
- 每次交换 Excel 使用的分隔符。当我同时打开多个工作表时,这可能会造成问题。
我觉得应该可以告诉 Excel,对于给定的一组单元格,字符串应该以给定的格式解析为数字。这可能吗?或者我上面提到的两种替代方案是唯一的选择?
答案1
- 文本分列
- 按输入数据的小数指示符分隔
- 确定“初始”小数位右边的字符串长度
- 使用指数运算生成十进制格式的数字
- 生成小数和“初始左侧”小数字符的总和,得出最终数字
例如,输入值1,22
或1.22
将被拆分(通过“文本到列”)为1
和 22
:
蜂窝数据:
A B C D E
1 22 2 0.01 1.22
所用公式:
1 22 =LEN(B1) =10^-C1 =A1+B1*D1
答案2
Excel 有一个函数,NUMBERVALUE
它的全部目的就是实现这个目的。
当导入具有不同分隔符集的数据时,请将其导入到工作表中,并将该函数应用于具有此类数字的所有列。将其复制并粘贴到导入此类数据的正常位置。
显然,它无法弄清楚如何将相同的分隔符应用于两个目的,因此会导致错误。但只要分隔符不同,它就可以正常工作。
=NUMBERVALUE(A2, ",", ".")
是如何使用它的一个例子。也可以将分隔符放在一对单元格中,然后指定单元格。这可能是使用各种分隔符集的有用方法。