You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

多条件IF AND逻辑的费用计算公式编写请求

多条件IF AND逻辑的费用计算公式编写请求

嘿,我来帮你搞定这个多条件费用计算的逻辑!不管你是要在Excel里写公式,还是用代码实现,我都给你整理好清晰的方案,先把所有规则明确下来,再上具体实现:

完整费用规则梳理

按照你提到的延续逻辑,我把从Class XI到XII、Arts到Science所有组合的费用规则整理如下(XII的费用是在XI同类型基础上增加了2000,你可以根据实际需求调整这个数值):

  • 当Class为"XI"时
    • Stream是"Arts":
      • Computer="Yes" → 总费用 20000
      • Computer="No" → 总费用 15000
    • Stream是"Science":
      • Computer="Yes" → 总费用 25000
      • Computer="No" → 总费用 20000
  • 当Class为"XII"时
    • Stream是"Arts":
      • Computer="Yes" → 总费用 22000
      • Computer="No" → 总费用 17000
    • Stream是"Science":
      • Computer="Yes" → 总费用 27000
      • Computer="No" → 总费用 22000

实现方案1:Excel公式(嵌套IF+AND)

如果是在Excel中使用,直接用嵌套的IF和AND函数就能实现,公式如下:

=IF(AND(A1="XI", B1="Arts", C1="Yes"), 20000,
 IF(AND(A1="XI", B1="Arts", C1="No"), 15000,
 IF(AND(A1="XI", B1="Science", C1="Yes"), 25000,
 IF(AND(A1="XI", B1="Science", C1="No"), 20000,
 IF(AND(A1="XII", B1="Arts", C1="Yes"), 22000,
 IF(AND(A1="XII", B1="Arts", C1="No"), 17000,
 IF(AND(A1="XII", B1="Science", C1="Yes"), 27000,
 IF(AND(A1="XII", B1="Science", C1="No"), 22000, "无效条件"))))))))

注:这里假设Class在A列,Stream在B列,Computer在C列,你可以根据实际单元格位置修改;最后返回的"无效条件"可以替换成你需要的默认提示或数值。


实现方案2:Python代码(字典映射,易维护)

如果是用代码实现,推荐用字典映射的方式,比嵌套IF更简洁,后续扩展新的Class/Stream也更方便:

def calculate_total_fee(class_level, stream, computer):
    # 构建费用映射表,键是(年级, 方向, 是否选计算机)的元组
    fee_mapping = {
        ("XI", "Arts", "Yes"): 20000,
        ("XI", "Arts", "No"): 15000,
        ("XI", "Science", "Yes"): 25000,
        ("XI", "Science", "No"): 20000,
        ("XII", "Arts", "Yes"): 22000,
        ("XII", "Arts", "No"): 17000,
        ("XII", "Science", "Yes"): 27000,
        ("XII", "Science", "No"): 22000
    }
    # 匹配对应费用,无匹配则返回提示
    return fee_mapping.get((class_level, stream, computer), "无效条件")

# 测试示例
print(calculate_total_fee("XI", "Arts", "Yes"))  # 输出:20000
print(calculate_total_fee("XII", "Science", "No"))  # 输出:22000

注:如果之后要加新的年级(比如XIII)或者新的Stream(比如Commerce),只需要在fee_mapping里添加对应的键值对就行,不用改逻辑代码,非常灵活。

备注:内容来源于stack exchange,提问作者Richard Iawphniaw

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 13:55:30