freemaker if 多个条件_小函数,大用处!巧用AND函数,避开IF函数嵌套

大家好,今天带来的是AND函数运算。

736fee9786be8c4711221da5991f52fa.png

一:AND函数和语法结构

AND函数也成为与函数,它是指对多个条件进行同时判定,当所有条件都满足时,返回成立,也就是TRUE,否则返回不成立,也就是FALSE。

例如评定某员工是否优秀时,需满足入职时间大于1年,且年出勤天数大于260天两个条件,只有两个条件同时满足时,优秀才成立。

AND函数的语法结构为:AND(logical1,[logicol2],[logical3]...)

这里logical1是指条件1,同样后面还有条件2,条件3等等,且至少存在一个条件。

用汉语表示为:AND(条件1,[条件2],[条件3],...)

二:AND函数与IF函数的嵌套使用

下面用一个简单的案例看一下AND函数的输出结果。

如下图,评定某班级学生语数外成绩是否均大于90分?

455f6dd235c9bb6f0fde4582337dbe45.png

操作:第一步:在E2单元格输入公式:AND(B2>=90,C2>=90,D2>=90),回车。

第二步:双击E2单元右下角的十字填充柄,得出9位同学的评定结果。

会发现当某位同学的语数外成绩均大于90分时,输出结果为TRUE,否则输出结果为FALSE。

2e94dfd23b701e3b404b0a4073fd8cae.gif

那么问题来了,如何让成绩均大于90分时输出结构为优秀,否则输出空值呢?这时就用到了IF函数。

操作:在E2单元格输入公式:IF(AND(B2>=90,C2>=90,D2>=90),”优秀”,” ” ),然后双击填充柄,完成评定。

d38acc4513f230d8d02f76ce057e1c35.gif

这样便对成绩均大于90分的同学,输出了优秀。应注意的地方是对不满足条件输出的空值应用双引号引用空格,否则输出的值为默认为数值0.

三:AND函数可以简化IF函数

AND函数在某些情况下,可以对IF函数的嵌套使用进行简化,就比如上面案例中对学生优秀的评比中,如果用之前讲解的IF函数嵌套的方法,我们应在E2单元格中输入公式:=IF(B2>=90,IF(C2>=90,IF(D2>=90,"优秀"," ")," ")," "),虽然得到的结果相同,但从难易程度上讲,AND函数非常明显的优越于IF函数嵌套。

这里的问题有一点,AND函数适用于对多个条件的并且运算,满足所有条件后输出一个真值,否则输出一个假值,结果只有两个。从这一点上讲,AND函数还是不能胜过于IF函数嵌套的。例如评价某同学成绩,小于60分为继续努力,60分到80分为良好,80分以上为优秀时,这里的输出结果有优秀、良好和继续努力三个,便无法使用AND函数。

两者各有优缺点,实际工作中应根据实际情况进行选择。

好了,今天的内容到这里就结束了。谢谢大家,最后点击关注,获取更多知识讲解吧!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Freemarker 是一种模板引擎,它可以在 Java 平台中用于生成动态内容。在 Freemarker 中,您可以定义自己的自定义函数来扩展其功能。 要定义自定义函数,您需要执行以下步骤: 1. 创建一个 Java 类,并实现 `freemarker.template.TemplateMethodModelEx` 接口。 2. 在实现类中,覆盖 `exec` 方法来执行自定义函数的逻辑。这个方法接收一个 `List` 参数,其中包含了传递给自定义函数的参数列表。 3. 在 Freemarker 模板中,使用 `<#assign>` 指令将您的自定义函数绑定到一个变量上。 下面是一个示例,展示如何在 Freemarker 中定义和使用自定义函数: 1. 创建一个 `CustomFunctions` 类,实现 `freemarker.template.TemplateMethodModelEx` 接口: ```java import freemarker.template.TemplateMethodModelEx; import freemarker.template.TemplateModelException; import java.util.List; public class CustomFunctions implements TemplateMethodModelEx { @Override public Object exec(List arguments) throws TemplateModelException { // 自定义函数的逻辑 // 参数列表存储在 arguments 中 // 返回自定义函数的结果 return null; } } ``` 2. 在 `exec` 方法中实现您的自定义函数的逻辑。 3. 在 Freemarker 模板中,使用 `<#assign>` 指令将自定义函数绑定到一个变量上: ```ftl <#assign myFunc = "com.example.CustomFunctions"?new()> ${myFunc("argument1", "argument2")} ``` 在上面的示例中,我们将 `CustomFunctions` 类的实例绑定到 `myFunc` 变量上。然后,我们可以在模板中使用 `myFunc` 变量来调用自定义函数,并传递参数。 请注意,根据您的需求,您可能需要使用不同的 `exec` 方法重载版本来处理不同类型的参数,并返回适当的结果。 这只是一个简单的示例,您可以根据自己的需求扩展和修改自定义函数的实现。希望能帮助到您!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值