本帖最后由 Timothy.Xu 于 2021-2-25 14:35 编辑
您好,您这个公式的逻辑翻译一下应该是:如果该单元格不等于HR,或者不等于总经理,则为true。
那么现在有三种情况:
1、AR15=“HR”,此时满足AR15<>"总经理",所以OR($AR$15<>"HR",$AR$15<>"总经理")
返回 true;
2、AR15=“总经理”,此时满足AR15<>"HR",所以
OR($AR$15<>"HR",$AR$15<>"总经理")
返回 true;
3、AR15=“HR”与“总经理”以外任何值,如“aaa”,此时满足AR15<>"HR",也满足AR15<>"总经理",所以OR($AR$15<>"HR",$AR$15<>"总经理")
返回 true;
综上,您这个 OR 逻辑是恒为 true 的,公式返回值也恒为1。
其实由德摩根定律也可以知道,
IF(OR($AR$15<>"HR",$AR$15<>"总经理"),1,0)
等价于
IF(AND($AR$15="HR",$AR$15="总经理"),0,1),
翻译一下,您的逻辑其实相当于如果 AR15等于 HR 并且 AR15 等于 总经理,则为0,这显然是不可能的,所以恒为1。
我这边猜测您希望达到的效果是,AR15只要不等于 HR 或总经理任意一项,就执行逻辑,那么确实是需要像您改的那样,改用 AND 函数的。这部分应该是逻辑学的知识点,我这里就是抛砖引玉给您讲解一下,具体的可能需要您自行查阅资料再做了解哈
|