Логика c и логика , выраженная Тединозом , верны. Предлагаемые решения также работают.
Все еще. Можно следовать другому подходу .
Проблема в том, что при вашем втором COUNTIFS
условии вы смешиваете даты и время, поэтому несовместимость дает ложные результаты.
Легко исправить, слегка подправив формулу .
Вам просто нужно заменить два упоминания в столбце I
на H+I
={"Priority";
ARRAYFORMULA(if(isblank(J2:J),
if(isblank(H2:H)=false,
countifs(J:J,"",H:H,"<="&H2:H)
-countifs(J:J,"",H:H,H2:H,H:H+I:I,">"&H2:H+I2:I) ,""),""))}
Таким образом, вы создаете виртуальную временную метку , учитывающую как данную дату, так и время даты (избегая использования дополнительного вспомогательного столбца вместе с удалением второй COUNTIFS
или радикально изменение формулы с помощью функции RANK
) .
В качестве дополнительного бонуса вы получаете сохранение всех столбцов без изменений, поскольку вам "нужны эти столбцы отдельно для функциональности в остальной части книги" .
Виртуальная отметка времени работает, потому что, например, используется. H194+I194
(где H194
- это дата 03/09/2020
, а I194
- это время 8:33:00 PM
) , Google Sheets достаточно умен, чтобы НЕ просто добавлять эти две ячейки в качестве числовых значений c но объединить их и создать метку времени 3/9/2020 20:33:00