我将一些包含产品和价格的表格从网页复制到了 Excel(2013)工作表。
源表和我自己的 Excel 都配置了法国数字设置:格式为一千欧元二十美分1 000,20 €
问题:我无法让价格列(包含从3 000,00
到的值5 000,00
,没有货币单位)被 Excel 识别为数字。
我尝试了这里提到的所有解决方案(1),但均未成功: 如何在 Excel 中将文本转换为数字...
Number
(1)除非编写 VBA 脚本并重新输入值。基于“单击错误消息”的解决方案不适用,因为即使在单元格上设置类型后也没有错误消息。
这里有解决办法吗?
答案1
我最终偶然找到了一个有效的解决方案:将 HTML 粘贴到文本编辑器中,然后将原始文本复制粘贴到 Excel 中——>所有数字都被自动识别。
使用 ExcelPaste Special
函数并将 HTML 粘贴为文本也有效。
答案2
我一直使用 pastespecial>multiply 并粘贴 1 对我来说工作正常。
也许它无法正确识别“,” 。在列中搜索替换逗号和空格,看看是否有帮助。如果没有帮助,请再次尝试乘以 1。
答案3
您可以(并且可以在 2015 年)使用该功能NUMBERVALUE
。
它需要三个参数:
- 要转换的数据所在的单元格/范围/等等。
- 用于小数分隔的分隔符。
- 用于对整数部分进行分组的分隔符。
1 和 2 没问题。对于分组分隔符,当然,您可以了解“空格”字符是什么,但实际上,您只需编辑数据单元格并将字符复制到剪贴板即可。然后将其粘贴到公式中。没有混乱,没有麻烦。
一个警告:它只会对 2 和 3 使用一个字符。因此,如果该空格超过一个字符,则必须纠正它。Find and Replace
将复制的空格替换为一些简单字符(该字符不是所显示的十进制字符),然后在函数中使用该字符。
设置公式对数据范围执行此操作后,将列复制到剪贴板并将数据粘贴到源数据的顶部。
您可以添加一个“辅助”列来执行此操作,然后在粘贴源数据后删除该列,或者只插入一张工作表并在那里执行工作,然后删除它或保留以备将来使用。
关键在于,这NUMBERVALUE
是解决问题的简单方法,而且不依赖于用户的知识水平或工作意愿。例如,如果添加永久表格来进行转换,您的后续公式可以引用 IT 而不是实际数据。
此外,与直接进行转换的宏相比,编写一个宏非常容易,只需在这样的表单中查找要复制的内容,然后将值粘贴到另一个现有位置即可。这样,您只需放置一个按钮,让用户在导入数据后按下该按钮即可触发宏。如果您是唯一的用户,您可能会喜欢这个。