代码之家  ›  专栏  ›  技术社区  ›  Carol.Kar

按工作日统计列和行中的发生次数

  •  0
  • Carol.Kar  · 技术社区  · 7 年前

    我是 having a google spreadsheet 其中列是特定日期,行是产品。

    | Weekdays  |        |     | 2        | 3        | 4        | 5        | 6        |
    | Activity  | Streak | Max | 06.11.18 | 07.11.18 | 08.11.18 | 09.11.18 | 10.11.18 |
    |-----------|--------|-----|----------|----------|----------|----------|----------|
    | Product 1 | 0      | 5   | x        | x        | x        | x        | ...      |
    | Product 2 | 0      | 6   | x        |          | x        | x        | ...      |
    | Product 3 | 0      | 11  | x        | x        | x        | x        | ...      |
    | Product 4 | 0      | 7   |          |          |          |          | ...      |
    

    看到我 Data sheet .

    在选项卡上 Evaluation 我试着生成下面的矩阵,它应该回答一个问题,在一周中的哪一天,每种产品的发生。

    | Weekdays vs. Products | Product 1 | Product 2 | Product 3 | Product 4 |
    |-----------------------|-----------|-----------|-----------|-----------|
    | 1                     | #N/A      | #N/A      | #N/A      | #N/A      |
    | 2                     | #N/A      | #N/A      | #N/A      | #N/A      |
    | 3                     | #N/A      | #N/A      | #N/A      | #N/A      |
    | 4                     | #N/A      | #N/A      | #N/A      | #N/A      |
    | 5                     | #N/A      | #N/A      | #N/A      | #N/A      |
    | 6                     | #N/A      | #N/A      | #N/A      | #N/A      |
    | 7                     | #N/A      | #N/A      | #N/A      | #N/A      |
    

    我只试了一个 =COUNTIF(Data!$2:$2;$B3;C$2;Data!A3) 不过,正如你在上面看到的,我知道 #N/A .

    有什么建议如何计算每个工作日产品的发生?

    感谢你的回复!

    附言:在这里找到我的谷歌电子表格示例: google spreadsheet

    1 回复  |  直到 7 年前
        1
  •  1
  •   JPV    7 年前

    尝试

    =countif(filter(filter(Data!$D$3:$BA;Data!$A$3:$A=C$13); Data!$D$1:$BA$1=$B14); "x")
    

    并根据需要向下和向右填充。

    在Tabellenblatt3中,我还添加了一个使用单个公式的Alternitve方法。在B3单元你会发现

    =ArrayFormula(substitute(query(split(transpose(split(textjoin(;1;query(if(Data!D3:BA10="x";substitute(Data!A3:A10; " ";"/")&"_"&Data!D1:BA1&"_"&Data!D3:BA10;);;rows(Data!A3:A10)));" ")); "_"); "Select Col2, count(Col3) group by Col2 pivot Col1 label Col2 'Weekday'"); "/"; " "))
    

    请注意,对于大型数据集,此公式可能会中断(因为textjoin()中的字符限制)。