excelperfect 本次的练习是:如下图1所示,以Y/N的缩写形式表示一周中哪一天是工作日,哪一天休息,即Y表示那天是工作日,N表示那天休息,要求以简写的形式(即星期几的开头字母)输出一周中的工作日,如下图1中的结果列所示。 图1 一个有趣的练习!如何使用公式来计算结果? 先不看答案,自已动手试一试。 解决方案 有几种方法来实现。 方法1:使用IF/MID函数/连接符组合 在单元格D5中的公式为: =IF(MID(B5,1,1)='Y','S','') &IF(MID(B5,2,1)='Y','M','') &IF(MID(B5,3,1)='Y','T','') &IF(MID(B5,4,1)='Y','W','') & IF(MID(B5,5,1)='Y','T','')& IF(MID(B5,6,1)='Y','F','') &IF(MID(B5,7,1)='Y','S','') 下拉至单元格D9。结果如下图2所示。 图2 方法2:使用TEXTJOIN/MID函数组合 在单元格D5中的公式为: =TEXTJOIN('',TRUE,IF(MID(B5,{1,2,3,4,5,6,7},1)='N','',{'S','M','T','W','T','F','S'})) 下拉至单元格D9,结果如下图3所示。 图3 方法3:使用TEXTJOIN/MID/REPT函数组合 在单元格D5中的公式为: =TEXTJOIN('',TRUE,REPT({'S','M','T','W','T','F','S'},MID(B5,{1,2,3,4,5,6,7},1)='Y')) 下拉至单元格D9,结果如下图4所示。 图4 公式中,MID函数会对每个值返回TRUE或FALSE,而REPT函数将TRUE/FALSE转换为1/0。 小结: 1. MID函数中使用数组参数来判断多个值。 2. 公式中有多个相似的部分,可以考虑使用数组公式来解决。 注:本次的练习整理自exceljet.net,练练手! |
|
来自: hercules028 > 《excel》