簡體   English   中英

數組算術,Excel,非VBA

[英]Array Arithmetic, Excel, Non-VBA

我沒有為此尋找VBA解決方案。 目標是找出從2015年7月1日起,約翰在12個月內工作了多少小時。 我有兩個工作表。 工作表一如下所示:

Name   |     Date Start     | Total Hours
John   |     7/1/2015       |    Formula goes here

工作表二

   Date    |     John           |    Jane         | Joe
  7/1/2015 |      3             |    2            | 2.5
  7/2/2015 |      3             |    2.5          |  0
  rest of attendance data

日期可以在電子表格允許的范圍內下降。 我想要做的是將函數保留在工作表公式中。 我現在的公式是:

=SUMIFS(Worksheet2!B:B, Worksheet2!$A:$A, ">="&Worksheet1!$B2, Worksheet2!$A:$A, "<="&EDATE(Worksheet1!$B2, 12))

如果通過VBA進行此操作,則可以執行以下操作:

Range("B"&2 & ":" & "B" & 1058476)

但是我正在尋找一種方法來查找此人,該人的姓名在該行的工作表1的哪一列,其姓名在工作表2的哪一列; 然后,將工作表2中該列中介於12個月時間跨度之間的所有值相加,然后將該數字放入工作表1單元格C2中。 我不想使用Worksheet2!B:B。

嘗試使用偏移。

=SUMIFS(OFFSET(Worksheet2!A:A,0,MATCH(Worksheet1!$B1,Worksheet2!$A2:$A100,0)), Worksheet2!$A:$A, ">="&Worksheet1!$B2, Worksheet2!$A:$A, "<="&EDATE(Worksheet1!$B2, 12))

應該獲取正確的列。

暫無
暫無

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

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