动态更改VLOOKUP中的矩阵

时间:2018-05-03 16:25:47

标签: excel google-sheets vlookup

我有这张表:

  A                B
1 15576907000170   
2 17469701000177
3 8402943000152
4 17469701000177

我想在B列上设置一个动态函数来检查该行中的所有数字是否已经出现在A中。所以它看起来像这样:

  A                B
1 15576907000170   OK  
2 17469701000177   OK
3 8402943000152    OK
4 17469701000177   NOT OK

我最接近的是这个:

= if(isnumber(VLOOKUP(A4;A:A;1;FALSE))=TRUE;"NOT OK"; "OK")

然而它不起作用,因为它总是会在A列中找到数字。在VLOOKUP中我应该只能从实际单元格中选择一行以上的行,在上面的示例中它会像这样:

= if(isnumber(VLOOKUP(A4;A:A(ROW(A4-1);1;FALSE))=TRUE;"NOT OK"; "OK")

然而,这给了我一个synthax错误。 任何人都可以帮助运行此功能吗?

2 个答案:

答案 0 :(得分:2)

B1单元格中使用以下公式,然后根据需要进行拖放。

=IF(COUNTIF($A$1:$A1,A1)>1,"Not Ok","Ok")

enter image description here

答案 1 :(得分:2)

B1:

=ARRAYFORMULA(IF(MATCH(A1:A4;A1:A4;0)=ROW(A1:A4);"OK";"NOT OK"))
  • 匹配找到第一个行号
  • 如果第一个ROW =当前行,好的,否则,不行