excel 若另一个单元格满足条件,则该单元格内出现指定内容

如上表,【公休】下的【1】代表周一周二休息,【2】表示周二周三休息,【7】表示周日周一休息
拿第一个人张兵胜来说,我需要在后面的日期上,每个【六】【日】格内写上【休息】
如这样

该如何使用函数将所有人的休息自动打出?难道只能一个个用IF函数吗

D3=IF(OR(MATCH(D$1,$F$1:$L$1,0)=$A3,MATCH(D$1,$F$1:$L$1,0)=$A3+1),"休息","")

右拉下拉


额,我的图中少了一列,应该是E3=IF(OR(MATCH(E$1,$G$1:$M$1,0)=$A3,MATCH(E$1,$G$1:$M$1,0)=$A3+1),"休息","")

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-08-12
假设张兵胜,在单元格D3,
在单元格E3输入公式
=IF(AND(IF(COLUMN()=6,7,MOD(COLUMN()+1,7))-$A3<2,IF(COLUMN()=6,7,MOD(COLUMN()+1,7))-$A3>=0),"休息","")

往右拉,往下拉即可
第2个回答  2015-08-12
这种一次性的公式,写起来还不如直接手动复制粘贴来得快。
可以这样:
1、把公休按顺序排个序,然后把第一行填好,最多只打一遍“休息”,其他都是复制粘贴;
2、复制那31个单元格,然后按照公休的时间错几列后再粘贴,然后一行一行都这么复制粘贴。
3、把“备注”那一列从上往下自动填充,右边再有列有多余的“休息”的,直接删除即可。
4、按序号排序,各行恢复原状。
第3个回答  2015-08-12
假设张兵胜,在单元格D3,在单元格E3输入公式:
=IF(OR($A3=(FIND(E$1,"一二三四五六日")),$A3=(FIND(D$1,"一二三四五六日"))),"休息","")
第4个回答  2015-08-12
IF也是函数啊
样表发[email protected] 研究一下
相似回答