МАКС, ЕСЛИ предыдущая ячейка равна ИСТИНА в EXCEL

МАКС, ЕСЛИ предыдущая ячейка равна ИСТИНА в EXCEL

ОТРЕДАКТИРОВАНО ДЛЯ ВКЛЮЧЕНИЯ ПРИМЕРА: Как отобразить МАКСИМАЛЬНОЕ число из строки, только ЕСЛИ предыдущая ячейка равна ИСТИНА?введите описание изображения здесь

Я хочу отобразить последнюю дату посещенного мероприятия. Но только если человек посетил мероприятие.

Как вы видите, дата последнего мероприятия, которое посетил Джон, должна быть 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.

Связанный контент