如何创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_array
的col_index_num
列中提取。
[range_lookup]
将决定search是精确search还是近似search。
在上面的公式中, VLOOKUP
查找从A2到C列的值,并从表C:D的第二列(即从列D)返回相应的值,并确保这是精确search(0表示精确1表示近似值)。
根据与OP的讨论,事实certificateColumn1和Column3是需要检查的3个独立的列。 由于MATCH
和VLOOKUP
一次只能检查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))