2

У меня есть список кодов элементов в столбце (изменения за день), который необходимо распределить на другой лист и в несколько столбцов (в зависимости от количества агентов, доступных в день).

Чтобы иметь лучшую иллюстрацию, пожалуйста, смотрите этот скриншот: Коды предметов.png

Тогда это должно быть распределено на это: Database.png ,

Что может быть лучшей формулой или даже синтаксисом VBA для этого?

1 ответ1

0

Вам просто нужно добавить способ пометить агентов, которые недоступны, и рассчитать индекс для каждой ячейки.

Я добавил две строки над метками агентов, первая позволяет помечать агентов как недоступные. Я добавил условное форматирование к цвету ячейки и вычеркнул имя недоступных агентов.

Другая - вспомогательная строка, которая является инкрементным индексом для доступных агентов в форме =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 листа под названием "Список документов")

Мое решение использует простую формулу «первым пришел / первым вышел», но было бы возможно изменить формулу, используя номер дня недели, чтобы начать распределение в другой ячейке, чтобы таблица была смещена в сторону агентов в левом столбце.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .