IF值匹配返回true

时间:2017-08-21 09:52:34

标签: excel-formula

我正在尝试使用某些代码但是当我将目标单元格更改为一系列单元格时,我收到错误#VALUE!

此代码有效

=IF(AND(A1=Sheet2!A2,B1=Sheet2!B2),"TRUE","FALSE")

但如果我添加一个范围,我会得到#VALUE!错误

=IF(AND(A1=Sheet2!A2:A10,B1=Sheet2!B2:B10),"TRUE","FALSE")

更新:这是我想要实现的一个例子

Example

非常感谢任何帮助 非常感谢, 和

2 个答案:

答案 0 :(得分:1)

逻辑陈述的不同方法。相反,它会查看您的表格,并将名称与行和列匹配,并选择日期并在该位置拉取值。

=INDEX($B$7:$G$8,MATCH($B3,$A$7:$A$8,0),MATCH(C$1,$B$6:$G$6,0))

POC

重要提示:您B3:B4区域中的名称必须是唯一的且拼写与您的A7:A8区域相同。这包括你可能不小心掉进的尾随或前导空格。

如果表格位于工作簿的不同工作表上,请调整参考范围以满足您的需要。

答案 1 :(得分:0)

enter image description here

这是一个阵列公式 - 按 Ctrl + Shift + 输入但仍在公式栏中

=INDEX(B2:B10,SMALL(IF(A2:A10=A1,IF(B2:B10="ONCALL",ROW(A2:A10)-1)),1))

=INDEX(B2:B10, - 查看B2:B10并返回按以下方式计算的行号:

SMALL(IF(A2:A10=A1,
      IF(B2:B10="ONCALL",
                         ROW(A2:A10)-1)),1))

这是构建一个行数减去1的数组,其中两个IF语句都为真(日期匹配和“ONCALL”存在),然后SMALL按升序返回第n个值 - 我已经要求第一个匹配(或最小)行号然后INDEX用于返回结果。