0 | UM | B | C | E | E | F | G |
---|---|---|---|---|---|---|---|
1 | data | companhia aérea | avião | Filtro | A-319 | ||
2 | 2022-09-15 | Companhia aérea_A | B-787 | ||||
3 | 2021-03-27 | Companhia aérea_A | A-319 | ||||
4 | 2023-12-26 | Companhia aérea_A | A-319 | Resultado esperado: | |||
5 | 2024-09-30 | Companhia aérea_B | B-787 | 2021-03-27 | Companhia aérea_A | A-319 | |
6 | 2023-09-25 | Companhia aérea_B | A-319 | 2023-12-26 | Companhia aérea_A | A-319 | |
7 | 2025-01-02 | Companhia aérea_B | A-319 | 2021-08-12 | Companhia aérea_B | A-319 | |
8 | 2021-08-12 | Companhia aérea_B | A-319 | 2023-09-25 | Companhia aérea_B | A-319 | |
9 | 2020-04-20 | Companhia aérea_C | B-787 | 2025-01-02 | Companhia aérea_B | A-319 | |
10 | 2019-02-02 | Companhia aérea_C | A-319 | 2019-02-02 | Companhia aérea_C | A-319 | |
11 | 2021-08-09 | Companhia aérea_C | A-319 | 2021-08-09 | Companhia aérea_C | A-319 | |
12 | 2024-07-25 | Companhia aérea_C | A-319 | 2022-04-03 | Companhia aérea_C | A-319 | |
13 | 2022-04-03 | Companhia aérea_C | A-319 | 2024-07-25 | Companhia aérea_C | A-319 |
Em Range E5:G13
Eu quero filtrar os dados de Column A:C
com base no filtro em Cell F1
e - como um primeiro passo - classificá-los por Column B
.
Portanto, implementei esta fórmula em Cell E5
:
=LET(
a;FILTER(A:C;(C:C=F1));
b;SORT(a;2;1);
b)
Tudo isso funciona bem.
Agora - como um segundo passo - eu quero classificar a lista filtrada em ordem crescente com base no date
.
No entanto, essa classificação deve ser aplicada somente dentro dos valores de Column B
.
No exemplo, isso significa que a classificação do airline
deve permanecer como está e dentro do airline
o date
deve ser listado em ordem crescente. Os resultados esperados em Range E5:G13
exibem como ele deve ficar.
Em SQL, esse tópico é resolvido com a PARTITION BY
função.
=LET(
a;FILTER(A:C;(C:C=F1));
b;SORT(a;2;1);
c;SORT(b;1;1);
c)
Como preciso alterar a c
parte na fórmula do Excel para que ela funcione?
Algo como:
Pode excluir o sort_order por padrão, ele será em ordem crescente: