这可能是一个简单的解决方法(尽管我认为这可能并非如此),因此,如果这仅仅是儿童游戏,我会提前道歉。
在我正在处理的Excel工作表中,我有一个范围(就本例而言为B1:B10),该范围可以包含5个变量之一(不包括空格)-OG,D,L,PP或C
我需要另一个单元格中的公式来检查所讨论的范围,并根据以下优先级根据以下规则输出值:
对于规则1-6,不应考虑该列内的任何空白单元格。仅在所有单元格都为空白(即规则7)的情况下。
我尝试了IF公式,但是发现这些公式仅考虑单个单元格。 我尝试在任何地方搜索,但找不到任何内容(尽管这可能是我无法正确表达我的问题/搜索结果的原因。)
任何帮助将不胜感激。预先感谢!
答案 0 :(得分:0)
使用“ if”公式,但根据您的条件,使用“ MATCH”:例如,用于检查第一种情况:
=IF(MATCH("OG",$B$1:$B$10,0), "OG", "FALSE")
如果在任何单元格中,则上面的公式将放置“ OG”,否则为“ FALSE”。 以类似的方式,更改所有逻辑,但设置条件以使用match来查看它们是否存在于列中
答案 1 :(得分:0)
这是一个可能的解决方案。对于您的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)))
最后一个单元格将仅显示测试单元格的第一个非空值。 最后一个测试是隐式的。
希望我的测试正确,如果不正确,请告诉我。
编辑:很抱歉进行大量编辑,我的Office不是英语,翻译公式很麻烦。他们应该现在正在工作。
编辑2:您的最后一个测试不是隐式的,并且最后一个单元格可能显示“ NA”。因此,您应该将其添加到D7中:
=IF(COUNT(B1:B10)=0;"empty";"*A value to show if all tests didn't pass*")
现在您的目标单元格的公式范围内也有D7。
答案 2 :(得分:0)
我觉得条件2有点令人困惑,您是说D是强制性的,其他(L,PP,C)是导致“ OG”的选项吗?
如果我们多次输入(L,PP,C)在范围内,结果应该是什么?应该是空白吗?
如果条件2中的D是强制性的,我想出了这个公式,并且如果只有“ OG”和“ D”以外的其他3个输入,则公式将返回空白。
公式:=IF(COUNTIF(B1:B10,"OG")>0,"OG",IF(AND(COUNTIF(B1:B10,"D")>0,SUM(COUNTIF(B1:B10,"D"),COUNTIF(B1:B10,"L"),COUNTIF(B1:B10,"PP"),COUNTIF(B1:B10,"C"))>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",""))))))
第一个条件:
条件2:
条件3:
条件4:
条件5:如果数组公式中没有“ OG”或“ D”,则返回空白。
答案 3 :(得分:0)
如果您对空单元格改变主意的一种方法:
条件1:
=IF(MATCH("OG",$B$1:$B$10,0),"OG","")
条件2:
=IF(AND(COUNTIF($B$1:$B$10,"L")>0,COUNTIF($B$1:$B$10,"L")>0,OR(COUNTIF($B$1:$B$10,"PP")>0,COUNTIF($B$1:$B$10,"C")>0)),"OG","")
条件3,行查看您的范围内有多少行。然后将行数与在相同范围内找到的字母(D)进行比较。
=IF(COUNTIF($B$1:$B$10,"D")=ROWS($B$1:$B$10),"OG","")
条件4:
=IF(COUNTIF($B$1:$B$10,"PP")=ROWS($B$1:$B$10),"OG","")
条件5:
=IF(COUNTIF($B$1:$B$10,"L")=ROWS($B$1:$B$10),"OG","")
条件6:
=IF(COUNTIF($B$1:$B$10,"C")=ROWS($B$1:$B$10),"OG","")
条件7:
=IF(COUNTIF($B$1:$B$10,"")=ROWS($B$1:$B$10),"OG","")
将它们全部加在一起:
=IF(MATCH("OG";$B$1:$B$10;0);"OG";
IF(AND(COUNTIF($B$1:$B$10;"L")>0;COUNTIF($B$1:$B$10;"L")>0;OR(COUNTIF($B$1:$B$10;"PP")>0;COUNTIF($B$1:$B$10;"C")>0));"OG";
IF(COUNTIF($B$1:$B$10;"D")=ROWS($B$1:$B$10);"OG";
IF(COUNTIF($B$1:$B$10;"PP")=ROWS($B$1:$B$10);"OG";
IF(COUNTIF($B$1:$B$10;"L")=ROWS($B$1:$B$10);"OG";
IF(COUNTIF($B$1:$B$10;"C")=ROWS($B$1:$B$10);"OG";
IF(COUNTIF($B$1:$B$10;"")=ROWS($B$1:$B$10);"OG";""
)))))))
COUNTA
将不起作用
行查看您的范围内有多少行。然后将行数与在相同范围内找到的字母(D)进行比较。
=IF(COUNTIF($B$1:$B$10,"L")=ROWS($B$1:$B$10),"OG","")
与此相比:
这里我们查看L在该范围内存在多少次(L的数量可以低于实际范围),不包括空单元格。
因此,我们仍然在此图标上显示“ OG”。 = IF(COUNTIF($ B $ 1:$ B $ 10,“ L”)= COUNTA($ B $ 1:$ B $ 10),“ OG”,“”)