【问题标题】:Any way for Excel to evaluate a number in a text string?Excel有什么方法可以评估文本字符串中的数字?
【发布时间】:2018-06-30 20:57:49
【问题描述】:

我有一个单元格,其中包含: 一月 15.5% (204 例)

如果它小于另一个单元格中的值,我想使用条件格式并填充此单元格: 5%

如果第一个单元格仅包含值 15.5%,这将是一件容易的事。但是有什么方法可以让 Excel 只计算单元格中的百分比吗?

谢谢。

【问题讨论】:

  • 总是有逗号吗?并且总是一个随后的百分号?然后,您可以找到这些字符的位置并评估它们之间的数字。更好的是,如上所述,将信息分成单独的列。
  • 您的区域设置中的小数点分隔符是逗号吗?
  • 是的,拆分可能是最简单的解决方案,只是想知道是否有其他方法。是的,逗号是小数点分隔符。

标签: excel vba excel-formula conditional-formatting


【解决方案1】:

试着去掉百分比,

=--trim(mid(substitute(A1, " ", rept(" ", len(a1))), len(a1), len(a1)))

将其与您想要的任何东西进行比较。

【讨论】:

    【解决方案2】:

    假设A2中有字符串January 15,5% (204 cases),可以通过以下公式得到百分比

    =MID(A2,MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&"0123456789")),SEARCH("%",A2)-MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))+1)
    
    1. 使用SEARCH函数获取第一个数字的位置
    2. 使用SEARCH函数获取百分号的位置
    3. 使用MID函数获取百分比15.5%

    不管你有没有小数点,也不管小数点符号是逗号还是点。

    【讨论】:

      【解决方案3】:

      除了 Jeeped 的公式,还可以使用:

      =MID(A5,SEARCH(" ",A5)+1,SEARCH("%",A5)-SEARCH(" ",A5))

      如果 comma 小数点是您的数据固有的,但不是您或您用户的系统,您可以将公式包装在 NUMBERVALUE 函数中:

      =NUMBERVALUE(MID(A5,SEARCH(" ",A5)+1,SEARCH("%",A5)-SEARCH(" ",A5)),",")

      【讨论】:

      • 谢谢!这完美地将数字提取到另一个单元格。我尝试使用公式直接在条件格式中使用它,但它似乎不起作用。 =MID(G27;SEARCH(" ";G27)+1;SEARCH("%";G27)-SEARCH(" ";G27))
      猜你喜欢
      • 1970-01-01
      • 2021-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多