Em um intervalo com filtro, quero ter uma coluna de números de linha que irámudar de acordo com o filtro, para que as linhas sempre contem consecutivamente a partir de 1. Por exemplo, o seguinte é um intervalo com filtro:
Number Name Gender
1 Alice F
2 Jason M
3 Ka F
4 Fiona F
5 Albert M
Agora suponha que aplicamos um filtro para mostrar linhas onde Gênero é M:
Number Name Gender
2 Jason M
5 Albert M
O texto acima é o que o Excel normalmente mostra, mas quero que o número conte a partir de 1 consecutivamente assim:
Number Name Gender
1 Jason M
2 Albert M
Portanto, as linhas deverão ser renumeradas de acordo com o filtro. Eu tentei algo parecido =MAX(...)+1
ou usando a SUBTOTAL()
função, mas ainda não consegui. É possível escrever uma fórmula para a coluna Número para realizar esta tarefa? Como?
Responder1
Use esta fórmula:
=AGGREGATE(3,5,$A$1:A1)
na célula A2
. (Isso pressupõe que você tenha um cabeçalho de coluna na célula A1
.)
Parâmetros de AGGREGATE()
:
- Function_num = 3, conta todas as células não vazias em um intervalo
- Opções = 5, ignore linhas ocultas no intervalo
- Matriz = $A$1:A1, intervalo da primeira linha até a linha acima da célula selecionada
Exemplo de saída:
Conforme mencionado por benshepherd, SUBTOTAL()
também pode ser usado.
Responder2
@Máté Juhász chegou antes de mim. Eu estava buscando uma abordagem alternativa usando SUBTOTAL
. Em A2, coloque =SUBTOTAL(103,B$2:B2)
e preencha.
A SUBTOTAL
função executa uma função numerada em seus argumentos - essas funções são descritas na Ajuda. 103 corresponde a COUNTA
ignorar linhas ocultas. (Você usaria um valor 3 para incluir linhas ocultas.) COUNTA
conta o número de células que não estão em branco em um intervalo. Usamos a B$2:B2
sintaxe para manter a célula superior igual e expandir o intervalo à medida que descemos na lista.