1

Я хочу использовать формулу Excel для поиска нескольких значений, но я не могу использовать INDEX или SMALL , что делает большинство решений на основе формул массива, к сожалению, непригодными.

Пример сценария ниже:

1 лист содержит 2 столбца. Столбец A содержит неуникальные ячейки. Столбец B содержит уникальные ячейки. В столбце C мне нужно вернуть все ячейки из B, где соседняя ячейка в столбце A содержит символ "A".

Как я могу сделать это без использования формул массива?

2 ответа2

2

Вот решение, которое не использует ни INDEX(), ни SMALL(), ни формул массива.

С некоторыми данными от A1 до B20:

В С1 введите:

=IF(A1="A",1,"")

и в C2 введите:

=IF(A2="A",MAX($C$1:C1)+1,"")

и скопировать вниз. Наконец в D1 введите:

=IF(ROWS($1:1)>MAX(C:C),"",OFFSET($B$1,MATCH(ROWS($1:1),C:C)-1,0))

и скопируйте вниз:

Этот метод использует столбец C, чтобы пометить "хорошие" строки таким образом, чтобы их можно было легко получить из них любые данные.

0

Вы не можете достичь желаемого результата только с помощью формул, поскольку вы пытаетесь динамически заполнить столбец C. Вы можете сделать это вручную, отфильтровав значения и удалив строки, которые не содержат "A" в столбце A. В противном случае я предлагаю создайте небольшой скрипт VBA, который зацикливается на массиве A:B

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