Excel公式比较两个数组

我有一个表(xTable,3列:名称,开始,停止)。 在另一张纸上,我有一个日历,我正在尝试。 A1行是date。 A1栏是名字。

我想比较我的xTable的开始date到我的A1行的date。 如果finddate,查看xTable的第一列,如果它等于A1 colum中的人的名字,则返回true,否则返回false。

例如: =INDEX($B$2:$AF$14,ROW(A2)-1,MATCH($B$16,$B$1:$AF$1,0))="x"

但是,对于我的生活,我无法得到它的工作…我想也许是因为我有大约400行的数据,但我只是不知道。 任何帮助表示赞赏! 此外,如果你知道vba的解决scheme,我总是可以使用这个..但我更喜欢尝试保持它的公式。 但乞丐不应该挑剔;)

  | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |etc---> Name1|____|____|____|____|____|____|____|____|____|____|____|____| Name2|____|____|____|____|____|____|____|____|____|____|____|____| Name3|____|____|____|____|____|____|____|____|____|____|____|____| Name4|____|____|____|____|____|____|____|____|____|____|____|____| Name5|____|____|____|____|____|____|____|____|____|____|____|____| Name6|____|____|____|____|____|____|____|____|____|____|____|____| Name7|____|____|____|____|____|____|____|____|____|____|____|____| Name8|____|____|____|____|____|____|____|____|____|____|____|____| Name9|____|____|____|____|____|____|____|____|____|____|____|____| Name |Start|Stop | Name1| 3 | 6 | Name1| 1 | 12 | Name7| 10 | 10 | Name3| 21 | 30 | Name1| 9 | 12 | Name9| 7 | 15 | Name9| 1 | 3 | 

如果我理解正确的话,你想用xTable中的开始date来填充日历,当发现时使用TRUE ,否则使用FALSE

您可以在单元格B2中使用此公式并正确填入它:

 =IF(COUNTIFS($A$13:$A$19,$A2,$B$13:$B$19,B$1*1)=0,FALSE,TRUE) 

如果您在A1行将date存储为数字,我使用的是B$1*1 。 否则,如果它们存储为date,但格式为dd (或等效),请改为使用DAY(B$1)

公式将使用COUNTIFS具有相应名称和表xTable开始date的行的出现次数。 如果没有find,它将返回0,这将产生FALSE