EXCEL: сопоставление с любым столбцом

#excel

#excel

Вопрос:

Мой вопрос: Можете ли вы построить формулу соответствия так, чтобы она совпадала с любым столбцом A или B?

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

У меня есть набор данных, который выглядит примерно так:

Совпадение 1 // Команда 1 // Команда 2 // Победитель: команда 1

Совпадение 2 // Команда 1 // Команда 3 // Победитель: команда 3

Я хочу иметь возможность отслеживать предыдущие выступления (например, результаты команды в последних 4 матчах), чтобы иметь возможность использовать это для прогнозирования победителя. Для этого я создаю таблицу, которая выглядит примерно так:

Команда 1 Соответствует 1 // Результату (0 или 1)

Команда 1 соответствует 2 // Результат (0 или 1)

Проблема в том, что для того, чтобы иметь возможность определить, играла ли команда 1 в матче 1, мне нужно проверить 2 столбца, и я ничего не могу найти об использовании сопоставления с логикой OR (раньше я использовал его с логикой AND).

Я могу придумать несколько решений методом грубой силы (например, дублировать каждое совпадение, чтобы в нем была только 1 команда и независимо от того, выиграла она или нет), но проблема в том, что у меня 20 тысяч строк совпадений и сотни разных команд, поэтому неэффективность разрушает мой компьютер. Если вы видите более элегантный способ сделать это, я весь внимание!

Есть мысли?

Комментарии:

1. Какую версию Excel вы используете?

2. я думаю, 2019. Почему?

3. В 365 есть дополнительная формула для фильтрации данных — сработало бы что-то вроде =IF(FILTER($D$1:$D$2,(B1:B2="Team 1") (C1:C2="Team 1"),"")="Team 1",1,0) .

Ответ №1:

Немного подумав об этом, я нашел способ сделать это, хотя он и не особенно элегантный. Псевдоформула:

=IF(сопоставление(«Команда 1»; столбец 1;0) > сопоставление(«Команда 1»; столбец 2;0); индекс (используя столбец 2); индекс (используя столбец 1))

Тогда нужно использовать Indirect, чтобы диапазон, который проверяется, начинался после предыдущей сопоставленной строки.