我試圖找出一個公式來計算每個工人每月以及每個專案的作業時間總和。我很確定 XLOOKUP、AND/IF 和 SUBTotal 可能會有用,但我不確定如何將它們組合起來。這是確切的資料。
每個員工的查找值(A 列),每個員工每個專案的查找值(B 列),每個時間表期間的查找值(C 列)格式:2022/06/03,然后總結每個員工的總工時,每個專案每月(D 列)
提前致謝!
我嘗試了 XLOOKUP 公式和日期 SUBTOTAL 小時公式的公式。

uj5u.com熱心網友回復:
Sumifs 解決你的問題
=SUMIFS($D$2:$D$12,$A$2:$A$12,$A15,$B$2:$B$12,$B15,$C$2:$C$12,">="&DATE(2022,7,1);$C$2:$C$12,"<="&DATE(2022,7,31))

uj5u.com熱心網友回復:
也許您也可以嘗試使用SUMPRODUCT 
? 單元格中使用的公式C20
=SUMPRODUCT((A20=$A$2:$A$13)*(B20=$B$2:$B$13)*(TEXT($C$2:$C$13,"mm/yyyy")="06/2022")*($D$2:$D$13))
注意:使用如下所示的單元格參考使其動態化

? 單元格中使用的公式C20
=SUMPRODUCT(($A20=$A$2:$A$13)*($B20=$B$2:$B$13)*(TEXT($C$2:$C$13,"mm/yyyy")=TEXT(C$18,"mm/yyyy"))*($D$2:$D$13))
uj5u.com熱心網友回復:
此方法使用 O365 函式生成陣列解決方案。參考日期在單元格中生H2成為1x3陣列,格式如下:(mmm-yy與計算無關,僅用于可視化):
=EDATE(DATE(2022,6,1),SEQUENCE(1,3,0))
然后H3輸入以下公式并將其向右展開,無需向下展開:
=LET(set, $A$2:$D$13, lkup, $F$3:$G$8, SOM, H2, projects, INDEX(set,,1),
employes, INDEX(set,,2),timesheets, INDEX(set,,3), hours, INDEX(set,,4),
MAP(INDEX(lkup,,1), INDEX(lkup,,2), LAMBDA(prj,empl, LET(EOM, EOMONTH(SOM,0),
SUM(FILTER(hours, (projects =prj) * (employes = empl) * (timesheets >= SOM)
* (timesheets <= EOM),0))
)))
)
whereLET用于方便閱讀和寫作。
注意SUM/FILTER:您也可以使用以下選項之一代替:
SUMPRODUCT(hours, (projects =prj) * (employes = empl) * (timesheets >= SOM)
* (timesheets <= EOM))
或者
SUMPRODUCT(hours, N(projects =prj), N(employes = empl), N(timesheets >= SOM),
N(timesheets <= EOM))
或者只是SUM:
SUM(hours * (projects =prj) * (employes = empl) * (timesheets >= SOM)
* (timesheets <= EOM))
這是一個偏好問題。
這是輸出:

轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/533426.html
上一篇:數一數,這個詞用了多少張
