求无需嵌套IF函数的Excel公式:实现星期前一天转换(如Monday转Sunday)
获取前一天星期的简洁公式(无需嵌套IF)
嘿,完全不用写一堆嵌套IF来枚举每天!这里有个简洁的公式可以直接搞定:
=TEXT(DATE(1900,1,WEEKDAY(DATEVALUE(A1&" 1"))-1),"dddd")
公式拆解:
DATEVALUE(A1&" 1"):把A列的星期文本(比如"Monday")转换成一个有效的日期——给星期加个" 1"(比如"Monday 1"),Excel就能识别出对应的日期(不用管具体是哪一年,我们只需要它的星期属性)。WEEKDAY(...):将转换后的日期转为星期数字,默认规则是周日=1,周一=2,……,周六=7。-1:计算前一天的星期数字,这里有个小技巧:如果原数字是1(周日),减1后得到0,Excel的DATE函数会自动把DATE(1900,1,0)识别为1899年12月31日,而这一天正好是周六——完美对应周日的前一天!TEXT(...):最后把处理后的日期转回完整的英文星期文本("dddd"是英文完整星期的格式代码,如果是中文环境可以换成"aaaa")。
测试示例:
- 如果A1是
Monday,公式返回Sunday - 如果A1是
Sunday,公式返回Saturday - 如果A1是
Friday,公式返回Thursday
亲测有效,不用再写冗长的嵌套IF啦!
内容的提问来源于stack exchange,提问作者papacoolaid666
相关产品推荐
相关产品推荐

