Индекс совпадения результатов при изменении критериев совпадения - PullRequest
0 голосов
/ 03 сентября 2018

Я пытаюсь вернуть входное значение в строке (определенной ячейке), где входная дата в той же строке, что и входное значение, совпадает с датой в верхней строке.

Из этого форума и других исследований я определил, что функция сопоставления индексов - лучший вариант, чем vlookup.

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

Example of result

Функция выглядит следующим образом: = IF ($ E $ 3 = $ G $ 2: $ L $ 2, INDEX ($ D: $ D, MATCH ($ E $ 3, $ G $ 2: $ L $ 2,1)))

Какая альтернатива использованию функции «Индекс», потому что я хочу вернуть значение, специфичное для строки, где происходит совпадение?

1 Ответ

0 голосов
/ 03 сентября 2018

Если я правильно понимаю ваш вопрос, вы хотите вернуть «да» в ячейке L3, потому что ячейка L2 имеет ту же дату, что и D3, а ячейка L1 имеет номер 6, а шестая ячейка в столбце D - «да».

Начните с попытки найти дату D3 в G2: L2:

=match($D$3,$G$2:$L$2,0)

с 0 в качестве последнего параметра для точного соответствия, и диапазон не нужно сортировать. Чтобы вернуть значение из строки 1, вам нужно заключить это в индекс, например

=index($G$1:$L$1,match($D$3,$G$2:$L$2,0))

Это вернет вам 6. Теперь вы можете посмотреть на столбец D и использовать индекс с числом, возвращаемым по формуле выше.

=index($D:$D,index($G$1:$L$1,match($D$3,$G$2:$L$2,0)))

Наконец, вы хотите выполнить это, только если в G2 присутствует дата в D3: L2. Есть несколько способов сделать это, например, используя Countif

=if(countif($G$2:$L$2,$D$3),index($D:$D,index($G$1:$L$1,match($D$3,$G$2:$L$2,0))),"")

Мне даже не нужно сравнивать результат Countif с чем-либо, потому что, если счет равен 0, это то же самое, что FALSE, и если число больше нуля, это то же самое, что и TRUE.

Дайте мне знать, если это поможет или вам нужно больше разъяснений.

Редактировать после комментариев

Возможно, вы слишком обдумали это. Я думаю, что формула, которую вы хотите, это та, которую вы вводите в ячейку G3 и копируете поперек и вниз.

=IF(G$2=$D3,$C3,0)

In Words: если дата в столбце D текущей строки совпадает с датой в строке 2 текущего столбца, то получить значение из столбца C в текущей строке, в противном случае вернуть 0.

enter image description here

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