【问题标题】:Nesting "IF" Statements in Google Sheets to categorize numbers在 Google 表格中嵌套“IF”语句以对数字进行分类
【发布时间】:2021-07-28 17:06:14
【问题描述】:

我正在尝试根据不同级别的资格标准对数字进行分类。例如,资格“A”需要一个介于 44.09 和 35.60 之间的数字。资格“B”需要一个介于 35.59 和 29.30 之间的数字。最后,资格“C”需要一个等于或小于 29.29 的数字。如果该数字高于 44.09 的最高“A”资格,则应显示“X”。

B2 恰好是这个公式正在分类的单元格。

我已尝试按以下方式嵌套“IF”语句,但公式错误地对数字进行了分类。

=IF(44.09>=B2>35.59,"A", IF(35.59>=B2>29.29,"B", IF(B2<=29.29,"C","X")))

当我在“B2”中输入“20”时,公式会将其归类为“A”,即使它应该是“C”。

也许我的“=”语句表述不正确,但我尝试修复它们无济于事。如何更改公式以正确分类这些数字?

【问题讨论】:

    标签: if-statement google-sheets nested


    【解决方案1】:
    =IF(B2<29.29,"C",
      IF(B2<=35.59,"B",
        IF(B2<=44.09,"A","X")))
    

    【讨论】:

    • 谢谢!方式更简单,尤其是在构建具有许多不同资格标准的大型电子表格时。
    【解决方案2】:

    使用:

    =IF((44.09>=B2)*(B2>35.59), "A", 
     IF((35.59>=B2)*(B2>29.29), "B", 
     IF(B2<=29.29,              "C", "X")))
    

    见:https://webapps.stackexchange.com/q/123729/186471

    【讨论】:

      【解决方案3】:

      另一种方法:

      =ArrayFormula(VLOOKUP(B2,{-999,"C"; 29.291,"B"; 35.591,"A"; 44.091,"X"},2,TRUE))

      在这里,B2 只是在包含两列的虚拟数组中查找:第一列在每一层都有下限,第二列是返回值。由于搜索列是严格按升序排列的,TRUE 将返回最后通过的阈值,如果没有找到完全匹配。

      注意:如果您的值永远不会低于 0,您可以将 -999 更改为 0

      【讨论】:

        【解决方案4】:

        您不能像那样进行范围(y 和 x 之间)比较。您必须同时使用AND 关键字来测试高于和低于:

        =IF(AND(44.09>=B2, B2>=35.6),"A", IF(AND(36>B2, B2>=29.3),"B", IF(B2<29.3,"C","X")))
        

        您可以通过这种方式构建更复杂的条件,例如使用OR,并且您不限于两个条件,您可以扩展到更多。

        【讨论】:

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