如果其相邻列具有带公式的子字符串,则每三列求和

Summing every third column if its adjacent column has substring with formulas

所以我的行中填充了未知数量的条目,这些条目全部由 ID、名称和金额组成。

我已经设法使用以下公式对从第七列开始的每三个单元格求和:

=SUMIF(ARRAYFORMULA(MOD((COLUMN(A6:6)-COLUMN(A6)+6),3)),0,A6:6)

现在我想找到一种方法来只添加相应 ID 包含“INV”标签的单元格,但我自己还没有弄清楚。

Summing every third column if its adjacent column has substring

尝试:

=INDEX(MMULT(IF(FILTER(G2:13, MOD(COLUMN(G1:1)-2, 3)=0)="", 0, 
 FILTER(G2:13, MOD(COLUMN(G1:1)-1, 3)=0)), 
 SEQUENCE(COLUMNS(FILTER(G2:13, MOD(COLUMN(G1:1)-2, 3)=0)))^0))

对于 INV 标签使用:

=INDEX(MMULT(IF(REGEXMATCH(FILTER(G2:13, MOD(COLUMN(G1:1)-2, 3)=0), "INV.*"), 
 FILTER(G2:13, MOD(COLUMN(G1:1)-1, 3)=0), 0), 
 SEQUENCE(COLUMNS(FILTER(G2:13, MOD(COLUMN(G1:1)-2, 3)=0)))^0))

  • 最简单的方法就是调用

    =SUM(E2:2)
    

    这将忽略所有文本,但不特定于 INV 标签。然后你可以简单地向下拖动填充。

  • 要特定于 INV 个标签,

    =ARRAYFORMULA(MMULT(IF(REGEXMATCH(""&E2:M13,"^INV"),G2:M13,0),SEQUENCE(COLUMNS(E2:M13),1,1,)))
    
    • IF 与 offsetted/differential 数组参数:
      • 以E2开头的条件数组
      • 以G2开头的结果数组
    • REGEXMATCH 测试 INV 标签
    • MMULT矩阵相乘得到数组和
    • SEQUENCE 创建一维数组,为 MMULT 提供第二个参数以获得数组总和