寻找 Google Sheet 数组公式
Looking for a Google Sheet Array Formula
我正在 Google Sheet 中寻求帮助 - B 列的数组公式(附在类似代码段中)。我们可以通过带有拖动选项的简单公式(在 B2 上)来实现它。有没有不用手动拖动公式的更好的方法呢
任何帮助将不胜感激。提前致谢。
为此我需要一个帮助列:
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)))
删除 B2:B 中的所有内容并将以下内容放入 B2:
=ArrayFormula(IF(A2:A="",,VLOOKUP(TEXT(ROW(A2:A),"00000")&A2:A,{FILTER({TEXT(ROW(A2:A),"00000")&A2:A;""},{A2:A;""}<>"",{A2:A;""}<>A:A),SEQUENCE(COUNTA(FILTER(A2:A&ROW(A2:A),A2:A<>"",A2:A<>{A3:A;""})))},2,TRUE)))
您会注意到在整个公式范围内都带有一个分号和一组空引号,所有这些都包含在大括号 { }
中。这些使我们能够形成等长的虚拟范围,以与 运行 整列的实际范围进行比较。
TEXT(ROW(A2:A),"00000")&A2:A
将每一行(格式为“00000”以便长度统一)与 A2:A
的 A 列的内容串联起来。然后 FILTER
仅过滤内容与上一行内容不匹配的串联。第二个虚拟列由 SEQUENCE
形成,它在第一个 FILTER
的变体上使用 COUNTA
来了解过滤了多少项目。
VLOOKUP
然后在筛选列表中查找 A2:A
中 每个 行的 TEXT(ROW(A2:A),"00000")&A2:A
串联(不仅仅是筛选的行)和 returns SEQUENCE
号码。因为“00000”格式的行的顺序将是精确的升序,我们可以使用TRUE
作为VLOOKUP
的最后一个参数,如果完全匹配,它将回落到最接近的前一个匹配项未找到,因此为重复内容生成相同的 SEQUENCE
数字。
我正在 Google Sheet 中寻求帮助 - B 列的数组公式(附在类似代码段中)。我们可以通过带有拖动选项的简单公式(在 B2 上)来实现它。有没有不用手动拖动公式的更好的方法呢
任何帮助将不胜感激。提前致谢。
为此我需要一个帮助列:
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)))
删除 B2:B 中的所有内容并将以下内容放入 B2:
=ArrayFormula(IF(A2:A="",,VLOOKUP(TEXT(ROW(A2:A),"00000")&A2:A,{FILTER({TEXT(ROW(A2:A),"00000")&A2:A;""},{A2:A;""}<>"",{A2:A;""}<>A:A),SEQUENCE(COUNTA(FILTER(A2:A&ROW(A2:A),A2:A<>"",A2:A<>{A3:A;""})))},2,TRUE)))
您会注意到在整个公式范围内都带有一个分号和一组空引号,所有这些都包含在大括号 { }
中。这些使我们能够形成等长的虚拟范围,以与 运行 整列的实际范围进行比较。
TEXT(ROW(A2:A),"00000")&A2:A
将每一行(格式为“00000”以便长度统一)与 A2:A
的 A 列的内容串联起来。然后 FILTER
仅过滤内容与上一行内容不匹配的串联。第二个虚拟列由 SEQUENCE
形成,它在第一个 FILTER
的变体上使用 COUNTA
来了解过滤了多少项目。
VLOOKUP
然后在筛选列表中查找 A2:A
中 每个 行的 TEXT(ROW(A2:A),"00000")&A2:A
串联(不仅仅是筛选的行)和 returns SEQUENCE
号码。因为“00000”格式的行的顺序将是精确的升序,我们可以使用TRUE
作为VLOOKUP
的最后一个参数,如果完全匹配,它将回落到最接近的前一个匹配项未找到,因此为重复内容生成相同的 SEQUENCE
数字。