#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, чтобы диапазон, который проверяется, начинался после предыдущей сопоставленной строки.