您的位置  > 互联网

♥一次遇见,终生相伴--♥系统学习答疑哦

♥一次相遇,一生相伴♥

今天有同学问的一个问题:

如上图所示,C栏计算累计付款,计算要求为:C2=B2*AG2,C3=B3*AF3,...,即累计付款=B*栏的值该行的最后一个数字。

如何解决这个问题呢?

很多学生不愿意系统地学习常用的功能,导致遇到问题时无法将所掌握的功能融会贯通。

下面我就分享一下我写的9个公式,希望能够给大家带来启发。

1、B列的参考列是固定的。 最重要的是确定每一行最后一个数字的位置,所以我们想办法得到这个位置,然后引用这个位置的数字。

1.=B2*((ROW(),35-ROW()))

每行最后一个数字的行号很容易确定,而列号从33开始逐渐回溯,所以我想到使用35-ROW()来确定列号。 如果知道行号和列号,则可以返回地址并转换文本地址使用函数进行引用。

2. =B2*INDEX(D2:AG2,1,32-ROW())

返回每行最后一个位置对应的数字,因此只需确定最后一个位置的列号即可。

3. =B2*INDEX(D2:AG2,1,COUNT(D2:AG2))

确定每行最后一个位置的列号可以通过计算位数来计算。

4.=B2*($C$1,ROW()-1,32-ROW())

与 3 相同,只不过一个使用 INDEX,另一个使用 INDEX 返回每行的最后一个数字。

5.=B2*(AG1,1,2-ROW())

思路和上面一样,只是用相对位置来简化第二个参数。 当然,你也可以简化如下:

2. 要找到每行的最后一个值,可以通过其他方式来完成,而无需找到其位置。

6.=B2*(10^5,C2:AG2)

(10^5,C2:AG2),您可以找到行或列中的最后一个数字或文本。

7. =B2*SUMIF(D3:AG3,"",D2:AG2)

通过观察数据的结构,我们可以发现下一行第一个空值对应的上一行数据就是我们需要的数据。

8. =B2*((D3:AG3="")*D2:AG2)

与6类似,但使用数组思维。

9.=myf(B2,AH2)

这是什么东西?

这是我自定义的函数,代码如下:

有时VBA比函数更简单。 我并不是想欺骗你学习 VBA。 如果你的工作需要它,学习一些VBA肯定是有好处的。

这一部分先分享到这里。 希望大家每天都有进步!