У меня есть таблица, которая вычисляет оптимальное распределение затрат по конкретному ресурсу по часам, а затем распределяет эти данные на основе результатов. Распределение творит чудеса, но моя проблема заключается в том, что есть несколько строк с одинаковым часом. Мне не удалось создать формулу в Excel, которая могла бы учитывать предыдущие строки, а затем вычитать использованную сумму из доступного ресурса. Если весь ресурс был израсходован, по умолчанию следует использовать следующий доступный ресурс. Вот текущая формула:
=IF(Q2=0,"NONE",INDEX('RESOURCE ALLOCATION'!$F$3:$I$3,1,MATCH(LARGE(INDIRECT("'RESOURCE ALLOCATION'!F"&B2+3&" :I"&B2+3),1),INDIRECT("'RESOURCE ALLOCATION'!F"&B2+3&" :I"&B2+3),0)))
Q2
= первая ячейка с числом в ней
Resource Allocation
— рабочий лист в этой книге, где диапазон $F$3:$I$3
— это доступные ресурсы по именам.
Формула MATCH
просто смотрит на час текущей строки, указывает его на соответствующую строку в таблице, а затем возвращает связанный ресурс по имени.
Каждая последующая строка увеличивается на единицу следующим образом:
=IF(Q3=0,"NONE",INDEX('RESOURCE ALLOCATION'!$F$3:$I$3,1,MATCH(LARGE(INDIRECT("'RESOURCE ALLOCATION'!F"&B3+3&" :I"&B3+3),1),INDIRECT("'RESOURCE ALLOCATION'!F"&B3+3&" :I"&B3+3),0)))
Таблица, которую я использую, выглядит так:
Hour Resource 1 Resource 2 Resource 3 Resource 4 TOTAL
21 50 0 0 10 60
На этот час требуется 60
единиц. 50
выделено против Resource 1
и 10
выделено против Resource 4
. По текущей формуле он просто распределяет все против Resource 1
.