Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google sheets 数组公式能否用于分组秩?_Google Sheets_Average_Google Sheets Formula_Array Formulas_Google Sheets Query - Fatal编程技术网

Google sheets 数组公式能否用于分组秩?

Google sheets 数组公式能否用于分组秩?,google-sheets,average,google-sheets-formula,array-formulas,google-sheets-query,Google Sheets,Average,Google Sheets Formula,Array Formulas,Google Sheets Query,我无法在数组公式中的分组行中使用秩 我有一个大数据集(≈100.000行),其中我要创建一个数组公式,为共享同一标识符的行进行不同的排序 虽然我在拖动公式(结合RANK和FILTER)时没有遇到问题就得到了结果,但我无法使用数组公式复制结果。复制问题 首先,非常感谢您的帮助。原则上,您可以通过排序和计数来完成,但在实践中很难做到,因为您希望使用的函数(如Countifs)对数组不友好。这里有一个相当冗长的方法,你可以对Slug和Points的组合进行排序,得到匹配的行号,然后从Slug匹配的Vl

我无法在
数组公式
中的分组行中使用

我有一个大数据集(≈100.000行),其中我要创建一个
数组公式
,为共享同一标识符的行进行不同的
排序

虽然我在拖动公式(结合
RANK
FILTER
)时没有遇到问题就得到了结果,但我无法使用
数组公式复制结果。复制问题


首先,非常感谢您的帮助。

原则上,您可以通过排序和计数来完成,但在实践中很难做到,因为您希望使用的函数(如Countifs)对数组不友好。这里有一个相当冗长的方法,你可以对Slug和Points的组合进行排序,得到匹配的行号,然后从Slug匹配的Vlookup中减去行号:

=ArrayFormula(if(A2:A<>"",vlookup(A2:A&"|"&B2:B,{sort(A2:A&"|"&B2:B,A2:A,true,B2:B,false),row(A2:A)},2,false)-
vlookup(A2:A,{sort(A2:A,A2:A,true),row(A2:A)},2,false)+1,""))
=ArrayFormula(如果(A2:A)”,vlookup(A2:A&“|”&B2:B,{排序(A2:A&“|”&B2:B,A2:A,true,B2:B,false),行(A2:A)},2,false)-
vlookup(A2:A,{sort(A2:A,A2:A,true),row(A2:A)},2,false)+1,“)

还有解决方案:

美国语法
=ARRAYFORMULA(IFNA(VLOOKUP)(A2:A和♥"&B2:B,排序(拆分)(转置)(拆分(
查询(转置)♦唯一(排序(筛选器(A2:A,A2:A“”)&&UNIQUE♥"&
SPLIT(转置)查询(转置)IF(查询({A2:A,B2:B+(行(B2:B)*0.00000001)},
“选择Col1不为空的计数(Col1),“偏移量1”,0)=1,
舍入(查询(查询({A2:A,B2:B+(行(B2:B)*0.00000001)),
“选择计数(Col1),其中Col1不为空(按Col1枢轴Col2分组),“限制0”,1),0),))
,,999^99)), " ")&"♠“&转置(排序)(行(间接)(“A1:A”)和列(拆分)(转置(
查询(转置(IF(查询({A2:A,B2:B+(行(B2:B)*0.00000001)),
“选择Col1不为空的计数(Col1),“偏移量1”,0)=1,
舍入(查询(查询({A2:A,B2:B+(行(B2:B)*0.00000001)),
“选择计数(Col1),其中Col1不为空(按Col1枢轴Col2分组),“限制0”,1),0),))
,,999^99)), " ")))), 1, 0))),,999^99)),,999^99), "♦")), "♠"), 2, 1), 2, 0)))
EU语法:
=ARRAYFORMULA(IFNA(VLOOKUP)(A2:A和♥“&B2:B;排序(拆分)(转置(拆分(
查询(转置)♦唯一(排序(筛选器(A2:A;A2:A“”)&&UNIQUE♥"&
SPLIT(转置)查询(转置)IF(查询({A2:A\B2:B+(行(B2:B)*000000001)};
“选择Col1不为空的计数(Col1);“偏移量1”;0)=1;
舍入(查询(查询({A2:A\B2:B+(行(B2:B)*00000000 1)};
“选择计数(Col1),其中Col1不为空(按Col1枢轴Col2分组”);“限制0”;1);0);)
;;999^99)); " ")&"♠“&转置(排序)(行(间接)(“A1:A”)和列(拆分)(转置(
查询(转置(IF)查询(查询({A2:A\B2:B+(行(B2:B)*000000001)};
“选择Col1不为空的计数(Col1);“偏移量1”;0)=1;
舍入(查询(查询({A2:A\B2:B+(行(B2:B)*00000000 1)};
“选择计数(Col1),其中Col1不为空(按Col1枢轴Col2分组”);“限制0”;1);0);)
;;999^99)); " ")))); 1; 0)));;999^99));;999^99); "♦")); "♠"); 2; 1); 2; 0)))

