У меня следующая ситуация:
У меня есть рабочий лист, который содержит список работы с предполагаемыми часами. Эти часы можно назначить пользователям (перечисленным в столбцах D и E) с помощью столбца C. Теперь я хочу рассчитать назначенные часы для каждого пользователя в столбцах D E и F.
Я могу заполнить значения для невычисляемых полей, используя следующую функцию: я уже использую следующие функции (удалил знак $ для удобства чтения, и я использую запись 3 в качестве примера, потому что она не вычисляется)
- Расчет за назначенные часы:
=IF(C3=D1;B3;0)
. Таким образом, если имя пользователя совпадает с именем назначенного пользователя, будет использоваться значение, в противном случае — 0. - Calculation for not assigned hours :
=SUM(D3:E3) - B3
. So if the assigned user does not exist in the columns then the hours are not assigned.- EDIT I have edited the calculation for not assigned hours. The previous version was:
=IF(AND(C3<>D1; C3<>E1);B3;0)
- EDIT I have edited the calculation for not assigned hours. The previous version was:
Эти два вычисления работают нормально, но, конечно, не для вычисляемых полей.
Чего я хочу добиться
Теперь я хочу заполнить расчеты над вопросительными знаками. Это легко, если вы знаете, где размещаются вычисляемые поля, но это может быть где угодно. Поэтому мне нужна функция, которая делает следующее:
if: The value of columns B is calculated
then: calculate all values for the certain user until the next calculated row
else: use one of the two calculations I have already described
Запрашиваемые результаты с использованием образца листа:
?1?
:SUM(D3;D6)
?2?
:SUM(E3;E6)
?3?
:SUM(F3;F6)
?4?
:SUM(D8;D9)
?5?
:SUM(E8;E9)
?6?
:SUM(F8;F9)
Пример листа
A B C D E F
1| Tasks | Hours |Assigned To| User1 | User2 |Not Assigned|
2|Main Task |=SUM(A3:A6)| | ?1? | ?2? | ?3? |
3| Sub Task | 10 | User1 | 10 | | |
4| Sub Task | 25 | User2 | | 25 | |
5| Sub Task | 14 | User2 | | 14 | |
6| Sub Task | 17 | User1 | 17 | | |
7|Main Task |=SUM(A8:A9)| | ?4? | ?5? | ?6? |
8| Sub Task | 22 | User2 | | 22 | |
9| Sub Task | 43 | | | | 43 |
Объяснение:
Столбец A
: Каждая подзадача имеет один дополнительный отступ (с помощью кнопки ) по сравнению с его родительская задача.
Столбец B
: значение в этом столбце будет рассчитано, если элемент содержит подэлементы.
Task 1 Calculated because contains subtasks (Task 1.1 and Task 1.2)
Task 1.1 Calculated because contains subtasks (Task 1.1.1 and Task 1.1.2)
Task 1.1.1 Not calculated because no subtasks
Task 1.1.2 Not calculated because no subtasks
Task 1.2 Not calculated because no subtasks
Task 2 Not calculated because no subtasks
Task 3 Calculated because contains subtasks (Task 3.1)
Task 3.1 Not calculated because no subtasks
Столбец C
: пользователю могут быть назначены только не вычисляемые столбцы.
Столбец D - E
: Заголовок содержит имя пользователя, которому могут быть назначены задачи.
Столбец F
: содержит не назначенные часы для каждой задачи.
SUM()
формулами в ColA в других столбцах? - person Tim Williams   schedule 02.05.2012SUM
будут циклическими ссылками. Кроме того, кажется, что ваша таблица плохо организована и даже избыточна. Какова общая цель этого рабочего листа? Если вы спрашиваете, что я о вас думаю, то почему бы не вставить таблицу с итоговой строкой, а затем выбратьSUM
из раскрывающегося списка для столбцов C:E? Фактически, вы можете сделать это для столбца A, а затем просто отфильтровать столбец B (пользователь), чтобы увидеть их общее количество часов. Однако, пожалуйста, уточните свою цель. - person Zairja   schedule 02.05.2012SUM
будут циклическими ссылками? - person hwcverwe   schedule 03.05.2012SUM
часов из задачи (например, B2, B7) или иногда оно пустое? - person Zairja   schedule 03.05.2012SUM
задачи всегда будет рассчитан. Таким образом, B2 и B7 никогда не будут пустыми. - person hwcverwe   schedule 03.05.2012