邪修・【在WPS里学Python】丨0.4:条件判断:IF函数

不说话 ✘
不说话 ✘ Lv.2 潜力创作者KVP

Lv.2潜力创作者

🤨

🎉 上回我们学会了变量,已经可以像“名称管理器”一样给值或者公式起名字!

🔥 这次我们来学一个真正开始让“公式具备思考”能力的核心函数——条件判断(if)!


📊 先来个对比

📌

😍 经常使用表格函数的宝贝们,肯定用过这个函数:

=IF(B2>10,"大","小")

意思很简单:

👉 如果A1 > 10,就返回“大”,否则返回“小”。

🐍 Python里也是一模一样的逻辑, 只不过写法有点不同:

if 条件:

执行A

else:

执行B

📌

👍 本质就是:判断 → 分支执行

👉 一样的“IF条件判断思维”!

✍️ Python中的if 到底怎么用?

📌

💡 🚀 最简单写法:

B2 = 1000

if B2 > 1000:

print("大")

else:

print("小")

▶️ 点运行 → 输出“大”

📌

😎 注意两个重点:

1️⃣ if后面不用括号! 记得"if 条件"后面用英文冒号" : "

2️⃣ 下面要缩进(很关键!!一般输入" if 条件: "后, 按回车就会自动缩进, 或者在下一行按TAB键)

👉 缩进就相当于:

“这一段代码归这个条件管”

*缩进是Python很重要的概念, 缩进表示“我属于这个代码块”

🆕 再来点进阶:结合 xl() 读取表格判断

📌

先读取B2的值, 再对值进行判断, 返回结果:

B2 = xl("B2")

if B2 > 10:

write_xl("大", "D2")

else:

write_xl("小", "D2")

▶️ 点运行 → C2自动出现结果!

😱 诶! 为什么会报错呢?

📌

注意xl()读取表格, 结果是DataFrame.

👉 DataFrame不能直接和数值进行 比较!

我们要读取B2单元格的值才能正常运行(这里用到了读取B2单元格值的方法):

B2 = xl("B2")[0][0]

if B2 > 10:

write_xl("大", "D2")

else:

write_xl("小", "D2")

点击▶️运行→运行成功!

📌

🔥 再升级一点点(多个条件)

💡 😎 类似表格中 嵌套IF公式:

=IF(B2>1000,"大于1000",IF(B2>10,"小于1000,大于10","小于等于10"))

公式大致意思:

判断B2单元格值的大小:

  • 先检查最严格的条件(>1000),满足则直接输出结果;#第一个IF

  • 若不满足,再检查次级条件(>10),满足则输出;#第二个IF

  • 若前两个条件均不满足,则触发兜底结果(≤10) #兜底假值

🐍 Python写法:

B2 = xl("B2")[0][0]

if B2 > 1000:

write_xl("大于1000", "D2")

elif B2 > 10: #elif = else if(中间判断)

write_xl("小于1000,大于10", "D2")

else:

write_xl("小于等于10", "D2")

代码大致意思:

从B2单元格读取一个数值存入变量"B2",判断这个数值的大小:

  • 大于1000,就在D2单元格写“大于1000”;#if

  • 不大于1000,但大于10,就在D2单元格写“小于1000,大于10”;#elif

  • 既不大于1000,也不大于10(也就是≤10),就在D2单元格写“小于等于10”。#else

表格函数

Python代码

📌

😏如果是很多个条件分支判断:

if 条件1:        # 先判断,条件为True时执行
    代码块1
elif 条件2:      # 条件1不满足时,才判断这个,True时执行
    代码块2
elif 条件3:      # 可多个elif,按需添加
    代码块3
else:             # 所有条件都不满足时,执行兜底代码(可选,可无)
    代码块4

☑️这是否让你想起一个表格函数:

IFS(条件1,结果1,[条件2],[结果2],[条件3],[结果3])

*可以看出, 条件判断函数思路完全一致, 只是写法有点不同

🎉 小结 & 成就感

📌

你已经:

• 学会了用 if 写条件判断

• 掌握多条件判断(elif, else)

• 理解了“判断 → 执行”的核心逻辑

• 能结合 xl + write_xl 做自动判断

• 学会了缩进规则(非常重要!不懂的话 反复学习, 反复运行)


📸 听说点赞收藏会学得更快哦~

我要开始学习了

四川省
浏览 46
4
5
分享
5 +1
2
4 +1
全部评论 2
 
李攀登
李攀登 Lv.3 优质创作者

Lv.3优质创作者

获取A1的值,可以是: print(xl("A1")[0][0]) print(xl("A1").iloc[0, 0]) print(xl("A1").loc[0, xl("A1").columns[0]])
· 河南省
回复
 
李攀登
李攀登 Lv.3 优质创作者

Lv.3优质创作者

写的非常好,学习了。
· 河南省
回复