在程序里进行多重复条件判断比较容易实现,用嵌套的if和else语句就可以实现,但我们想在excel中实现这样的功能,应该如何写公式呢?有样一个表,A列存放数据
excel表中有一列数据,a1=21,a2=22,依次累加1……一直到a15=35,共15行数据,我想在d列开始设置,如果
a列的数据在21到25之间就在对应的B列的单元格显示10,即置B1:B5为10
a列的数据在26到30之间就在对应的B列的单元格显示20,即置B6:B10为20
a列的数据在31到35之间就在对应的B列的单元格显示30,即置B11:B15为30
如下图所示:
在d1单元格输入以下公式:
=IF(A1="","",IF(AND(A1>=21, A1<=25),"10",IF(AND(A1>=26,A1<=30),"20",IF(AND(A1>=31, A1<=35),"30",A1)))),以下是公式的截图
IF(A1>100,100,A1) 解释:若A1值大于100,则返回100;若不满足
条件
则返回A1本身;
衍生版:IF函数
嵌套
IF
IF(A1>100,100,IF(A1<60,60,A1)) 解释: 若A1值大于100,则返回100;否则若A1值小于60,则返回60,若不满足
条件
则返回A1;
if a1>100:
a1=100
elif a
相当于
条件
语句:if…,…,else…
公式:=IF(logical_text, [value_if_ture], [value_if_false])
logical_text:逻辑表达式,
条件
区域;
[value_if_ture]:满足逻辑表达式则显示的值;
[value_if_false]:不满足逻辑表达式显示的值;
示例:=IF(B2>A2,“小陈胜”,“小张胜”...
请用5秒钟的时间查看下面的代码是否存在bug。
OK,熟练的程序猿应该已经发现Bug所在了,在第8行和第10行下面我没有添加关键字break; 这就导致这段代码的行为逻辑与我的设计初衷不符了。
缺点一. 语法正确,逻辑错误
这就是第一个理由为什么程序猿很少使用switch来做
条件
判断
,对于新手来说忘记写break实在是再普通不过了,就算是老猿忘记写也是时有发生的事情,而这个语法错误在诸多的语法检查器上没有办法检查出来的,因为从语法角度来说是正确的!可是代码的处理逻辑却是错误的!
在 C 语言
中
,你可以使用
多层
嵌套
的 if-else 语句来
实现
复杂的
条件
判断
。例如,可以使用
嵌套
的 if-else 语句来
判断
一个数的正负和是否为零。下面是一个示例:
#include <stdio.h>
int main() {
int num;
printf("请输入一个整数: ");
scanf("%d", &num);
if (num > 0) {
printf("这个数是正数\n");
} else if (num < 0) {
printf("这个数是负数\n");
} else {
printf("这个数是零\n");
return 0;
在上面的示例
中
,我们首先输入一个整数,然后使用
嵌套
的 if-else 语句来
判断
这个数的正负和是否为零。根据输入的不同情况,会输出相应的结果。
当然,你可以根据具体需求进行
多层
嵌套
的 if-else 语句,只要符合语法规则即可。但需要注意的是,过多的
嵌套
会使代码可读性变差,建议尽量简化和优化
条件
判断
逻辑。