【问题标题】:Convert text to number format in Excel在 Excel 中将文本转换为数字格式
【发布时间】: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 text numbers format


    【解决方案1】:

    对于(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))
    

    来自微软网站:

    • 文本可以是任何可识别的常数、日期或时间格式 通过 Microsoft Excel。如果文本不是其中一种格式,则 VALUE 返回 #价值!错误值。
    • 通常不需要在公式中使用 VALUE 函数,因为 Excel 根据需要自动将文本转换为数字。提供了这个功能 为了与其他电子表格程序兼容。

    更多信息可以在微软的网站上找到:Value Function

    【讨论】:

    • =VALUE(IF(RIGHT(A2,1)="-","-"&SUBSTITUTE(A2,"-",""))) 只取负值而不取正值价值。如何应用可以转换正值和负值的公式?我有数百行要管理。
    • 好的,我找到了。我可以用 =VALUE(IF(RIGHT(A2,1)="-","-"&SUBSTITUTE(A21,"-",""),A2)) 或 =IF(RIGHT(A2,1)=" -",VALUE("-"&LEFT(A2,LEN(A2)-1)),VALUE(A2))。谢谢。
    【解决方案2】:

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

    如果该列最初的格式为 Text,请在应用 Text to Columns 命令之前将其更改为 General。

    【讨论】:

      【解决方案3】:

      另一个选项:选择列。复制。使用“乘”选项选择性粘贴。

      然后,如上,您可以在下拉列表中选择货币或数字,小数位等。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-28
        • 1970-01-01
        • 2016-06-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多