【问题标题】:Convert a string with a carat to a number (and evaluate)将带有克拉的字符串转换为数字(并评估)
【发布时间】:2013-05-09 16:56:33
【问题描述】:

我有一列导入的数字,格式为123.4 这里的小数实际上应该表示“权力”,即^

我希望它作为评估值显示在另一列中。其中123.4 将显示为228886641

我使用SUBSTITUTE 命令将小数点替换为^,得到123^4,看起来不错但不是数字。如果我在SUBSTITUTE(文本字符串123^4)的输出上使用VALUE 命令,尽管我得到#VALUE! 错误。

我如何从123.4228886641

【问题讨论】:

    标签: string excel excel-formula worksheet-function


    【解决方案1】:

    使用=INT(A1)^MID(A1,SEARCH(".",A1)+1,1),否则在您的示例中,您可能会冒 0.4 或 40 的风险。

    【讨论】:

    • 我已经测试了您的第一个响应并且它有效,增强功能正确的问题是什么?
    • 大声笑,我只是想弄清楚为什么它对其他人不起作用
    • 已注明,但负数不是问题
    【解决方案2】:

    我找到的解决方法是:

    =(LEFT(A1,FIND(".",A1)-1))^(MID(A1,FIND(".",A1)+1,100))
    

    使用. 作为分隔符来决定什么是幂。

    编辑: 或者更短一点:

    =LEFT(A1,FIND(".",A1)-1)^MID(A1,FIND(".",A1)+1,100)
    

    这个接受负数权力,权力最多 100 个字符长(包括负号)。

    不过,当您说“返回文本”时,不确定您的意思。它似乎对我很有效。

    【讨论】:

    • 这可行,但它有点长,并且返回文本而不是数字。
    【解决方案3】:

    使用int等公式获取整数部分。

    所以:

    = int(A1) ^ (A1 - int(A1))

    注意:如果 number 为负数,当您希望它向上舍入时,int 可能会向下舍入。如果您有否定词,请使用if 加 1。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-14
      相关资源
      最近更新 更多