代码之家  ›  专栏  ›  技术社区  ›  Chulho Chang

计算一行中特定字符的数量(不在范围内)

  •  1
  • Chulho Chang  · 技术社区  · 1 年前

    我很难找到一种简单的方法来计算在一行中标记的“X”,但在特定的列中。

    在左边(以粉红色突出显示),我有各种类别的“绳索更换原因”,在右边,有列记录绳索更换的每个实例,“X”标记不同的原因。

    我想添加锚#1上标记有X的所有“核心”实例,锚#1上所有标记为X的“模糊”实例,等等。

    enter image description here

    以下是该文件的链接:

    https://docs.google.com/spreadsheets/d/1B35V6e-boAl8XWPpPuTI6gaMI0CsdOgGHvwrT0a-PQM/edit?usp=drive_link

    我不知道该怎么做。。

    2 回复  |  直到 1 年前
        1
  •  0
  •   player0    1 年前

    尝试

    =COUNTA(IFNA(FILTER(P3:3; P3:3="X"; P2:2=F2)))
    

    enter image description here

    那么你想做:

    =BYCOL(F2:J2; LAMBDA(x; COUNTA(IFNA(FILTER(P3:3; P3:3="X"; P2:2=x)))))
    

    enter image description here

    接下来你想要:

    =BYROW(P3:50, LAMBDA(y, BYCOL(F2:J2, LAMBDA(x, COUNTA(IFNA(FILTER(y, y="X", P2:2=x)))))))
    

    enter image description here

    您可以添加一些IF来隐藏零,也可以执行以下操作:

    =INDEX(IFERROR(1/(1/BYROW(P3:50, LAMBDA(y, BYCOL(F2:J2, LAMBDA(x, COUNTA(IFNA(FILTER(y, y="X", P2:2=x))))))))))
    

    enter image description here

        2
  •  0
  •   z..    1 年前

    您可以使用 COUNTIFS :

    =COUNTIFS($P2:2,"X",$P1:1,F1)
    

    enter image description here

    或者作为数组公式:

    =ARRAYFORMULA(BYROW(P2:ZZZ,LAMBDA(r,IFERROR(1/COUNTIFS(r,"X",P1:1,F1:J1)^-1))))
    

    enter image description here