=ARRAYFORMULA(IFNA(VLOOKUP(A2:A&"♥"&B2:B, SORT(SPLIT(TRANSPOSE(SPLIT(
 QUERY(TRANSPOSE(QUERY(TRANSPOSE("♦"&UNIQUE(SORT(FILTER(A2:A, A2:A<>"")))&"♥"&
 SPLIT(TRANSPOSE(QUERY(TRANSPOSE(IF(QUERY(QUERY({A2:A, B2:B+(ROW(B2:B)*0.00000001)}, 
 "select count(Col1) where Col1 is not null group by Col1 pivot Col2"), "offset 1", 0)=1, 
 ROUNDDOWN(QUERY(QUERY({A2:A, B2:B+(ROW(B2:B)*0.00000001)}, 
 "select count(Col1) where Col1 is not null group by Col1 pivot Col2"), "limit 0", 1), 0), ))
 ,,999^99)), " ")&"♠"&transpose(SORT(ROW(INDIRECT("A1:A"&COLUMNS(SPLIT(TRANSPOSE(
 QUERY(TRANSPOSE(IF(QUERY(QUERY({A2:A, B2:B+(ROW(B2:B)*0.00000001)}, 
 "select count(Col1) where Col1 is not null group by Col1 pivot Col2"), "offset 1", 0)=1, 
 ROUNDDOWN(QUERY(QUERY({A2:A, B2:B+(ROW(B2:B)*0.00000001)}, 
 "select count(Col1) where Col1 is not null group by Col1 pivot Col2"), "limit 0", 1), 0), ))
 ,,999^99)), " ")))), 1, 0))),,999^99)),,999^99), "♦")), "♠"), 2, 1), 2, 0)))
=ARRAYFORMULA(IFNA(VLOOKUP(A2:A&"♥"&B2:B; SORT(SPLIT(TRANSPOSE(SPLIT(
 QUERY(TRANSPOSE(QUERY(TRANSPOSE("♦"&UNIQUE(SORT(FILTER(A2:A; A2:A<>"")))&"♥"&
 SPLIT(TRANSPOSE(QUERY(TRANSPOSE(IF(QUERY(QUERY({A2:A\ B2:B+(ROW(B2:B)*0,00000001)}; 
 "select count(Col1) where Col1 is not null group by Col1 pivot Col2"); "offset 1"; 0)=1; 
 ROUNDDOWN(QUERY(QUERY({A2:A\ B2:B+(ROW(B2:B)*0,00000001)}; 
 "select count(Col1) where Col1 is not null group by Col1 pivot Col2"); "limit 0"; 1); 0); ))
 ;;999^99)); " ")&"♠"&transpose(SORT(ROW(INDIRECT("A1:A"&COLUMNS(SPLIT(TRANSPOSE(
 QUERY(TRANSPOSE(IF(QUERY(QUERY({A2:A\ B2:B+(ROW(B2:B)*0,00000001)}; 
 "select count(Col1) where Col1 is not null group by Col1 pivot Col2"); "offset 1"; 0)=1; 
 ROUNDDOWN(QUERY(QUERY({A2:A\ B2:B+(ROW(B2:B)*0,00000001)}; 
 "select count(Col1) where Col1 is not null group by Col1 pivot Col2"); "limit 0"; 1); 0); ))
 ;;999^99)); " ")))); 1; 0)));;999^99));;999^99); "♦")); "♠"); 2; 1); 2; 0)))