excel 根据您所在的年份对单元格求和

idv4meu8  于 2023-11-20  发布在  其他
关注(0)|答案(3)|浏览(88)

我想创建一个Excel代码来计算数据列的年初至今。

我想创建一个代码,它执行以下操作:

In 2nd row the value in C2 should be 382, 
in 3rd row the value of C3 should be B2+B3 = 547+165 = 547, 
in 4th row the value of C4 should be B2+B3+B4 = 382 + 165 + 189 = 736, 
in the 5th row the value of C5 should be B5 (because a new year is started), 
...
in the 17th row the value of C17 should be B5 + B6 + ... B17 = 3765,
in the 18th row the value of C18 should be B18 (because a new year starts)

字符串
我试着让自己像个

=IF(YEAR(A2)=YEAR(A3);SUM($B$2:B3);B2)


但这是非常不一致的。

ctzwtxfj

ctzwtxfj1#

有两种方法可供选择,一种是用向下填充,另一种是用动态数组来溢出!
x1c 0d1x的数据
·单元格C2中使用的公式

=SUM(B2:INDEX(B$2:B2,XMATCH(TEXTBEFORE(A2,"-")/1,TEXTBEFORE(A$2:A2,"-")/1)))

字符串
或者,



·单元格C2中使用的公式

=MMULT(N(ROW(A2:A23)>=TOROW(ROW(A2:A23)))*N(TEXTBEFORE(A2:A23,"-")/1=TOROW(TEXTBEFORE(A2:A23,"-")/1)),B2:B23)


使用LAMBDA()辅助函数。



·单元格C2中使用的公式

=MAP(A2:A23,B2:B23,LAMBDA(α,φ,SUM(φ:INDEX(B$2:φ,
 XMATCH(TEXTBEFORE(α,"-")/1,TEXTBEFORE(A$2:α,"-")/1)))))


另外,如果你毫不犹豫地使用辅助列,那么使用SUMIFS()会更简单,辅助列可以在以后隐藏。



·单元格A2中使用的公式

=--TEXTBEFORE(B2:B23,"-")


以及单元格D2中需要填写的公式!

=SUMIFS(C$2:C2,A$2:A2,A2)

mctunoxg

mctunoxg2#

试试SUMIFS()

=SUMIFS($B$2:B2,$A$2:A2,">="&DATE(YEAR(A2),1,1),$A$2:A2,"<="&DATE(YEAR(A2),12,31))

字符串


的数据

2hh7jdfx

2hh7jdfx3#

第一个月


的数据
=MMULT((YEAR(TOROW(A2:A23))=YEAR(A2:A23))*(TOROW(ROW(A2:A23))<=ROW(A2:A23)),B2:B23)
或者是像Mayukh发布的SUMIFS。

相关问题