Я пытаюсь ранжировать два столбца с помощью формулы массива:
Текущая формула:
=if(B2<>"",if(B2=B1,if(C1=1,2, C1+1),1),)
Вот ссылка на образец Google Sheet:
https://docs.google.com/spreadsheets/d/14BX3mO2Nd-RTMyhivwJ9w_rnVbVjSqE72o3Rdx-GQME/edit?usp=sharing
Я хотел бы иметь возможность создать формулу массива в столбце C, но несколько попыток поставили меня в тупик, если это возможно. По существу, столбец C должен располагаться в порядке убывания от $ до наибольшего $ из столбца A, и порядок, в котором он появляется, чтобы значения ранга не повторялись. Кроме того, ранг должен быть только один и тот же элемент в столбце B и отличается для каждого элемента.
Это должно работать, если положить в C1:
=ARRAYFORMULA({"Rank";IF(B2:B="",,COUNTIFS(B2:B,B2:B,A2:A+1/(1000*ROW(A2:A)),"<="&A2:A+1/(1000*ROW(A2:A))))})
Вы можете ранжировать свои данные так:
=arrayformula(query({sort({row(A2:A),A2:B},3,1,2,1), sort({COUNTIFS(B2:B,B2:B,row(B2:B),"<=" & row(B2:B)),B2:B},2,1,1,1)}, "Select Col4 where Col4<>0 Order by Col1 "))