Excel - 如果找到字符串,则在标题之间汇总内容

tra*_*cer 0 excel excel-2007 excel-formula

快照

我正在尝试执行以下操作:如果它在第3列中找到字母"A",则将第2列的所有值(与"A"在同一行中)相加,但是,在标题之间是单一范围.

我已经尝试过使用数组和其他类型的函数,但我没有得到任何地方..

棘手的部分是总和必须在找到新标头时重新启动.标题之间没有空隙.

感谢大家!

PS.实际上,没有任何"块"没有"A",就像你在第二个标题下面看到的那样.我已经过滤并删除了那些.

lor*_*i_m 5

您可以尝试在单元格D2中输入此内容并填写:

=IF(LEN(C3)<>1,SUMIF($C$2:C2,"A",$B$2:B2)-SUM($D$1:D1),"")
Run Code Online (Sandbox Code Playgroud)

...但是如果你有很多行,最好使用代码填充简单的SUMIF公式.一种方法是按下Alt+F11以访问VB代码窗口,然后在此行的即时窗口中输入并按Enter键:

[E1:E13]=[IF(LEN(OFFSET(C1:C13,1,0))<>1,"=SUMIF(C"&LOOKUP(ROW(C1:C13),ROW(C1:C13)/(C1:C13="H3"))+1&":C"&ROW(C1:C13)&",""A"",B"&LOOKUP(ROW(C1:C13),ROW(C1:C13)/(C1:C13="H3"))+1&":B"&ROW(C1:C13)&")","")]
Run Code Online (Sandbox Code Playgroud)

这将在显示的单元格中输入这三个公式,并将剩余的单元格留空.

E4  =SUMIF(C2:C4,"A",B2:B4)
E9  =SUMIF(C6:C9,"A",B6:B9)
E13 =SUMIF(C11:C13,"A",B11:B13)
Run Code Online (Sandbox Code Playgroud)