从另一个 Sheet 获取 COUNT(数组公式)

Get COUNT (Array Formula) from another Sheet

需要有关如何获得从 WorkedProductivity 的计数的帮助 sheet:

https://docs.google.com/spreadsheets/d/1c3HdMq4PA50pYr88JqPoG51jvru8ipp8ebe4z5DczTQ/edit#gid=1891370548

  1. In Productivity Sheet (A2),获取在 From Date[=41] 时间内有效的唯一名称=]到迄今为止

  2. In Productivity Sheet (B2,C2,D2,E2,F2,G2),在[=27]的时间内获取计数=]从日期到日期由(A2)从sheet工作

  3. 在 **Productivity Sheet 中,计算 sheet Worked 有多少有效 + 无效 By (A2)

我有以下公式:

={"By"; unique(query(Worked!A2:Q,"select P where Q >= datetime '"&TEXT($B,"yyyy-mm-dd HH:mm:ss")&"'"))}
={"Reason 1"; ARRAYFORMULA(COUNTIFS(Worked!F2:F,"1"))}
={"Reason 2"; ARRAYFORMULA(COUNTIFS(Worked!F2:F,"2"))}
={"Reason 3"; ARRAYFORMULA(COUNTIFS(Worked!F2:F,"3"))}
={"Reason 4"; ARRAYFORMULA(COUNTIFS(Worked!F2:F,"4"))}
={"High"; ARRAYFORMULA(COUNTIFS(Worked!C2:C,"High"))}
={"Normal"; ARRAYFORMULA(COUNTIFS(Worked!C2:C,"Normal"))}
={"Total Worked"; ARRAYFORMULA(SUM(F3:G3))}

但我希望它基于在另一个单元格上选择的时间和日期。它也不会附加为 ARRAYFORMULA。

我会使用 MMULT() 作为 multi-tiered countifs,就像您尝试做的那样。 MMULT() 是一种矩阵乘法,对像您这样的情况很有用。

例如,此公式给出了所有 4 个“原因”的计数:

=ARRAYFORMULA({"Reason "&{1,2,3,4};IF(A3:A="",,MMULT(N(A3:A=TRANSPOSE(Worked!P:P)),N(Worked!F:F={1,2,3,4})))})

这个通用结构应该可以工作,但需要为日期开始和结束参数添加一个额外的条件。我不知道这样做是否有意义,直到您清除了我对您的原始评论 post 关于混合数据类型的评论。