我有一个表(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解决方案,我总是可以使用它。但是我更喜欢尝试将其保留在公式中。但是乞g不应该挑剔;)

     | 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中的开始日期(如果找到)用xcc填充日历,否则使用TRUE填充日历?

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

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


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

该公式将使用DAY(B$1)计算具有表xTable的相应名称和开始日期的行的出现次数。如果未找到,它将返回0,这将生成COUNTIFS

07-26 09:37
查看更多