如何创build公式:如果等于另一个值,则从列中查找值

Column1 Column2 Column3 Column4 A 0 C 100% B 0 BC ok D 100% D ok 100% E no AF ok F 100% 

我想创build公式,使列2从列1中获取值,并在列3中查找它,如果它没有find它,写没有; 如果find值,则在第4列中查找值,如果100%,写入ok,如果没有find100%,则写入0。

我希望你帮忙..

您可以使用MATCH来检查列1中的值是否在列3中( MATCH返回一个数字,否则VLOOKUP错误),然后使用VLOOKUP获取百分比,所有这些都在IF语句中:

 =IF(ISNUMBER(MATCH(A2, C:C, 0)), IF(VLOOKUP(A2, C:D, 2, 0)=1, "ok", 0), "no") 

上面假定列4中的值是格式为百分比的数值。


VLOOKUP工作原理如下:

 VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup]) 

lookup_value是您正在search的值。

table_array是执行search的表格,也是结果从何处被取出的表格。 lookup_value将在table_array的第一列中search。 结果将从table_arraycol_index_num列中提取。

[range_lookup]将决定search是精确search还是近似search。

在上面的公式中, VLOOKUP查找从A2到C列的值,并从表C:D的第二列(即从列D)返回相应的值,并确保这是精确search(0表示精确1表示近似值)。


根据与OP的讨论,事实certificateColumn1和Column3是需要检查的3个独立的列。 由于MATCHVLOOKUP一次只能检查1列(除非COUNTIFS数组调用), COUNTIFS可能更合适:

 =IF(COUNTIFS(Sheet3!$B$13:$B$289,E5,Sheet3!$C$13:$C$289,F5,Sheet3!$D$13:$D$289,G5)=0,"no",IF(SUMIFS(Sheet3!N$13:N$289,Sheet3!$B$13:$B$289,E5,Sheet3!$C$13:$C$289,F5,Sheet3!$D$13:$D$289,G5)=1,"ok",0)) 

上面的公式是我提出的,我相信是为提供的样本数据工作。

我会build议使用countif函数。 如果您将数据格式化为带有“Column1”,“Column2”等标题的表格,则可以在Column2中使用这样的公式

 =IF(COUNTIF([Column3],[@Column1])>0,IF([@Column4]=1,"ok",0),"no") 

我们正在计算第三列中第一列的实例数(例如“A”)。 如果我们发现多个实例(> 0),则此expression式的计算结果为true。

 =IF(COUNTIF([Column3],[@Column1])>0, 

如果我们检查与我们相匹配的行是否等于1(100%以百分比计),那么我们到第二个“IF”语句,如果这是真的,我们把“OK”放在我们的单元格中。 如果这不是真的(但是我们确实find了“A”),那么我们把0放在我们的单元格中。

 =IF(COUNTIF([Column3],[@Column1])>0,IF([@Column4]=1,"ok",0 

当然,如果我们首先找不到“A”,我们就把“不”放在我们的牢房里。

 =IF(COUNTIF([Column3],[@Column1])>0,IF([@Column4]=1,"ok",0),"no") 

如果这是一个简单的范围,那么Column2中第一个单元格的公式就是这个

 =IF(COUNTIF($C$2:$C$7,A2),IF(D2=1,"ok",0),"no") 

单元格2看起来像这样

 =IF(COUNTIF($C$2:$C$7,A3),IF(D3=1,"ok",0),"no") 

等等。如果“100%”作为文本存储在最后一列中,则可以设置第二个“IF”语句来查找文本“100%”而不是数字1。

编辑:我似乎有点误解了这个问题。 我已经把上面的原答案留下来供参考。 这里是修正的公式,将提供正确的结果。

表:

 =IF(COUNTIF([Column3],[@Column1]),IF(COUNTIFS([Column3],[@Column1],[Column4],1)>0,"ok",0),"no") 

如此迅速地覆盖变化。 基本上,通过使用countifs,我们现在计算所有等于我们匹配的单元格(比方说“A”),并且在最后一列中也有100%。 如果这些数大于0,我们把“ok”,否则为0。

 IF(COUNTIFS([Column3],[@Column1],[Column4],1)>0,"ok",0) 

范围:

 =IF(COUNTIF($C$2:$C$7,A2),IF(COUNTIFS($C$2:$C$7,A2,$D$2:$D$7,1)>0,"ok",0),"no") 

当然,这可能不像VLOOKUP那样优雅,但希望它至less能提供一种解决问题的方法。

参考文献: excel如果 , excel countif , excel操作符 , excel表格 , excel countifs

尝试这个:

=IF(IFERROR(VLOOKUP(A2,C:C,1,0),1)=1,"NO",IF(VLOOKUP(A2,C:D,2,0)=1,"OK",0))