=filter(
arrayformula(Attendance!G2+row(indirect("1:"&today()-Attendance!G2))),
isna(match(
arrayformula(Attendance!G2+row(indirect("1:"&today()-Attendance!G2))),
Attendance!G2:G29,
0
))
)
Объяснение
Основная идея заключается в том, что «список всех отсутствующих» формально является результатом вычитания набора существующих дат из набора всех возможных дат.
Для реализации вычитания (дополнения) мы используем композицию формул FILTER + ISNA / MATCH. Первый аргумент для FILTER - это набор, из которого мы вычитаем, второй аргумент для MATCH - это вычитаемый набор. ARRAYFORMULA генерирует список всех возможных дат между 2 указанными датами.
Повторение ARRAYFORMULA вызывает сожаление, но не существует ключевого слова let или эквивалента для формул Google. Если кто-нибудь знает, как этого избежать, буду благодарен за комментарий или исправление к ответу.