【问题标题】:excel formula to give the priority to a value from a range of values in a columnexcel公式为列中的值范围内的值赋予优先级
【发布时间】:2018-10-31 20:38:18
【问题描述】:

这可能是一个简单的解决方法(虽然我这么认为,但可能不是),所以如果这只是儿戏,我提前道歉。

在我正在处理的 Excel 表中,我有一个范围(在本示例中为 B1:B10),它可以包含 5 个变量之一(不包括空白) - OG、D、L、PP 或 C .

我需要另一个单元格中的公式来查看有问题的范围,并在此优先级中根据以下规则输出一个值:

  1. 如果 OG 出现在列中的任何位置,无论其他输入如何,都显示 OG;
  2. 如果列中出现 D 和 L 和/或 PP 和/或 C,则显示 OG;
  3. 如果列中只出现D,则显示D;
  4. 如果列中只出现PP,则显示PP;
  5. 如果列中只出现L,则显示L;
  6. 如果列中只出现C,则显示C;和
  7. 如果列中的所有单元格都是空白的,则显示空白

对于规则 1-6,不应考虑列中的任何空白单元格。只有当所有单元格都为空白时,即规则 7,才应考虑这一点。

我尝试过 IF 公式,但发现这些公式只考虑单个单元格。 我试过到处搜索,但找不到任何东西(尽管这可能是因为我没有正确表达我的问题/搜索)。

任何帮助将不胜感激。提前致谢!

【问题讨论】:

    标签: excel excel-formula excel-2010 excel-2007


    【解决方案1】:

    使用“if”公式,但根据您的情况,使用“MATCH”:例如,检查第一种情况:

    =IF(MATCH("OG",$B$1:$B$10,0), "OG", "FALSE")
    

    如果上面的公式在任何单元格中,则将输入“OG”,否则将输入“FALSE”。 以类似的方式,更改所有逻辑,但将条件设置为使用 match 来查看它们是否存在于列中的某个位置

    【讨论】:

      【解决方案2】:

      这是一个可能的解决方案。对于您的第 6 次测试,您在一个单元格中输入这些公式中的每一个(我从 D1 到 D6 进行了此操作):

      测试 1 (D1)

      =IF(COUNTIF(B1:B10;"OG");"OG";"")
      

      测试 2 (D2)

      =IF(AND(COUNTIF(B1:B10;"D");OR(COUNTIF(B1:B10;"L");COUNTIF(B1:B10;"C");COUNTIF(B1:B10;"C";"")));"OG";"")
      

      测试 3 (D3)

      =IF(COUNTIF(B1:B10;"D")=DCOUNTA(B1:B10);"D";"")
      

      对测试 4 到 6 执行相同操作,将“D”替换为“P”、“L”、“C”。

      现在你的目标细胞:

      =IF(D7="empty";"";INDEX(D1:D7;MATCH(TRUE;INDEX((D1:D7<>"");0);0)))
      

      最后一个单元格将仅显示测试单元格的第一个非空值。 最后一个测试有点隐含。

      我希望我的测试正确,如果没有,请告诉我。

      编辑:抱歉,我的办公室不是英文的,翻译公式很痛苦。他们现在应该可以工作了。

      编辑 2:您的最后一个测试不是隐式的,最后一个单元格有可能显示“NA”。所以你应该把它添加到 D7 :

      =IF(COUNT(B1:B10)=0;"empty";"*A value to show if all tests didn't pass*")
      

      现在您的目标单元格在其公式的范围内有 D7。

      【讨论】:

        【解决方案3】:

        我觉得条件 2 有点混乱,你的意思是 D 是强制性的,而其他 (L,PP,C) 是结果“OG”的选项?

        如果我们在范围内有多个 (L,PP,C) 输入,结果应该是什么?应该是空白吗?

        如果 D 在条件 2 中是强制性的,我想出了这个公式,如果除了“OG”和“D”之外只有其他 3 个输入,公式将返回空白

        公式:=IF(COUNTIF(B1:B10,"OG")&gt;0,"OG",IF(AND(COUNTIF(B1:B10,"D")&gt;0,SUM(COUNTIF(B1:B10,"D"),COUNTIF(B1:B10,"L"),COUNTIF(B1:B10,"PP"),COUNTIF(B1:B10,"C"))&gt;1),"OG",IF(COUNTIF(B1:B10,"D")=COUNTA(B1:B10),"D",IF(COUNTIF(B1:B10,"L")=COUNTA(B1:B10),"L",IF(COUNTIF(B1:B10,"PP")=COUNTA(B1:B10),"PP",IF(COUNTIF(B1:B10,"C")=COUNTA(B1:B10),"C",""))))))

        第一个条件:

        条件二:

        条件3:

        条件4:

        条件5:如果数组公式中没有“OG”或“D”则返回空白。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2018-09-12
          • 1970-01-01
          • 2020-03-22
          • 2020-12-20
          • 1970-01-01
          • 2012-08-28
          • 1970-01-01
          相关资源
          最近更新 更多