Para ordenar a tabela, você precisará escrever um script VBA. De modo geral, a fórmula em uma célula não pode ter um efeito no conteúdo da outra célula (a fórmula da outra célula é precisa; uma célula pode alterar o valor das outras células se as outras células contiverem uma fórmula que se refira a ela). p>
Como solução alternativa, como você vai classificar a tabela de destino (ou seja, classificação) depois de atualizar a tabela de origem (ou seja, programação), podemos fazer uma classificação indireta:
- Modifique a tabela de origem para que a classificação seja calculada automaticamente
- Atualize a tabela de destino para que seu conteúdo seja pesquisado na tabela de origem em
VLOOKUP
.
Etapa 1
Faça a classificação na primeira coluna (ou seja, coluna A neste exemplo) e faça a fórmula assim:
A | B | C
--------------------------------------------------+------+-------------------
Rank | Team | Winning Percentage
=COUNTIF(C$2:C$9,">"&C2)+1 | A | 0.05
=COUNTIF(C$2:C$9,">"&C3)+COUNTIF(C$2:C2, C3)+1 | B | 0.99
=COUNTIF(C$2:C$9,">"&C4)+COUNTIF(C$2:C3, C4)+1 | C | 0.81
=COUNTIF(C$2:C$9,">"&C5)+COUNTIF(C$2:C4, C5)+1 | D | 0.92
=COUNTIF(C$2:C$9,">"&C6)+COUNTIF(C$2:C5, C6)+1 | E | 0.54
=COUNTIF(C$2:C$9,">"&C7)+COUNTIF(C$2:C6, C7)+1 | F | 0.15
=COUNTIF(C$2:C$9,">"&C8)+COUNTIF(C$2:C7, C8)+1 | G | 0.15
=COUNTIF(C$2:C$9,">"&C9)+COUNTIF(C$2:C8, C9)+1 | H | 0.40
Atualize o intervalo sozinho. O primeiro COUNTIF
conta quantas equipes tem uma porcentagem de vitórias maior que ele e o segundo COUNTIF
conta quantas equipes empatam com ele. Isso é importante porque não precisamos de classificação duplicada para confundir o VLOOKUP
.
Por exemplo, o exemplo acima se parece com:
Rank | Team | Winning Percentage
8 | A | 5%
1 | B | 99%
3 | C | 81%
2 | D | 92%
4 | E | 53%
6 | F | 15%
7 | G | 15%
5 | H | 40%
Como você pode ver que a equipe F e a equipe G têm a mesma porcentagem vencedora, eles recebem uma classificação diferente.
Etapa 2
Na sua tabela de destino (ou seja, classificação), é necessário atualizá-lo usando lotes de VLOOKUP
:
A | B | C
-----+---------------------------------------------+------------------------------------------
Rank | Team | Winning percentage
1 | =VLOOKUP($A2,Schedule!$A$1:$C$9,2,FALSE) | =VLOOKUP($A2,Schedule!$A$1:$C$9,3,FALSE)
2 | =VLOOKUP($A3,Schedule!$A$1:$C$9,2,FALSE) | =VLOOKUP($A3,Schedule!$A$1:$C$9,3,FALSE)
3 | =VLOOKUP($A4,Schedule!$A$1:$C$9,2,FALSE) | =VLOOKUP($A4,Schedule!$A$1:$C$9,3,FALSE)
4 | =VLOOKUP($A5,Schedule!$A$1:$C$9,2,FALSE) | =VLOOKUP($A5,Schedule!$A$1:$C$9,3,FALSE)
5 | =VLOOKUP($A6,Schedule!$A$1:$C$9,2,FALSE) | =VLOOKUP($A6,Schedule!$A$1:$C$9,3,FALSE)
6 | =VLOOKUP($A7,Schedule!$A$1:$C$9,2,FALSE) | =VLOOKUP($A7,Schedule!$A$1:$C$9,3,FALSE)
7 | =VLOOKUP($A8,Schedule!$A$1:$C$9,2,FALSE) | =VLOOKUP($A8,Schedule!$A$1:$C$9,3,FALSE)
8 | =VLOOKUP($A9,Schedule!$A$1:$C$9,2,FALSE) | =VLOOKUP($A9,Schedule!$A$1:$C$9,3,FALSE)
E você receberá seus resultados como:
Rank | Team | Winning percentage
1 | B | 99%
2 | D | 92%
3 | C | 81%
4 | E | 53%
5 | H | 40%
6 | F | 15%
7 | G | 15%
8 | A | 5%