Então, olhando para a sua pergunta anterior, bem como para esta, torna-se óbvio que você deseja classificar os alunos com base no número de A's, em seguida, pelo número de B's, etc, e para separar essas classificações com base nas somas. das marcas para cada assunto.
Com isso em mente, aqui está a fórmula da coluna sem ajuda para fazer exatamente isso:
Matrizentra(Ctrl+Desloca+Enter)aseguintefórmulaemM5
ecopia-cola/fill-downnorestodacoluna(nãoesqueçaderemovero{
eo}
):
{=
SUM(
1,
--(
MMULT(($B$5:$L$9="A")*6^2+($B$5:$L$9="B")*6^1+($B$5:$L$9="C")*6^0,--(0<ROW(INDEX(M:M,1):INDEX(M:M,COLUMNS($B$5:$L$9)))))
>INDEX(MMULT(($B$5:$L$9="A")*6^2+($B$5:$L$9="B")*6^1+($B$5:$L$9="C")*6^0,--(0<ROW(INDEX(M:M,1):INDEX(M:M,COLUMNS($B$5:$L$9))))),1+ROW()-ROW($B$5:$L$9))
),
(
MMULT(($B$5:$L$9="A")*6^2+($B$5:$L$9="B")*6^1+($B$5:$L$9="C")*6^0,--(0<ROW(INDEX(M:M,1):INDEX(M:M,COLUMNS($B$5:$L$9)))))
=INDEX(MMULT(($B$5:$L$9="A")*6^2+($B$5:$L$9="B")*6^1+($B$5:$L$9="C")*6^0,--(0<ROW(INDEX(M:M,1):INDEX(M:M,COLUMNS($B$5:$L$9))))),1+ROW()-ROW($B$5:$L$9))
)
*(
MMULT(IFERROR(--$B$5:$L$9,0),--(0<ROW(INDEX(M:M,1):INDEX(M:M,COLUMNS($B$5:$L$9)))))
>INDEX(MMULT(IFERROR(--$B$5:$L$9,0),--(0<ROW(INDEX(M:M,1):INDEX(M:M,COLUMNS($B$5:$L$9))))),1+ROW()-ROW($B$5:$L$9))
)
)}
A seguir, a versão minificada equivalente da fórmula acima. Eu aconselho strongmente que não use , mas use a versão de fórmula prettified. Fazer isso tornará a fórmula muito mais mais fácil de manter.
{=SUM(1,--(MMULT(($B$5:$L$9="A")*6^2+($B$5:$L$9="B")*6^1+($B$5:$L$9="C")*6^0,--(0<ROW(INDEX(M:M,1):INDEX(M:M,COLUMNS($B$5:$L$9)))))>INDEX(MMULT(($B$5:$L$9="A")*6^2+($B$5:$L$9="B")*6^1+($B$5:$L$9="C")*6^0,--(0<ROW(INDEX(M:M,1):INDEX(M:M,COLUMNS($B$5:$L$9))))),1+ROW()-ROW($B$5:$L$9))),(MMULT(($B$5:$L$9="A")*6^2+($B$5:$L$9="B")*6^1+($B$5:$L$9="C")*6^0,--(0<ROW(INDEX(M:M,1):INDEX(M:M,COLUMNS($B$5:$L$9)))))=INDEX(MMULT(($B$5:$L$9="A")*6^2+($B$5:$L$9="B")*6^1+($B$5:$L$9="C")*6^0,--(0<ROW(INDEX(M:M,1):INDEX(M:M,COLUMNS($B$5:$L$9))))),1+ROW()-ROW($B$5:$L$9)))*(MMULT(IFERROR(--$B$5:$L$9,0),--(0<ROW(INDEX(M:M,1):INDEX(M:M,COLUMNS($B$5:$L$9)))))>INDEX(MMULT(IFERROR(--$B$5:$L$9,0),--(0<ROW(INDEX(M:M,1):INDEX(M:M,COLUMNS($B$5:$L$9))))),1+ROW()-ROW($B$5:$L$9))))}
Explicação:
Olhando para a estrutura da fórmula prettificada, fica claro que ela é essencialmente a mesma que a fórmula "correta" inserida na matriz da minha resposta anterior
{=SUM(1,--($G$2:$G$6>G2),($G$2:$G$6=G2)*($H$2:$H$6>H2))}
com as colunas auxiliares RESULT
e POINT
sendo substituídas por uma função MMULT(…)
e a referência de célula única nas colunas substituídas por INDEX(MMULT(…),1+ROW()-ROW($B$5:$L$9))
Se você deseja entender como a função MMULT()
é usada aqui, você pode começar verificando um uso mais simples na minha resposta para outra pergunta.
Deve ser bastante óbvio como ajustar a fórmula para mais notas. Por exemplo, para adicionar um D
, anexe um +($B$5:$L$9="D")*6^0
ao final dos outros e incremente os outros poderes.
Como mencionado na resposta à pergunta anterior, se a tabela for expandida com mais assuntos, o 6
deve ser aumentado, de modo que seja pelo menos um a mais do que o novo número de assuntos na tabela.