Нумерация строк в фильтре


8

В диапазоне с фильтром я хочу иметь столбец с номерами строк, который будет изменить в соответствии с фильтром , так что строки всегда считаются последовательно от 1. Например, следующее - это диапазон с фильтром:

Number   Name    Gender
1        Alice   F
2        Jason   M
3        Ka      F
4        Fiona   F
5        Albert  M

Теперь предположим, что мы применяем фильтр, чтобы показать строки, где Gender равен M:

Number   Name    Gender
2        Jason   M
5        Albert  M

Выше приведено то, что обычно показывает Excel, но я хочу, чтобы число считалось от 1 последовательно, например так:

Number   Name    Gender
1        Jason   M
2        Albert  M

Таким образом, строки должны быть перенумерованы в соответствии с фильтром. Я пробовал что-то вроде =MAX(...)+1 или используя SUBTOTAL() функционировать, но мне пока не удалось. Можно ли написать формулу для столбца Number для выполнения этой задачи? Как?

Ответы:


12

Используйте эту формулу:

=AGGREGATE(3,5,$A$1:A1)

в камеру A2, (Это предполагает, что у вас есть заголовок столбца в ячейке A1.)

Параметры AGGREGATE():

  • Function_num = 3, подсчитать все непустые ячейки в диапазоне
  • Опции = 5, игнорировать скрытые строки в диапазоне
  • Array = $ A $ 1: A1, диапазон от первой строки до строки над выбранной ячейкой

Образец вывода:

enter image description here

Как упомянуто Бенсепардом, SUBTOTAL() можно использовать тоже.


1
Я никогда не слышал о AGGREGATE до. Определенно собираюсь использовать это сейчас :)
benshepherd

5

@ Мате Юхас только что опередил меня. Я собирался на альтернативный подход, используя SUBTOTAL, В А2 поставь =SUBTOTAL(103,B$2:B2) и заполнить вниз.

SUBTOTAL Функция выполняет пронумерованную функцию над своими аргументами - эти функции описаны в справке. 103 соответствует COUNTA игнорирование скрытых строк. (Вы бы использовали значение 3, чтобы включить скрытые строки.) COUNTA подсчитывает количество непустых ячеек в диапазоне. Мы используем B$2:B2 синтаксис, чтобы держать верхнюю ячейку такой же, и расширять диапазон по мере продвижения по списку.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.