夏之雨 发表于 2021-10-20 19:33:00

IF函数求助

V8为空格时,W8也为空格,在原有的基础上怎么添加函数。
V8为空格或已取消时,W8也为空格,在原有的基础上怎么添加函数。
感谢。


渝哥 发表于 2021-12-4 03:14:35

=IF(OR(V8="",V8="已取消"),"",IF(V8="已完成",1,IF(V8="进行中",2,3)))

王月佳 发表于 2021-12-5 19:09:09

=IF(OR(V8="已取消",V8=""),"",IF(V8="已完成",1,IF(V8="进行中",2,3)))

绍吉 发表于 2022-1-4 18:14:42

首选你要明白 IF 函数的语法逻辑,一般情况下 IF 函数有 3 个参数 IF(条件,结果1,结果2)
既然你已经写出了两层 IF 嵌套,那基本应用是没有问题了。
当你要继续嵌套的时候,可以把之前的结果看成 结果2
当然还需要注意条件的顺序,最好把最有可能出现的情况放在最前面,比如在这个案例中,
V8 为空放在最前面:【=IF(V8="","",结果2)】
V8为 "已取消" 放在第2:【=IF(V8="","",IF(V8="已取消","",结果2))】
所以最后的结果就是:=IF(V8="","",IF(V8="已取消","",IF(V8="已完成",1,IF(V8="进行中",2,3))))
当 V8 为空或者"已取消"两者任意满足其一时,W8 都显示空,前两个条件的判断可以改为:【 OR(V8="",V8="已取消")】
因此公式还可以改为:=IF(OR(V8="",V8="已取消"),"",IF(V8="已完成",1,IF(V8="进行中",2,3)))

空空的先森 发表于 2022-1-13 15:12:54

谢谢大神们,我会好好学习IF这个逻辑的,而不是依猫画虎

背着炸弾的猫 发表于 2022-1-17 09:36:17

我有个问题想请问下楼主,你的日历中是如何做到非当月日期不显示的效果的?

柳泉居士 发表于 2022-1-25 00:38:59

C8 单元格公式如下:
=DATE($C$5,$E$5,1)-WEEKDAY(DATE($C$5,$E$5,1),2)+COLUMN(A:A)+(ROW(1:1)-1)*7

这个问题不懂的人有点复杂,懂的人就很简单,感兴趣可以看一下:
其中 C5,E5 分别是 【年、月】
用 DATE 函数 【 DATE($C$5,$E$5,1) 】得到当月第一天的日期;
WEEKDAY 函数 【 WEEKDAY(DATE($C$5,$E$5,1),2) 】得到日期是星期几的数字,比如 2021/10/21 是星期四,函数结果就是 4 ;
COLUMN 函数 【 COLUMN(A:A) 】 计算"列号",A 列的列号就是 1 ,当公式往右复制的时候,结果就变成 2,3,4,5,6,7
ROW 函数 【 ROW(1:1) 】计算 "行号",第一行的行号是 1 ,公式往下复制,结果就变成 2,3,4,5,
(ROW(1:1)-1)*7 :因为每一行是7个值,所以公式每往下移动一行,日期天数就要加 7
现在把上面的4个部分结合起来看,以 C8 单元格为例:
DATE($C$5,$E$5,1) 得到这个月第一天的日期 2021/10/1;
WEEKDAY(DATE($C$5,$E$5,1),2) 得到今天的星期数是 4;
COLUMN(A:A) 得到的结果是 1;
(ROW(1:1)-1)*7 得到的结果是 0;
DATE - WEEDDAY + COLUMN + ROW 的结果是:2021/10/1-4 +1 +0 = 2021/9/27 是 9月份;
为什么没有显示?
因为设置了条件格式公式:=$E$5<>MONTH(C8) ,意思是当日期每在月份不等于当月,设置的格式是单元格颜色为 【白色】
即然 C8 单元格计算得到的结果是 9 月,自然单元格颜色就显示为白色了。
另外,红色单元格表示当天,也是设置了条件格式公式:=TODAY(),单元格颜色为红色
另外,还设置了单元格格式为自定义格式:d ,显示日期中的 【日】,所以 2021/10/1 显示的就是 1
如果能看懂上面的,那整个设置应该也就明白了

谢语轩 发表于 2022-1-26 08:44:31

抱歉,我也不懂。
页: [1]
查看完整版本: IF函数求助