ОТРЕДАКТИРОВАНО ДЛЯ ВКЛЮЧЕНИЯ ПРИМЕРА: Как отобразить МАКСИМАЛЬНОЕ число из строки, только ЕСЛИ предыдущая ячейка равна ИСТИНА?
Я хочу отобразить последнюю дату посещенного мероприятия. Но только если человек посетил мероприятие.
Как вы видите, дата последнего мероприятия, которое посетил Джон, должна быть 13.02.2019, но формула, которую я сейчас использую, получает только лучший день, не принимая во внимание, посетил ли человек мероприятие или нет. Возможно ли это сделать?
решение1
Если у вас MAXIFS:
=MAXIFS(B:B,A:A,TRUE)
Если нет, то вы можете сделать AGGREGATE:
=AGGREGATE(14,7,$B$1:$B100/($A$1:$A$100),1)
или эта формула массива:
=MAX(IF($A$1:$A$100,$B$1:$B100))
В последнем случае при выходе из режима редактирования необходимо использовать сочетание клавиш Ctrl-Shift-Enter вместо Enter.
Последние два являются формулами типа массива, и поэтому указанные диапазоны должны быть ограничены наборами данных.
решение2
Короткий ответ — заняться матричной математикой!
По сути, мы можем взять столбцы и перемножить их, а затем найти "МАКС". "True" имеет значение 1, тогда как "False" имеет значение 0. Предполагая, что ваш столбец "true/false" - это "A", а ваш столбец значений - "B", вам нужно что-то вроде:
=MAX(($A:$A)*($B:$B))
ВАЖНЫЙ
Для выполнения матричных вычислений... Excel требует нажать controlshiftenterдля матричных вычислений. Просто ввести формулу и нажать enterне получится.
У этого метода есть один недостаток... у него будут проблемы с отрицательными числами... поскольку ложные столбцы будут оцениваться как 0... и, следовательно, максимум будет равен 0.