Tenho dados de exemplo como abaixo:
Filial | conquistas1 | ponto1 |
---|---|---|
UM | 10 | 1 |
B | 20 | 2 |
C | 30 | 3 |
Filial | conquistas2 | ponto2 |
---|---|---|
UM | 30 | 3 |
B | 20 | 2 |
C | 10 | 1 |
Então, preciso de uma tabela cujo ponto seja o máximo point1
e, point2
em seguida, retorne as respectivas conquistas para esse ponto. Abaixo está minha saída esperada.
Filial | conquistas | ponto_máx. |
---|---|---|
UM | 30 | 3 |
B | 20 | 2 |
C | 30 | 3 |
O que devo fazer neste caso? Obrigado.
Uma maneira poderia ser usando
REDUCE()
a função. Tente-Máximos Distintos
Abordagem alternativa usando o Power Query:
Só para dar outra opção, isso é bem simples com index(match()) também.
Supondo que você tenha os dados assim (e faça os ajustes necessários se não tiver, inclusive em planilhas diferentes):
Sua coluna de pontos máximos (k) seria:
=IF(MAX(INDEX($C$2:$C$4,MATCH(I2,$A$2:$A$4,0)),INDEX($G$2:$G$4,MATCH(I2,$E$2:$E$4,0)))=INDEX($C$2:$C$4,MATCH(I2,$A$2:$A$4,0)),INDEX($C$2:$C$4,MATCH(I2,$A$2:$A$4,0)),INDEX($G$2:$G$4,MATCH(I2,$E$2:$E$4,0)))
Sua coluna de conquistas máximas (j) seria:
=IF(MAX(INDEX($C$2:$C$4,MATCH(I2,$A$2:$A$4,0)),INDEX($G$2:$G$4,MATCH(I2,$E$2:$E$4,0)))=INDEX($C$2:$C$4,MATCH(I2,$A$2:$A$4,0)),INDEX($B$2:$B$4,MATCH(I2,$A$2:$A$4,0)),INDEX($F$2:$F$4,MATCH(I2,$E$2:$E$4,0)))
Solução usando SQL (Linguagem de Consulta Estruturada)
Se você estiver trabalhando com um banco de dados relacional como MySQL, PostgreSQL ou BigQuery, aqui está uma consulta SQL que atende às suas necessidades:
Solução usando Python (Pandas)
Se você estiver trabalhando em Python, use
pandas
: