INDEX,MATCH两个标准,其中一个标准是有条件的…… IF在哪里去?

我不断收到#N / A作为以下函数的错误:

=INDEX(G3:G50,MATCH(1,(IF(B3:B50=O2,B3:$B50=O2,C3:C50=O2)*($D3:$D50=A2)),0)) 

我有两个名单 – 一些在B列,另一些在C列。 如果名字是C,那么它会在B中出现为0.我想用适当的名字进行INDEX,MATCH – 所以如果B = 0,公式应该引用C,否则应该使用B.

O2是我在不同的表中应该匹配B或C的名称

我仍然不确定是否完全理解这个要求,但是“ 公式应该引用C如果B = 0,否则应该使用B ”似乎相当容易处理。 如果用MATCH和任何匹配的要求来查找B中不存在的值(即找不到这样的值),则会返回一个错误。

IFERROR是一个函数,当第一个项引起错误时允许默认。 所以我们可以沿着“IFERROR(尝试这个,但是如果炸popup来的话就是这个)”来使用它。 所以,假设你想find与你的另一张表中的B或C与O2相匹配的行中的“G行中的行”(即一个单元格)的内容,这样的事情可能适合:

  =IFERROR(INDEX(G:G,MATCH(Sheet2!O2,B:B,0)),INDEX(G:G,MATCH(Sheet2!O2,C:C,0))) 

同样,可能不适合,但可能仍然有助于为您的答案。 我已经通过考虑整列,但build议你限制你的范围,以适应(即在你的OP)。

正如你可能收集的,我还没有弄清楚A2和ColumnD适合在哪里。