在Excel中将文本转换为数字格式

如何将数字的文本表示转换为Excel数字,特别是负值? 例如,string“9,669.34”(不带引号)应成为数字9,669.34 ,而string“2,553.57-”(不含引号)应成为数字(2,553.57)

当我使用公式=SUBSTITUTE(A1,CHAR(160),"")+0 ,它运行良好,但仅适用于正值。 我收到了结果#VALUE! 对于所有的负面价值。

对于(2,553.57),您可以使用VALUE ,例如VALUE("(2,553.57)")

Excel似乎并不认可2,553.57-作为一个string的有效数字,所以假设你在A1中有一个“2,553.57-”的值,你将不得不做更多的工作:

= VALUE(IF(RIGHT(A2,1)= “ – ”, “ – ” &替代(A2, “ – ”, “”)))

编辑

 =VALUE(IF(RIGHT(A2,1)="-","-"&SUBSTITUTE(A2,"-",""),A2)) 

从微软网站:

  • 文本可以是由Microsoft Excel识别的任何常数,date或时间格式。 如果文本不是这些格式之一,那么VALUE会返回#VALUE! 错误值。
  • 您通常不需要在公式中使用VALUE函数,因为Excel会根据需要自动将文本转换为数字。 提供此function是为了与其他电子表格程序兼容。

更多的信息可以在微软的网站find: Value Function

如果您有一列这些基于文本的数字,请select该列,然后使用数据►数据工具►文本到列►固定宽度►完成。 尾部负号将用于确定结果数字的符号,空格(前导和/或尾部)将被删除,您将留下原始数字,您可以使用货币或数字格式。

如果列最初被格式化为文本 ,则在应用“ 文本到列”命令之前将其更改为常规