【问题标题】:Listing the number of rows with 2 of 4 cells filled from a row列出从一行填充 4 个单元格中的 2 个的行数
【发布时间】:2022-01-13 04:33:20
【问题描述】:

想象一下我有一张这样的床单

People    Alpha    Bravo    Charlie    Delta    Echo    Foxtrot
p1        x                            x
p2        x        x        x
p3                 x                   x        x

等等。 我如何创建一个函数来打印参加以下两项的人数:Alpha、Charlie、Echo 和 Foxtrot

又名以下排列之一: A & C, A&E, A&F, C&E, C&F, 英富

标题

【问题讨论】:

    标签: google-sheets google-sheets-formula formula spreadsheet flatten


    【解决方案1】:

    尝试:

    =INDEX(QUERY(SPLIT(FLATTEN(IF(B2:G = "x"; A2:A&"♥"&B1:G1; )); "♥"); 
     "where Col2 is not null"; ))
    

    更新 1:

    =SUMPRODUCT((B2:B16<>"")*(E2:E16<>""))
    

    更新 2:

    =QUERY(INDEX(REGEXREPLACE(TRIM(FLATTEN(QUERY(TRANSPOSE({
     IF(B2:C="",,B1:C1&","), 
     IF(REGEXMATCH(D2:D, "- D2$"), D1&"2,", IF(D2:D="",,D1&",")), 
     IF({E2:E, G2:K, M2:O}="",,{E1, G1:K1, M1:O1}&","), 
     IF(REGEXMATCH(P2:P, "- Z$"), P1&",", ), 
     IF(Q2:Q="",,Q1&",")}),,9^9))), ",$", )), 
     "select Col1,count(Col1) where Col1 is not null group by Col1 
      order by count(Col1) desc label count(Col1)''")
    

    【讨论】:

    • 在我应用它的上下文中存在一些问题。我直接在工作表的下方应用,这意味着存在循环依赖,我相信我通过更改范围来修复它。此外,输入并不总是相同的,有什么办法可以改变它吗?谢谢。
    • @Timewarper 你能分享一份你的工作表吗?
    • @Timewarper 如果你想要 OR 逻辑而不是 AND 逻辑,请将 * 替换为 +
    【解决方案2】:

    如果单元格值为x

    =((B2="x")+(D2="x")+(F2="x")+(G2="x"))=2
    

    如果单元格值为复选框(TRUE):

    =(B2+D2+F2+G2)=2
    

    【讨论】:

    • 有什么办法可以把它变成一个数组,返回第一个公式为真的总行数?
    • =COUNTIF(ArrayFormula(((B2:B="x")+(D2:D="x")+(F2:F="x")+(G2:G="x"))=2),TRUE)
    • 有没有办法改变它,使输入是随机的和未知的(不是每次都是“x”)?尝试做 COUNTA 但没用,可能与 ArrayFormula 冲突?
    • 只需将"x" 替换为"your input"
    猜你喜欢
    • 1970-01-01
    • 2022-11-23
    • 2013-02-08
    • 1970-01-01
    • 1970-01-01
    • 2022-01-09
    • 2010-11-12
    • 2015-09-05
    • 1970-01-01
    相关资源
    最近更新 更多