Применить функцию к массиву, соответствующему критерию - PullRequest
0 голосов
/ 27 апреля 2020

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

Давайте скажем следующий пример

            1                    2
 |---------------------|------------------|
1|          A          |         B        |   
 |---------------------|------------------|
2|          1          |         2        |
 |---------------------|------------------|
3|          1          |         3        |
 |---------------------|------------------|
4|          1          |        12        |
 |---------------------|------------------|
5|          2          |         8        |
 |---------------------|------------------|

Теперь в C2 мне нужно найти способ найти значение MAX из всего столбца B для всех ячеек, имеющих значение 1 в столбце A.

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

AFAIK, все методы, такие как =INDEX() или =VLOOKUP(), могут найти только одно наиболее точное (точное) совпадение. Однако можно ли вернуть массив всех совпадающих результатов ?

Я бы предположил, что это будет go что-то вроде

=INDEX($A$2:$B$5; MATCH($A$2; $A$2:$A$5; 0); 1)

Однако здесь снова возникнет проблема в этом случае это остановится при первом вхождении, скорее всего, чем go по всему массиву.

Вероятно, единственное, о чем я могу думать, это исчерпывающе go по каждому числу, вернуть в отдельном значении каждый случай (в матрице), а затем добавить число, но это кажется слишком хлопотным

Ожидаемый результат:

            1                    2
 |---------------------|------------------|------------------|
1|          A          |         B        |         C        |
 |---------------------|------------------|------------------|
2|          1          |         2        |         12       |
 |---------------------|------------------|------------------|
3|          1          |         3        |         12       |
 |---------------------|------------------|------------------|
4|          1          |        12        |         12       |
 |---------------------|------------------|------------------|
5|          2          |         8        |         8        |
 |---------------------|------------------|------------------|

Ответы [ 2 ]

2 голосов
/ 27 апреля 2020

SUMPRODUCT + MAX работает и для более старых версий Excel:

=SUMPRODUCT(MAX(($A$1:$A$4=A1)*$B$1:$B$4))

enter image description here

1 голос
/ 27 апреля 2020

Проверено это:

   =MAXIFS(B:B,A:A,A1)

Возвращает желаемый результат.

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