【问题标题】:Replacing cells with cumulative count用累积计数替换单元格
【发布时间】:2020-05-03 11:45:51
【问题描述】:

有没有一种方法可以创建一个公式,它会累积计算内部带有x 的单元格并将结果作为新范围输出?

这样就可以实现了:

如果累积计数在所有单元格中也完全​​没问题(所以结果看起来像这样):

【问题讨论】:

    标签: if-statement google-sheets google-sheets-formula array-formulas counting


    【解决方案1】:

    假设您要在单元格 A6:C9 中查找公式 - 将此公式放入单元格 A6 并跨/向下复制: =COUNTA($A1:A1)

    如果您想指定计数器递增的条件: =COUNTIF($A1:A1,"x")

    【讨论】:

      【解决方案2】:

      我最终使用了这个:

      =ARRAYFORMULA(if(A2:C2="x",COUNTIFS(A2:C2,A2:C2,COLUMN(A2:C2),"<="&COLUMN(A2:C2)),))

      这是本教程中公式的派生版本: https://infoinspired.com/google-docs/spreadsheet/running-count-in-google-sheets/

      【讨论】:

        【解决方案3】:

        尝试:

        =ARRAYFORMULA(IF(A1:C4="",,
         IF(A1:A4<>"", COLUMN(A:C), 
         IF(B1:B4<>"", COLUMN(A:C)-1, 
                       COLUMN(A:C)-2))))
        


        更新:

        =ARRAYFORMULA(IF(A1:AI4="",,
         IF(A1:A4<>"",   COLUMN(A:AI),    IF(B1:B4<>"",   COLUMN(A:AI)-1, 
         IF(C1:C4<>"",   COLUMN(A:AI)-2,  IF(D1:D4<>"",   COLUMN(A:AI)-3,
         IF(E1:E4<>"",   COLUMN(A:AI)-4,  IF(F1:F4<>"",   COLUMN(A:AI)-5,
         IF(G1:G4<>"",   COLUMN(A:AI)-6,  IF(H1:H4<>"",   COLUMN(A:AI)-7,
         IF(I1:I4<>"",   COLUMN(A:AI)-8,  IF(J1:J4<>"",   COLUMN(A:AI)-9,
         IF(K1:K4<>"",   COLUMN(A:AI)-10, IF(L1:L4<>"",   COLUMN(A:AI)-11,
         IF(M1:M4<>"",   COLUMN(A:AI)-12, IF(N1:N4<>"",   COLUMN(A:AI)-13,
         IF(O1:O4<>"",   COLUMN(A:AI)-14, IF(P1:P4<>"",   COLUMN(A:AI)-15,
         IF(Q1:Q4<>"",   COLUMN(A:AI)-16, IF(R1:R4<>"",   COLUMN(A:AI)-17, 
         IF(S1:S4<>"",   COLUMN(A:AI)-18, IF(T1:T4<>"",   COLUMN(A:AI)-19,
         IF(U1:U4<>"",   COLUMN(A:AI)-20, IF(V1:V4<>"",   COLUMN(A:AI)-21,
         IF(W1:W4<>"",   COLUMN(A:AI)-22, IF(X1:X4<>"",   COLUMN(A:AI)-23,
         IF(Y1:Y4<>"",   COLUMN(A:AI)-24, IF(Z1:Z4<>"",   COLUMN(A:AI)-25,
         IF(AA1:AA4<>"", COLUMN(A:AI)-26, IF(AB1:AB4<>"", COLUMN(A:AI)-27,
         IF(AC1:AC4<>"", COLUMN(A:AI)-28, IF(AD1:AD4<>"", COLUMN(A:AI)-29,
         IF(AE1:AE4<>"", COLUMN(A:AI)-30, IF(AF1:AF4<>"", COLUMN(A:AI)-31,
         IF(AG1:AG4<>"", COLUMN(A:AI)-32, IF(AH1:AH4<>"", COLUMN(A:AI)-33,
         COLUMN(A:AI)-34))))))))))))))))))))))))))))))))))))
        

        【讨论】:

        • arrayformula 解决方案很好,但在我的实际用例中,我有 35 列,而不仅仅是 ABC - 所以我认为写出来会很乏味。
        猜你喜欢
        • 1970-01-01
        • 2019-01-09
        • 2020-09-27
        • 1970-01-01
        • 2016-12-04
        • 2012-10-13
        • 2017-04-17
        • 2019-07-03
        • 2013-08-06
        相关资源
        最近更新 更多