我们需要通过第一列“日期”计算出第三列“中文季度”。
使用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","第四季度",
当我们需要使用IF进行多重判断的时候,用SWITCH代替IF能让我们更快速、清楚的书写公式,不必重复书写判断条件。 接下来我们再看SWITCH的另外一种常见用法。SWITCH加TRUE(布尔表达式)。
我们想对员工的入职年限进行分类。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里是一样的。








暂无数据