如果在另一个表中找不到正确的匹配项,则我无法创建公式来从一个表中查找结果。
我希望用户输入以下信息:这是生产工厂吗?是/否邮政编码:XXXXX 我希望根据输入从表 1 或表 2 返回结果。
A - 如果答案是肯定的,并且邮政编码在表 2 中,则返回表 2 中相应单元格的结果。
B - 如果答案是肯定的,并且邮政编码不在表 2 中,则返回表 1 中相应单元格的结果。
C - 如果答案为否,则返回表 1 中相应单元格的结果。
使用这个公式:
=IF(H1="否",(VLOOKUP(H2,G6:I8,3,TRUE)),IF(H1="是",(VLOOKUP(H2,F12:I14,3,TRUE))))
我可以解决场景 A 和 C,但显然不能解决场景 B。我尝试使用上述公式的变体:and、vlookup、match、iferror、isna。这些方法要么不起作用,要么只返回部分场景的结果。
如果我使用这个: =IF(AND(H1="yes",H2<>(F12:F14)),VLOOKUP(H2,G6:I8,3),"error")))
我可以解析 B。但是,如果我将其与上面的代码结合起来,它就不再解析 B,而只是解析 A 和 C:
=IF(H1="否",(VLOOKUP(H2,G6:I8,3,TRUE)),IF(H1="是",(VLOOKUP(H2,F12:I14,3,TRUE)),IF(AND(H1="是",H2<>(F12:F14)),VLOOKUP(H2,G6:I8,3),"错误")))
有什么建议么?
感谢您的建议!
我试过了,但还不够。我想我需要更好地解释一下。
我已附加一张屏幕截图(目前我还不能嵌入它们):
我可以正确得到第一和第三个答案(如图所示),但是第二个答案无法正确解决。
这个公式给出了这些结果:
=IF(C1="no",(VLOOKUP(C2,B6:D8,3,TRUE)),IF(C1="yes",VLOOKUP(C2,A12:D14,3,TRUE)),IF(AND(C1="yes",C2<>(A12:A14)),VLOOKUP(C2,B6:D8,3),"error")))
感谢大家的意见,这个问题终于解决了!
答案1
多级查找解决了该问题:
情况 1:
- 是的,邮政编码在表 1 中。
情况 2:
- 是的,邮政编码见表 2。
情况 3:
- 在表 2 中找到了编号和邮政编码。
注意:
- 如果
No & Zip code not found in Table 2
则公式返回Blank
- 如果
Yes or No & Zip code not found in either tables
那么公式也返回Blank.
Blank
也可以用合适的文本替换。
单元格中的公式L7
:
=IFERROR(IF($I$7="Yes",IFERROR(VLOOKUP($J$7,$I$3:$J$5,2,0),IFERROR(VLOOKUP($J$7,$I$10:$J$12,2,0),VLOOKUP($J$7,$I$10:$J$12,2,0))),VLOOKUP($J$7,$I$10:$J$12,2,0)),"")
根据需要调整公式中的单元格引用。
答案2
公式
=IF(OR(Production_Plant="No", ISNA(VLOOKUP(ZIP_Code, Table2, 2, 0))),
VLOOKUP(ZIP_Code,Table1,2,0), VLOOKUP(ZIP_Code,Table2,2,0))
在哪里
Production_Plant
持有“是”或“否”ZIP_Code
保存要查询的邮政编码Table1
是Table2
两个表
怎么运行的
我们有一个IF()
语句。我们查看Table1
if任何一个
Production_Plant
没有”- 无法在 中找到邮政编码
Table2
。这是通过ISNA()
@gns100 引用的函数实现的。
否则,它会Table2
截屏
我用了公式Chop生成此公式和屏幕截图。(完整披露:我编写了 FormulaChop)