Excel Formula множественный индекс совпадения и усреднение результата - PullRequest
0 голосов
/ 11 марта 2020
  1. У меня есть две формулы совпадения индексов для просмотра других сводных данных вкладки Excel

INDEX (MATCH ()) + INDEX (MATCH ())

Обе формулы имеют IFERROR = 0

IFERROR (INDEX (MATCH ())) + IFERROR (INDEX (MATCH ()))

И, в общем, ИСКЛЮЧЕНИЕ, чтобы возвратить 0

ИСКЛЮЧЕНИЕ (ИФЕРРОР (ИНДЕКС (МАТЧ ())) + ИФРЕКТОР (ИНДЕКС (МАТЧ ())))

Выше работает ОК .

Теперь мне нужно усреднить, поэтому, если первое совпадение индекса возвращает 30, а второе совпадение индекса возвращает 20, мне нужно (30 + 20) = 50/2 = 25

Если первый индекс возвращение совпадения 0 и возвращение второго индекса совпадения 40 Мне нужно (0 + 40) = 40/1 = 40 и наоборот

Есть ли способ сделать это, не требующий IF (AND (, может Использовать AVERAGEIF или IFS или что-то еще для простоты.

Пример используемой таблицы данных

enter image description here

Формула

enter image description here

Спасибо, Гридлок, но в вашем примере отсутствует последнее совпадение в верхней формуле, например, если у вас было это

enter image description here

положить формулу в ячейку G3 = INDEX ($ M $ 3: $ O $ 8, MATCH (G $ 1 и $ D3, $ L $ 3: $ L $ 8,0), MATCH ($ F3, $ M $ 2: $ O $ 2,0))

1 Ответ

0 голосов
/ 11 марта 2020

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

=AVERAGE(SUMIF($L$3:$L$7,G1&F3&D3,$M$3:$M$7),SUMIF($L$3:$L$7,G1&F3&E3,$M$3:$M$7))

enter image description here

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

=AVERAGEIF($L$3:$L$7,G1&"*",$M$3:$M$7)

enter image description here

Обновление: ----- -------------------------------------------------- -------------------

Надеюсь, что это работает для вас!

=SUMPRODUCT(COUNTIF(G$1,LEFT($L$3:$L$6,4))*IF(INDEX($M$3:$O$6,,MATCH($F3,$M$2:$O$2,0))=0,OFFSET(INDEX($M$3:$O$6,,MATCH($F3,$M$2:$O$2,0)),1,),INDEX($M$3:$O$6,,MATCH($F3,$M$2:$O$2,0))))/2

в Excel> = 2019

=AVERAGEIFs(INDEX($M$3:$O$7,,MATCH($F3,$M$2:$O$2,0)),$L$3:$L$7,G$1&"*",INDEX($M$3:$O$7,,MATCH($F3,$M$2:$O$2,0)),"<>0")

enter image description here

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