Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 间隔中的行和列的SUMIF_Excel_Vba_Excel Formula - Fatal编程技术网

Excel 间隔中的行和列的SUMIF

Excel 间隔中的行和列的SUMIF,excel,vba,excel-formula,Excel,Vba,Excel Formula,我试图在excel中编写一个公式,根据一些标准从表中获取值。表如下所示: +------------+----+----+----+-----+----+----+----+----+ | Month/Hour | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | +------------+----+----+----+-----+----+----+----+----+ | 1 | 93 | 21 | 32 | 42 | 55 | 30 |

我试图在excel中编写一个公式,根据一些标准从表中获取值。表如下所示:

+------------+----+----+----+-----+----+----+----+----+
| Month/Hour | 1  | 2  | 3  |  4  | 5  | 6  | 7  | 8  |
+------------+----+----+----+-----+----+----+----+----+
|          1 | 93 | 21 | 32 |  42 | 55 | 30 | 98 | 97 |
|          2 | 41 | 73 | 25 |  58 | 48 | 10 | 19 | 20 |
|          3 | 87 | 17 | 92 | 100 |  9 | 31 | 22 | 22 |
|          4 | 92 | 91 | 63 |  28 | 95 | 58 | 55 | 47 |
|          5 | 56 | 34 | 69 |  60 | 87 | 64 | 40 | 53 |
|          6 |  8 | 64 | 92 |  30 | 48 | 27 | 52 | 65 |
|          7 | 77 |  6 | 27 |  45 | 29 | 91 | 24 | 90 |
|          8 | 13 | 14 | 31 |  10 | 40 | 49 | 22 | 57 |
|          9 | 70 | 16 | 55 |  95 | 85 | 41 | 65 | 17 |
|         10 | 72 | 79 | 81 |  48 | 13 | 40 | 99 | 52 |
|         11 | 76 | 88 | 80 |  45 | 97 | 68 | 64 | 62 |
|         12 | 73 | 82 | 97 |  74 | 93 |  7 |  6 | 71 |
+------------+----+----+----+-----+----+----+----+----+
在第一列中,我们有月份(1-1月、2-2月等),在第一行中,我们有从1到8的小时数

现在我需要一个公式,在几个月内,将小时的值求和,在剩下的几个月内(1-2,9-12),将小时的值求和。我尝试过使用Sumifs公式,但它似乎一次只适用于一列


如果使用公式不可行,则我有一些VBA知识,也欢迎使用此类解决方案。

列出您的月份和小时数,然后在SUMPRODUCT中使用MATCH:

=SUMPRODUCT(B2:I13,ISNUMBER(MATCH(B1:I1,M:M,0))*ISNUMBER(MATCH(A2:A13,L:L,0)))


所需的月份和小时都不需要连续。

假设月份在
A2:A13
中,小时在
B1:I1
中,则可以使用此公式

=SUMPRODUCT(ISNUMBER(匹配(A2:A13,{3,8},0)*匹配(B1:I1,{2,6},0))+0,B2:I13)


根据需要对任何月/小时的组合进行更改

您可以只留下一条评论,说明您为什么要投反对票,而不是仅仅投反对票。这不是很有帮助。Sumifs根据多列的值只对一列求和,因此,例如,如果A列中的值为2,B列中的值为5,则对D列求和。我认为您应该尝试一下IF和SUM的组合,它可以根据IF语句对不同的列进行求和。当您的条件基于匹配值时,我已经看到了解决方案。然后可以使用求和和和索引函数。不幸的是,在我的情况下,我同时有大于和小于的条件,我尝试过的所有事情都不起作用。无论如何,感谢您的输入@roosz0rd请阅读@Retterdesdialogs^^^此处^^。还有,还有。这个问题是世界上所有错误的完美例子。“我需要XYZ,有人能把它放在银盘上送给我吗?”这就是它的由来。这不是这个网站的目的。或者我和BarryHoudini的混合物:
=SUMPRODUCT(B2:I13,--(ISNUMBER(匹配(B1:I1,M:M,0)*匹配(A2:A13,L:L,0)))
@BarryHoudini终于得到了一个我没有想得太多的,和你的相似的。我的生命是完整的……:)