Формула массива для переключения выбора - PullRequest
0 голосов
/ 11 февраля 2020

Я пытаюсь определить топ-3 в зависимости от выбранных критериев, суммы или количества. Пользователь может выбирать между двумя. У меня есть формула для определения топ-3, но я не знаю, как ее изменить, чтобы учесть выбор пользователя. Пользователь выбирает J2.

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

Я думаю, что мне нужна вложенность формулы массива choose или offset или что-то. Формула, которая у меня есть в выбранной ячейке:

=INDEX($A$3:$A$35,MATCH(1,INDEX(($E$3:$E$35=LARGE($E$3:$E$35,ROWS(I$7:I7)))*(COUNTIF(I$7:I7,$A$3:$A$35)=0),),0))

, которая вычисляет верхний 3. Как я могу изменить это в зависимости от выбора пользователя?

enter image description here

Редактировать: я понимаю, что могу иметь два набора данных для каждого критерия и сделать offset, чтобы выбрать между двумя, но подумал, что один из вас волшебников, вероятно, может сделать все это в одном. (Эти данные используются для построения графика.)

Edit2: извините, если он был слишком абстрактным. Есть две колонки. E и F. E - список сумм. F - это список отсчетов. Я хочу найти топ-3 из обоих. Но, очевидно, только по одному за раз. В зависимости от того, что выбирает пользователь.

Как вы можете видеть, хотя выборка в данный момент считается (J7), результаты показывают первые 3 по сумме.

Используя число, выбранное в J2, я должен быть в состоянии вложить offset функцию для захвата желаемого столбца да? 1 для столбца E, 2 для столбца F. Вот как я понимаю функцию для работы. Однако мои попытки вложения не увенчались успехом, потому что я считаю, что мне нужна формула массива, которая выходит за рамки моих навыков.

Edit3: см. Pi c. Он показывает топ-3 по каждому критерию. Как мне их объединить?

enter image description here

1 Ответ

1 голос
/ 11 февраля 2020

Вы можете объединить его в одну (не массив) формулу. Вот простой пример, который, возможно, вы можете адаптировать к вашей ситуации.

Это формула в J7. Измените 2 в J2 на 1, и он вернет наибольшее значение в E, а не F.

=INDEX(OFFSET($E$3:$E$35,,J2-1,,),MATCH(1,INDEX((OFFSET($E$3:$E$35,,J2-1,,)=LARGE(OFFSET($E$3:$E$35,,J2-1,,),ROWS(I$7:I7)))*COUNTIF(I$7:I7,$A$3:$A$35)=0),),0))

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...