【问题标题】:Looking for a Google Sheet Array Formula寻找 Google Sheet 数组公式
【发布时间】:2021-10-14 16:29:48
【问题描述】:

我正在 Google 表格中寻求帮助 - B 列的数组公式(在 sn-p 中附加了类似内容)。我们可以通过一个带有拖动选项的简单公式(在 B2 上)来实现它。有没有办法在不手动拖动公式的情况下以更好的方式实现它。

任何帮助将不胜感激。提前致谢。

【问题讨论】:

    标签: google-sheets google-sheets-formula array-formulas


    【解决方案1】:

    我需要一个帮助列:

    B3:

    =ArrayFormula(IF(A3:A10=A2:A9,0,1))
    

    C3:

    =ArrayFormula(SUMIF(ROW(A3:10),"<="&ROW(A3:A10),B3:B10)+B2)
    

    如果要跳过结束行号

    B2:

    =ArrayFormula({1;IF(A3:A="",,IF(A3:A=A2:A,0,1))})
    

    C2:

    =ArrayFormula(IF(B2:B="",,SUMIF(ROW(A2:A),"<="&ROW(A2:A),B2:B)))
    

    【讨论】:

    • 非常感谢您的及时回复.. 工作正常.. 但由于它涉及额外的帮助列,我使用了 Erik 的另一个答案.. 再次感谢您对此进行调查..
    【解决方案2】:

    从 B2:B 中删除所有内容并将以下内容放入 B2:

    =ArrayFormula(IF(A2:A="",,VLOOKUP(TEXT(ROW(A2:A),"00000")&amp;A2:A,{FILTER({TEXT(ROW(A2:A),"00000")&amp;A2:A;""},{A2:A;""}&lt;&gt;"",{A2:A;""}&lt;&gt;A:A),SEQUENCE(COUNTA(FILTER(A2:A&amp;ROW(A2:A),A2:A&lt;&gt;"",A2:A&lt;&gt;{A3:A;""})))},2,TRUE)))

    您会注意到整个公式范围与分号和空引号配对,全部包含在大括号 { } 中。这些允许我们形成等长的虚拟范围,以与运行全列的真实范围进行比较。

    TEXT(ROW(A2:A),"00000")&amp;A2:AA2:A 的 A 列内容构成每一行的串联(格式为“00000”以保持长度一致)。然后FILTER 仅在内容与上面行中的内容不匹配的串联中进行过滤。第二个虚拟列由SEQUENCE 组成,它使用COUNTA 对第一个FILTER 的变体来了解过滤了多少项。

    VLOOKUP 然后在过滤列表中查找A2:A每一 行的TEXT(ROW(A2:A),"00000")&amp;A2:A 连接(不仅仅是过滤的行)并返回SEQUENCE 数字。因为“00000”格式的行的顺序将是精确的升序,我们可以使用TRUE作为VLOOKUP的最后一个参数,如果没有找到精确匹配,它将回退到最接近的先前匹配,从而为重复的内容生成相同的SEQUENCE 数字。

    【讨论】:

      猜你喜欢
      • 2021-08-26
      • 2021-03-13
      • 2022-01-24
      • 2021-10-10
      • 1970-01-01
      • 2021-11-09
      • 1970-01-01
      • 2021-06-19
      • 1970-01-01
      相关资源
      最近更新 更多