3

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

我正在尝试将 xTable 中的开始日期与 A1 行中的日期进行比较。如果找到日期,查看xTable的第一列,如果它等于A1列中的人名,则返回true,否则返回false。

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

但是对于我的生活,我无法让它工作......我在想可能是因为我有大约 400 行数据,但我不确定。任何帮助表示赞赏!另外,如果您知道 vba 解决方案,我总是可以使用它..但我更喜欢尝试将其保留在公式中。但乞丐不应该挑剔;)

     | 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  |
4

1 回答 1

1

如果我理解正确,您想使用 xTable 中的开始日期填充日历,并使用TRUE找到时间和FALSE其他日期?

您可以在单元格 B2 中使用此公式并向右和向下填充:

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

我正在使用B$1*1以防万一您将日期存储为 A1 行中的数字。否则,如果它们存储为日期但格式化为dd(或等效),请DAY(B$1)改用。

该公式将使用表 xTable 计算具有相应名称和开始日期的行的出现次数COUNTIFS。如果没有找到,它将返回 0,这会产生FALSE.

于 2013-09-01T08:39:06.297 回答