Excel多次搜索/匹配和求和(编辑:用SUMIFS,COUNTIFS回答)

时间:2016-05-01 16:33:37

标签: excel excel-formula

我正在寻求帮助来解决这个excel问题。

基本上我想为F列中的单元格创建一个公式,它对3个条件(在A,B,C列中的单元格上)进行多次搜索,并希望访问所有这些(多个)匹配的相应列D值发生,并在F列中对此求和。我还想要计算匹配量以计算F列中的值;放在G栏旁边。

e.g。

IF col_A_value (anywhere in whole A column) = current_col_A_value +/- 1

AND col_B_value (anywhere in whole B column) = current_col_B_value +/- 1

AND col_C_value (anywhere in whole C column) = current_col_C_value - 1

THEN (output in column F) the sum of all values from row D where this criteria is met

(另外,作为单独但相关的单元格公式,G列中的输出)发生这种情况的总次数。

注意:A,B,C列中的值都是整数,+ / - 上面的值表示搜索值为+1,0或-1的任何值。 (即这包括价值本身)。

e.g。如果单元格A1中的值= 10,B1 = 45,C1 = 881,那么第一个搜索条件将在A列中查找值为9,10或11的所有其他行。然后根据这些行,第二个搜索条件将搜索优化为仅包含B列中44,45或46的那些行,并且第三个搜索条件将再次优化搜索以仅包括列C值为880的那些行。 接下来,将来自所有这些“过滤”行的列D单元格中的值相加,并将结果放在列F单元格中。 (这些结果行的计数将放在G列中。(需要单独的公式))

由于这些都是唯一条目(考虑列A,B,C在空间中创建唯一的矢量坐标),因此最多应找到9个条目并求和。 A +/- 1:3变化,B +/- 1:3变化和仅C -1:1变化。总计:3x3x1 =最多9个唯一行(可能没有最小值,如下例所示)。

(如果未找到匹配项,则值为0表示良好。)

A,B,C,D和E作为给定值的示例,以及计算的F列值(连同col G中显示的计数):

A   B   C   D   E   F   G

1   1   1   90  8   0   0
1   2   1   80  6   0   0
1   3   1   70  1   0   0
1   4   1   60  6   0   0
2   1   1   50  1   0   0
2   2   1   40  8   0   0
2   3   1   30  6   0   0
2   4   1   20  8   0   0
3   1   1   10  8   0   0
3   2   1   11  6   0   0
3   3   1   12  1   0   0
3   4   1   13  1   0   0
1   1   2   99  8   260 4
1   2   2   89  6   360 6
1   3   2   79  1   300 6
1   4   2   69  6   180 4
2   1   2   59  1   281 6
2   2   2   49  8   393 9

为了说明如何计算列F值,这是工作:

260 = 90 + 80 + 50 + 40

360 = 90 + 80 + 70 + 50 + 40 + 30

300 = 80 + 70 + 60 + 40 + 30 + 20

180 = 70 + 60 + 30 + 20

281 = 90 + 80 + 50 + 40 + 10 + 11

393 = 90 + 80 + 70 + 50 + 40 + 30 + 10 + 11 + 12

非常感谢您对此有任何帮助!

1 个答案:

答案 0 :(得分:0)

这些公式应该符合您的要求:

F1: =SUMIFS(D:D,A:A,"<="&A1+1,A:A,">="&A1-1,B:B,"<="&B1+1,B:B,">="&B1-1,C:C,C1-1)
G1: =COUNTIFS(A:A,"<="&A1+1,A:A,">="&A1-1,B:B,"<="&B1+1,B:B,">="&B1-1,C:C,C1-1)

可以根据需要简单地复制公式...
(我仍然不知道col E的用途)