3

У меня есть столбец данных и маркер рядом с ним. Считать:

ID № 1 - A
ID № 2 - B
ID № 3 - A

Я пытаюсь переместить только идентификационные номера с маркером A - поэтому мой окончательный результат

ID # 1
ID # 3

Это очень легко сделать с VBA - Фильтровать диапазон, копировать, вставлять. Я пытаюсь найти не VBA решение этой проблемы. Я пробовал различные формулы массивов - Index(диапазон, sumproduct(критерии строки *)), но я не могу заставить его работать. Как бы мне заставить это работать?

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

1 ответ1

2

Использование:

=IFERROR(INDEX($A$1:$A$8,SMALL(IF($B$1:$B$8="A",ROW($B$1:$B$8),999999),ROW(A1))),"")

Small возвращает идентификаторы с "A" для каждой строки (от наименьшего к наибольшему)
A1:A8 измените его, чтобы он соответствовал вашему столбцу ID
B1:B8 измените его, чтобы он соответствовал вашему столбцу A
Сохранить $ для фиксированных ссылок
нажмите Ctrl+Shift+Enter вместо Enter - это формула массива

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .