Vba 如果此索引匹配公式返回#N/A,则向其添加条件

Vba 如果此索引匹配公式返回#N/A,则向其添加条件,vba,excel,excel-formula,excel-2010,Vba,Excel,Excel Formula,Excel 2010,我在Sheet3中有一个公式,可以从sheet1中查找值并返回它,但有时,如果值不在sheet1中,我希望它签入sheet2。sheet1和sheet2在A:A列中具有相同的数据,只有列具有不同的值 =INDEX(Sheet1!D:D,MATCH(Sheet3!A2&"MAN_CHANGE",Sheet1!A:A,0)) 如果sheet1中没有匹配项,如何修改公式以在sheet2中签入?iferror将检查索引公式是否有任何错误结果 =iferror(INDEX(Sheet1!D:D,

我在Sheet3中有一个公式,可以从sheet1中查找值并返回它,但有时,如果值不在sheet1中,我希望它签入sheet2。sheet1和sheet2在A:A列中具有相同的数据,只有列具有不同的值

=INDEX(Sheet1!D:D,MATCH(Sheet3!A2&"MAN_CHANGE",Sheet1!A:A,0))

如果sheet1中没有匹配项,如何修改公式以在sheet2中签入?

iferror将检查索引公式是否有任何错误结果

=iferror(INDEX(Sheet1!D:D,MATCH(Sheet3!A2&"MAN_CHANGE",Sheet1!A:A,0)),"NOT FOUND")
或者,您可以使用isNA仅搜索#N/A


iferror将检查索引公式的任何错误结果

=iferror(INDEX(Sheet1!D:D,MATCH(Sheet3!A2&"MAN_CHANGE",Sheet1!A:A,0)),"NOT FOUND")
或者,您可以使用isNA仅搜索#N/A


很高兴再次收到你的来信!)请试试这个:

=INDEX(Sheet1!D:D,IFERROR(MATCH(Sheet3!A2&"MAN_CHANGE",Sheet1!A:A,0),MATCH(Sheet3!A2&"MAN_CHANGE",Sheet2!A:A,0)))

很高兴再次收到你的来信!)请试试这个:

=INDEX(Sheet1!D:D,IFERROR(MATCH(Sheet3!A2&"MAN_CHANGE",Sheet1!A:A,0),MATCH(Sheet3!A2&"MAN_CHANGE",Sheet2!A:A,0)))

我嵌套了两个索引,匹配公式,它成功了


=IFERROR(索引('Activity Report 11-30-17'!G:G,MATCH('Recon Report 11-30-17'!C2,'Activity Report 11-30-17'!D:D,0)),索引('Activity Report 11-30-17'!G:G,MATCH('Recon Report 11-30-17'!D2,'Activity Report 11-30-17'!D:D,0))

我嵌套了两个索引,MATCH公式,它工作了


=IFERROR(索引(‘活动报告11-30-17’!G:G,匹配(‘侦察报告11-30-17’!C2,’活动报告11-30-17’!D:D,0)),索引(‘活动报告11-30-17’!G:G,匹配(‘侦察报告11-30-17’!D2,‘活动报告11-30-17’!D:D,0))

我将更改公式归纳为
=IFERROR(VLOOKUP(VLOOKUP(A2和“人的变化”,Sheet1!A:D,4,假),VLOOKUP(A2和“人的变化”,Sheet2!A:D,4,FALSE))
因为对于以前的公式
索引(Sheet1!D:D,
仍然希望从中获取值。@Mowgli我认为这是最好的情况-当您不只是复制和粘贴提供的答案,而是可以轻松地根据您的进一步需要采用它,并完全理解内容和原因)我将公式更改为
=IFERROR(VLOOKUP(A2和“MAN_CHANGE”,Sheet1!A:D,4,FALSE),VLOOKUP(A2和“MAN_CHANGE”,Sheet2!A:D,4,FALSE))
因为之前的公式
索引(Sheet1!D:D,
仍在寻求从中获取价值。@Mowgli我认为这是最好的情况-当您不只是复制和粘贴提供的答案,而是可以轻松地根据您的进一步需要完全理解什么和为什么时)那太可怕了,无法阅读,无法维护。那太可怕了,无法阅读,无法维护。