在众多使用 Excel 的职业当中,会计可谓是天天都要和表格打交道。比如,下面这个小例子,需要将第一列中的金额按第二列的月份分配在后面的月份当中:例如:第二行 3500,需要按 3 个月分配在后面的三个月当中,2022 年 1 月份分配 3500,2022 年 2 月份分配 3500,2022 年 3 月份分配 3500,超过 3 个月的,就不分配金额了。解决这类问题,主要是利用条件判断函数作为主体思路。IF(条件,条件成立时返回的值,条件不成立时返回的值)=IF(MONTH(C$1)<=$B2,$A2,"")
先用 MONTH 函数取出第一行中的【C1】单元格中的月份数字,然后再与前面的【B2】单元格中的数字进行比较。如果取出的月份数字小于等于【B2】单元格中的值,就返回第二参数:【A2】单元格中的金额;否则就返回第三参数:空文本("")。MONTH(C$1):返回【C1】单元格中的月份数字 1。公式在向右拖动的时候,会变成 MONTH(D$1),返回【D1】单元格中的月份数字 2,以此类推!
❶ 此方法在用 MONTH 取月份的时候,【C1】单元格中必须为真日期或者假日期。比如,此题即使用的是文本型日期(即:假日期形式)。比如:C$1 中的行号要固定。$B2 和$A2 中的列号要固定,看上去是日期,其实单元格中是文本:1 月,那么此时就不能使用 MONTH 函数了。此种方法利用 COLUMN 函数返回单元格的列号进行判断,可以完美解决方法 1 中的不足。而且无论第一行是否是日期,还是非日期,都可以使用。=IF(COLUMN(A1)<=$B2,$A2,"")
此方法使用 COLUMN 函数取出【A1】单元格中的列号,然后与【B2】单元格中的数字进行比较,如果条件成立(小于或等于),就返回【A2】单元格中的金额,否则返回空文本("")。
此题巧妙地利用了 COLUMN 函数进行列偏移,相应返回判断所需要的数字。在公式向右拖动的时候,COLUMN(A1) 返回 1,COLUMN(B1) 返回 2,以此类推。正好与 B 列中的数字进行比较。与 COLUMN 用法类似的还有它的兄弟 ROW,是获取单元格的行号。COUNT 函数用于计算数字的个数,此处也可以利用它来解决此问题!=IF(COUNT($B2:B2)<=$B2,$A2,"")
公式解析:
此处使用 COUNT 计数函数来统计在【$B2:B2】单元格区域中的数字的个数,如果小于【B2】单元格中的数字,就返回【A2】单元格,否则返回空文本("")。
此时统计的是【$B2:C2】这个单元格区域中的数字,返回数字 2,此处的区域在不断地扩大,类似循环引用。即前面公式生成的结果作为后面公式的参数使用。
这种区域由小不断变大的用法也很广泛。
比如,在日常工作中碰到需要累计求和的时候,我们就可以尝试使用这个思路哦!今天分享了三种方法来解决日常工作中金额分配的问题,如果此题用【IF 函数+SUM 函数】来解决,思路又是什么呢?![]()
如果你想利用空闲时间学点 Excel 技巧,让工作更轻松,我推荐你加入秋叶 Excel 3 天集训营~在秋叶 Excel 集训营,每天学习大概 30 分钟,从日常的功能出发,全程演示,一课一练,夯实进阶每一步。秋叶 Excel 3 天集训营
原价 99 元
现在 只需 1 元
![]()
![]()
![]()
![]()