Я пытаюсь использовать функцию массива в Excel, формула для возврата значения отфильтрованной таблицы. это моя формула.

{= ИНДЕКС (А: А, МИН (ЕСЛИ (ИТОГО (3, OFFSET (А2, СТРОКА (А2: А31)-строка (А2), 0)), СТРОКА (А2: А31))))}

Проблема в том, что возвращаемое значение является только первым результатом, т.е. если после фильтра первая ячейка будет A9, когда я перетаскиваю формулу, она будет возвращать только значение A9 во всех ячейках. Это моя первая попытка использования функции массива, поэтому я не знаю, что проверять, я думаю, что сама формула верна, но, поскольку это моя первая попытка, может быть, я что-то упустил. Я уже нажимаю Ctrl+Shift+Enter для проверки.

На самом деле моя цель - вернуть значения ячеек, которые соответствуют определенным критериям, я пытался использовать другую функцию, но поскольку это было слишком сложно, я пытался использовать встроенный фильтр Excel, а потому, что он скрывает только те ячейки, которые не соответствуют критериям, он выиграл ». работать с моей другой формулой, которая использует отфильтрованное значение. Если у вас есть другие решения, чем то, которое я использовал, пожалуйста, предложите его, но я предпочитаю те, которые не слишком сложны или используют vba. Заранее спасибо.

1 ответ1

1

Я задал тот же вопрос некоторое время назад и получил хороший ответ от Рона Кодерра

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

Скажем, у нас есть данные в столбцах А и В. В C2 введите:

=SUBTOTAL(3,$A$2:$A2)

и скопировать вниз:

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

Помощник настроен так, чтобы оставаться простой последовательной последовательностью! Это позволяет нам использовать стандартный подход MATCH()/INDEX() для захвата видимых данных. В ячейку А1 Sheet2 введите:

=IFERROR(INDEX(Sheet1!A:A,MATCH(ROWS($1:1),Sheet1!C:C,0)),"")

и скопировать вниз:

Если вы не можете использовать вспомогательный столбец, попробуйте одну из формул Кодера.

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