Вам просто нужно добавить способ пометить агентов, которые недоступны, и рассчитать индекс для каждой ячейки.
Я добавил две строки над метками агентов, первая позволяет помечать агентов как недоступные. Я добавил условное форматирование к цвету ячейки и вычеркнул имя недоступных агентов.
Другая - вспомогательная строка, которая является инкрементным индексом для доступных агентов в форме =IF(9:9="",MAX($C8:C8)+1,"-")
Я также добавил вспомогательный столбец, который является просто индексом строки, начинающимся с 0. (Вспомогательные столбцы могут быть непосредственно включены в формулу таблицы, но это усложняет чтение. Строка и столбец помощника, очевидно, могут быть скрыты).
В формуле в таблице используется простая формула =INDEX(<docs_id_list>,MATCH(..,<docs_id_index_list>,0))
.
Формула таблицы:=IFERROR(INDEX('Document List'!$B:$B,MATCH($A:$A*(COUNTA($C$10:$P$10)-COUNTIFS($C$9:$P$9,"<>"))+$8:$8,'Document List'!$A:$A,0)),"-")
(что, очевидно, предполагает, что ваш список документов находится в столбцах A и B листа под названием "Список документов")
Мое решение использует простую формулу «первым пришел / первым вышел», но было бы возможно изменить формулу, используя номер дня недели, чтобы начать распределение в другой ячейке, чтобы таблица была смещена в сторону агентов в левом столбце.