我的工作表中有这样的设置:
A B C D E F
1 11-apr 1pm 2pm START END TOTAL
2 2pm 3pm 11-apr 14-apr 8,50 h
3 6pm 7pm 15-apr 25-apr ....
4 7pm 8pm
5 14-apr 10am 11am
6 12am 12:30am
7 2pm 3pm
8 3pm 5pm
9 15-apr 1pm 3pm
10 6pm 7pm
...我需要做以下几件事:
以D2和E2为起点,在11-4月至14日之间,每天花费多少小时,并用F2写出总数。我不能修改我的工作表,而且我也不喜欢为引用值创建隐藏的单元格,因为我不想弄乱我的excel工作表。
我要找的是,因为我有一些编程技巧,在A之间做一个循环:一个单元格,从"11-apr“(在这里是A1)开始,一直到我找到"14-apr”,然后在第二天的单元格之前停下来(在A8 )。我也不喜欢做一个宏,因为它需要对D和E列是动态的。A中的日期是随机的,所以没有提供第二天到来的方法。
我问你,在单元格F2中,这是否有可能存在于一个公式中。
我所做的就是寻找裁判。行"11-apr“和"14-apr",然后在数组公式中找出哪些单元格不是空的(如INT(A:A<>"") ),并且使用返回的数组,我想从"11-apr”行到下一个--非空-单元格-后面的-- "14-apr“-row减1 (直到"15-apr" row -1),这是”14-apr“减号后数组中的下一个非0(非假)值。我将许多公式与匹配、索引结合在一起,用于获取第n个元素,但毫无用处。
希望我说的够清楚了,谢谢!
我正在为Mac工作,万一我知道有用的话!
发布于 2019-04-23 07:46:31
好吧,一个解决方案是数组公式CTRL+SHIFT+ENTER。
=SUMPRODUCT(INDIRECT("C"&MATCH(MIN(IF($A$1:$A$12>E4,$A$1:$A$12)),A:A,0)-1&":C"&MATCH(MIN(IF($A$1:$A$12>=D4,$A$1:$A$12)),A:A,0))-INDIRECT("B"&MATCH(MIN(IF($A$1:$A$12>E4,$A$1:$A$12)),A:A,0)-1&":B"&MATCH(MIN(IF($A$1:$A$12>=D4,$A$1:$A$12)),A:A,0)))但它使用的是INDIRECT,在大型数据库上速度可能相当慢。绿色单元格包含公式。

我以前有个约会。您还可以输入表中没有出现的日期。
我跳过了am和pm,但是如果单元格被正确地格式化为日期,就没有问题了。
https://stackoverflow.com/questions/55800756
复制相似问题