【发布时间】:2011-04-12 15:19:17
【问题描述】:
如何将数字的文本表示形式转换为 Excel 数字,尤其是负值?例如,字符串“9,669.34”(不带引号)应该变成数字9,669.34,字符串“2,553.57-”(同样,不带引号)应该变成数字(2,553.57)。
当我使用公式=SUBSTITUTE(A1,CHAR(160),"")+0 时,它运行良好,但仅适用于正值。我收到了所有负值的结果#VALUE!。
【问题讨论】:
如何将数字的文本表示形式转换为 Excel 数字,尤其是负值?例如,字符串“9,669.34”(不带引号)应该变成数字9,669.34,字符串“2,553.57-”(同样,不带引号)应该变成数字(2,553.57)。
当我使用公式=SUBSTITUTE(A1,CHAR(160),"")+0 时,它运行良好,但仅适用于正值。我收到了所有负值的结果#VALUE!。
【问题讨论】:
对于(2,553.57),可以使用VALUE,如VALUE("(2,553.57)")。
当 2,553.57- 为字符串时,Excel 似乎无法将其识别为有效数字,因此假设您在 A1 中的值为“2,553.57-”,您将需要做更多的工作:
=VALUE(IF(RIGHT(A2,1)="-","-"&SUBSTITUTE(A2,"-","")))
编辑
=VALUE(IF(RIGHT(A2,1)="-","-"&SUBSTITUTE(A2,"-",""),A2))
来自微软网站:
更多信息可以在微软的网站上找到:Value Function
【讨论】:
如果您有一列包含这些基于文本的数字,请选择该列并使用数据 ► 数据工具 ► 文本到列 ► 固定宽度 ► 完成。尾随的负号将用于确定结果数字的符号,空格(前导和/或尾随)将被删除,您将得到可以应用货币或数字格式的原始数字。
如果该列最初的格式为 Text,请在应用 Text to Columns 命令之前将其更改为 General。
【讨论】:
另一个选项:选择列。复制。使用“乘”选项选择性粘贴。
然后,如上,您可以在下拉列表中选择货币或数字,小数位等。
【讨论】: