Numeração de linhas em um filtro

9

Em um intervalo com filtro, quero ter uma coluna de números de linhas que será alterada de acordo com o filtro , para que as linhas sempre contem consecutivamente de 1. Por exemplo, a seguir é 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 aplicemos um filtro para mostrar as linhas em que Gender é M:

Number   Name    Gender
2        Jason   M
5        Albert  M

A descrição acima é o que o Excel normalmente mostra, mas quero que o Número conte de 1 consecutivamente assim:

Number   Name    Gender
1        Jason   M
2        Albert  M

Portanto, as linhas devem ser renumeradas de acordo com o filtro. Tentei algo como =MAX(...)+1ou use a SUBTOTAL()função, mas ainda não consegui. É possível escrever uma fórmula para a coluna Número para executar esta tarefa? Quão?

HYC
fonte

Respostas:

13

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, conte todas as células não em branco em um intervalo
  • Opções = 5, ignore as linhas ocultas no intervalo
  • Matriz = $ A $ 1: A1, intervalo da primeira linha à linha acima da célula selecionada

Saída de amostra:

insira a descrição da imagem aqui

Como mencionado por benshepherd, também SUBTOTAL()pode ser usado.

Máté Juhász
fonte
11
Eu nunca ouvi falar AGGREGATEantes. Definitivamente vai usar isso agora :)
benshepherd
6

@ Máté Juhász acabou de chegar lá na minha frente. Eu estava indo para uma abordagem alternativa usando SUBTOTAL. Em A2, coloque =SUBTOTAL(103,B$2:B2)e preencha.

A SUBTOTALfunção executa uma função numerada em seus argumentos - essas funções são descritas na Ajuda. 103 corresponde a COUNTAignorar linhas ocultas. (Você usaria um valor 3 para incluir linhas ocultas.) COUNTAConta o número de células não vazias em um intervalo. Usamos a B$2:B2sintaxe para manter a célula superior igual e expandimos o intervalo à medida que descemos na lista.

Benshepherd
fonte