簡體   English   中英

跨多行,對於兩個日期之間的每個工作日,計算一個值,然后按周求和並按團隊成員姓名分組

[英]Across multiple rows, for each weekday in-between two dates, calculate a value, then sum by week and group by team member's name

我正在開發一個團隊工作量跟蹤器,以防止我的同事工作超負荷並幫助他們確定優先級。

對於這項任務,我必須使用 Google 表格。

解釋:

彼得、約翰和哈利都是團隊成員。 他們每天都在處理用戶請求。 當他們收到請求時,他們必須進入一個類似於“示例數據”選項卡的表格:

  • 他們認為需要解決的工作量(以天為單位);
  • 他們開始工作的日期;
  • 他們必須完成的日期。

最終目標:

這是我的最終目標。 我希望每個團隊成員有一行,一年中每周有一個列,顯示該團隊成員在該周處理的所有請求中的每周總工作量。

筆記:

  • 他們可以有並發請求。
  • 請求可以跨越多個工作周。
  • 他們周一至周五工作。
  • 例如,需要 2 天才能完成的請求不必在其開始日期之后的 2 天內完成(因為它可能不緊急)。 例如,團隊成員決定在 10 個工作日內完成的 2 天請求將花費他們 (2/10) = 每天 0.2 個工作日,持續 10 天。
  • 每個成員可以(但不應該)每周工作量等於或大於 5。

我做了什么:

  • 我搞砸了 Pivot 表,但無法達到我的最終目標。
  • 我已經完成了日視圖。 我認為我不應該每天使用一列,並且以某種方式需要在(數組?)公式中進行所有計算以達到所需的最終目標,但我無法弄清楚。

任何幫助將不勝感激!

利用:

=ARRAYFORMULA(QUERY(IFERROR(SPLIT(FLATTEN(IF(SEQUENCE(1; MAX(E2:E10-D2:D10))<=E2:E10-D2:D10+1; 
 A2:A10&"×"&WEEKNUM(D2:D10+SEQUENCE(1; MAX(E2:E10-D2:D10); 0); 2)&"×"&
 INDEX(SORT(QUERY(QUERY(SPLIT(FLATTEN(IF(SEQUENCE(1; MAX(E2:E10-D2:D10))<=E2:E10-D2:D10+1; 
 WEEKNUM(D2:D10+SEQUENCE(1; MAX(E2:E10-D2:D10); 0); 2)&"×"&C2:C10&TEXT(D2:D10+SEQUENCE(1; 
 MAX(E2:E10-D2:D10); 0); "×ddd×")&ROW(D2:D10); )); "×"); 
 "where not Col3 matches '^$|sam.|dim.|53'"; ); 
 "select Col2/count(Col1),Col4 group by Col2,Col4 label Col2/count(Col1)''"); 2; 1);; 1)&
 TEXT(D2:D10+SEQUENCE(1; MAX(E2:E10-D2:D10); 0); "×ddd×"); )); "×")); 
 "select Col1,sum(Col3) where not Col1 matches '53|^$' 
  and not Col4 matches 'sam.|dim.' group by Col1 pivot Col2"))

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM