分享

IF函数一个超经典的用法,无意间想到的

 Excel不加班 2021-09-12

VIP学员的问题,表格是从系统导出来的,实际上有几千行上百种产品,每个产品只在第一行写上名称,下面是对应的明细,如图就是3种产品。现在要统计每种产品的数量。

刚开始学员是直接用透视表,发现根本统计不出来,每个产品都没有对应的数量。

于是用笨方法,手工添加一列产品,也就是每个复制粘贴上去。上百种产品要操作挺久的,而且每月还得重新操作一遍做这些无用功。

事情的经过介绍完了,接下来就是卢子出手的时候。

仔细观察,单据类型除了往来销售、小计,剩下的都是产品,利用这个特点,就可以用IF进行判断,如果不是往来销售就返回本身的值,否则就返回上一个单元格的值。

可是用公式生成的结果,跟预想的完全不一样,全部返回原来的内容,怎么回事呢?

点单元格进去,在编辑栏选中所有内容,发现后面隐藏了一大堆空白字符。

直接将单元格的内容复制到公式里面,就得到我们想要的结果。

=IF(B2<>"往来销售            ",B2,A1)


当然,往来销售            也可以用单元格代替,这样看起来公式更简洁一点。

=IF(B2<>$B$3,B2,A1)


小计这个要处理也行,不处理也行,没啥影响。

不处理小计,就是创建透视表后,取消勾选空白和小计就行。

处理小计,让小计等于原来的产品,就再加一个条件,嵌套AND就行。因为单元格含有空白字符,小计以B8单元格代替。

=IF(AND(B2<>$B$3,B2<>$B$8),B2,A1)


这种在用透视表的时候,需要将单据类型作为筛选,筛选往来销售,否则数量会重复。

这种IF函数用法,其实最先是来自于合并单元格填充内容。合并单元格,其实就是第一格有内容,其他都是空白,借助这个特点,让不等于空的显示本身,否则返回上一个单元格的内容。

=IF(B2<>"",B2,A1)


IF函数类似的用法使用频率还是非常高,比如在产品的第一行求小计。

=IF(A2<>A1,SUMIF(A:A,A2,D:D),"")


其实,很多东西并不是有多难,而是你关键时刻能否想起来了。

推荐:你会IF函数吗?

上文:LOOKUP眼睛看懂了,手、脑却不听使唤,公式每次都错,扎心!

你是否也遇到过,你想半天,别人发公式出来,你一看,这么简单我怎么就想不到呢?

作者:卢子,清华畅销书作者,《Excel效率手册 早做完,不加班》系列丛书创始人,个人公众号:Excel不加班(ID:Excelbujiaban)

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多