对于区间中的行和列的Sumif

问题描述 投票:-5回答:2

我试图在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小时。

现在我需要一个公式,数月<3,8>将从小时<2,6>总和值,其余月份(1-2,9-12)将从小时<4,7>总和值。我尝试过使用Sumifs公式,但它似乎一次只适用于一列。

如果使用配方不可行,那么我有一些VBA知识,这样的解决方案也会受到欢迎。

excel vba excel-formula
2个回答
2
投票

假设A2:A13的月份和B1:I1的小时数你可以使用这个公式

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

根据月/小时的任何组合的要求而变化


1
投票

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

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

enter image description here

无论是月份还是所需时间都不需要连续。

© www.soinside.com 2019 - 2024. All rights reserved.