Arrayformula для распределения стоимости наращивания на другие проекты - PullRequest
1 голос
/ 02 октября 2019

Я пытаюсь решить эту проблему с помощью ARRAYFORMULA, но я как бы застрял, поэтому я надеялся, что смогу получить некоторую помощь здесь. Итак, у меня есть этот лист расчета проекта, содержащий несколько клиентов и несколько проектов. У нас есть расходы на наращивание («ToAllocate = TRUE» для каждого клиента), которые мы должны распределить по другим проектам («Carrier = TRUE» для каждого клиента). Затраты на ускорение (Стоимость за час * Часы) должны быть распределены по проектам «Перевозчик» пропорционально количеству проектных часов / общего количества рабочих часов. Мне нужно придумать формулу массива, чтобы я заполнил столбец M:

https://docs.google.com/spreadsheets/d/1OsWX80jvKgQAYuHi56ULBPm43GrZrnt7bvwtH5dy-ZM/edit?usp=sharing (столбцы J, K и L являются вспомогательными столбцами, поэтому я бы не помещал все в столбец M)

1 Ответ

1 голос
/ 02 октября 2019

удалить все в J2: M диапазон

вставить эту формулу в J2 ячейку:

=ARRAYFORMULA(IF(D2:D=TRUE; {
       VLOOKUP(A2:A; QUERY(A:H; "select A,sum(H) where C=TRUE group by A"; 0); 2; 0)\
  F2:F/VLOOKUP(A2:A; QUERY(A:H; "select A,sum(F) where D=TRUE group by A"; 0); 2; 0)\
       VLOOKUP(A2:A; QUERY(A:H; "select A,sum(H) where C=TRUE group by A"; 0); 2; 0)*
 (F2:F/VLOOKUP(A2:A; QUERY(A:H; "select A,sum(F) where D=TRUE group by A"; 0); 2; 0))\
  I2:I+VLOOKUP(A2:A; QUERY(A:H; "select A,sum(H) where C=TRUE group by A"; 0); 2; 0)*
 (F2:F/VLOOKUP(A2:A; QUERY(A:H; "select A,sum(F) where D=TRUE group by A"; 0); 2; 0))}; ))

0

...