新开一个Tag,关于Excel的,突然有去学VBA的想法了。。。然而作为码农,有了python和pandas,为什么还要用VBA。。。言归正传,描述一下问题,如图所示,

已知A列和B列,其中A列对应ID,B列对应该ID的数值。设C列某一行为R,统计A列A2:AR中出现ID=AR的元素的行号,将B列中相应行的值相加,输出到CR单元格中。用如下算法表示,

1
2
3
R <-- ROW(CR)
Rows <-- FIND(A2:AR, AR)
CR <-- SUM(B(Rows))

利用Excel自带的公式SUMIF可以实现以上算法,其核心是固定A2,用A$2表示,相应的公式则为

1
=SUMIF(A$2:A2, A2, B$2:B2)

最后,再利用excel单元格的自动填充功能,获取CR对应的运算结果。

References

[1] SUMIF函数