使用SWITCH代替IF进行多条件判断

今天和大家分享在PowerPivot中使用SWITCH代替IF进行多条件判断。

我们先来看一个简单的例子:

使用SWITCH代替IF进行多条件判断_第1张图片

我们需要通过第一列“日期”计算出第三列“中文季度”。

使用FORMAT函数,我们可以快速计算出1、2、3、4这样的季度格式(第二列):

季度=FORMAT('示例'[日期],"Q")

通常我们中国用户希望用第几季度这样的形式展现,所以我们还需要进行一下转换。先看看IF的公式:

=IF('示例'[季度]="1","第一季度",

IF('示例'[季度]="2","第二季度",

IF('示例'[季度]="3","第三季度",

IF('示例'[季度]="4","第四季度",

BLANK()

)

)

)

)

多层的IF嵌套判断,是不是有点晕?这还只是4个IF判断,如果是进行星期或月份的判断则IF写起来会更容易让人犯晕,甚至出错。

看看SWITCH的写法:

=SWITCH('示例'[季度],

"1","第一季度",

"2","第二季度",

"3","第三季度",

"4","第四季度",

BLANK()

)

这是SWITCH的标准写法:

SWITCH(expression,

value1, result1,

value2, result2,

...

else

)

当我们需要使用IF进行多重判断的时候,用SWITCH代替IF能让我们更快速、清楚的书写公式,不必重复书写判断条件。


接下来我们再看SWITCH的另外一种常见用法。SWITCH加TRUE(布尔表达式)。

使用SWITCH代替IF进行多条件判断_第2张图片

我们想对员工的入职年限进行分类。IF的公式如下:

=IF('入职'[入职年限]<1," 1年以内",

IF('入职'[入职年限]<3," 1-3年",

IF('入职'[入职年限]<5," 3-5年",

IF('入职'[入职年限]<10," 5-10年",

"10年以上")

)

)

)

对于这种基于某个区间的判断,我们可以使用SWITCH加TRUE来实现:

=SWITCH(TRUE(),

'入职'[入职年限]<1," 1年以内",

'入职'[入职年限]<3," 1-3年",

'入职'[入职年限]<5," 3-5年",

'入职'[入职年限]<10," 5-10年",

"10年以上")

是不是超级简单?

相比较传统的IF函数,SWITCH更容易书写和阅读。同时由于不需要嵌套多重IF判断,出错概率也更小。

最初SWITCH只是PowerPivot中才有的DAX函数,在EXCEL函数里是没有的。但由于SWITCH的方便简单,在最新的Office 365中,SWITCH已经作为新增函数添加到Excel中了,使用最新版Office 365的小伙伴也可以在Excel 中使用SWITCH函数,用法和PowerPivot里是一样的。


这就是今天分享的内容,更多PowerPivot信息欢迎试听学习我们的视频课程–

Excel Power Pivot数据建模分析(基础篇)


*PowerPivot工坊原创文章,欢迎转载,请注明出处 。


延伸阅读:

一张图看懂微软PowerBI系列组件

亮瞎双眼的Power BI可视化图表

Power BI在运营分析中的应用介绍

当Power BI遇上恐怖主义

当Power BI遇上欧洲杯


如果您想深入学习微软Power BI,欢迎登录网易云课堂试听学习我们的“从Excel到Power BI数据分析可视化”系列课程。或者关注我们的公众号(PowerPivot工坊)后猛戳”在线学习”

使用SWITCH代替IF进行多条件判断_第3张图片

你可能感兴趣的:(使用SWITCH代替IF进行多条件判断)