Почему мой индексный массив пропускает значения в excel?

=INDEX(B:B, AGGREGATE(15, 6, ROW(1:999)/(C1:C999="Duplicated"), ROW(1:1)))

Это почему-то пропускает 2 из 47 значений. Даже если эти клетки дублируются в столбце C.

2 ответа

Решение

Ваши ссылки на диапазон ячеек, вероятно, смещаются по мере того, как вы расширяете свой список и "падаете" из списка справочных данных. Если вы посмотрите на формулу во второй ячейке в списке индексов, она, вероятно, будет выглядеть так:

=INDEX(B:B, AGGREGATE(15, 6, ROW(2:1000)/(C2:C1000="Duplicated"), ROW(2:2)

Блокировка диапазонов ячеек как абсолютных ссылок (с использованием F4) должна правильно заполнить ваш индексный список. Я не уверен, нужна ли вам часть массива формулы INDEX для ссылки на весь столбец B, но если нет, то формула в первой ячейке вашего списка индексов должна выглядеть следующим образом:

{=INDEX($B$1:$B$999, AGGREGATE(15, 6, ROW($1:$999)/($C$1:$C$999="Duplicated"), ROW(1:1)))}

Обязательно используйте ctrl+shift+enter при выполнении этого, чтобы сделать его формулой массива. После копирования в ваш индексный список формула во второй ячейке вашего индексного списка будет выглядеть следующим образом:

{=INDEX($B$1:$B$999, AGGREGATE(15, 6, ROW($1:$999)/($C$1:$C$999="Duplicated"), ROW(2:2)))}

Если возможно, я бы создал таблицу из ваших данных и заменил ваши ссылки на ячейки столбцами таблицы, чтобы сократить время обработки.

Убедитесь, что в ваших диапазонах / столбцах одинаковая длина

=INDEX(B:B, AGGREGATE(15, 6, ROW(1:999)/(C1:C999="Duplicated"), ROW(1:1)))

Все индексы столбца B. Дублированы строки 1:999.

Если что-то изменится, тогда будут различия. Либо измените индекс на 1:999, либо измените дубликат на весь столбец (C:C)

Другие вопросы по тегам