Excel 利用数组模拟AND和OR

AND(与关系):当两个或多个条件必须同时成立时才判定为真时,则称判定与条件的关系为逻辑与关系,就是平常所说的“且”。

OR(或关系):当两个或多个条件只要有一个成立时就判定为真时,则称判定与条件的关系为逻辑或关系。

图7-3 目标数据

在Excel中,*和+可以与逻辑判断函数AND和OR互换,但在数组公式中,*和+号能够替换AND和OR函数,反之则行不通。这是因为AND函数和OR函数返回的是一个单值TRUE或FALSE,如果数据公式要执行多重计算,单值不能形成数组公式各参数间的一一对应关系。例如要统计如图7-3所示的表格中基本工资为2000~2500的员工人数,就是说统计工资高于2000且低于2500的人数,由此可以判定该条件是一个“逻辑与”关系。

·如果在单元格A8中输入公式“=SUM(AND(C3:C7>2000,C3:C7<2500)*1)”,按组合键“Ctrl+Shift+Enter”后,返回的结果是0。

因为公式中“C3:C7>2000”返回的值是{FALSE;TRUE;TRUE;FALSE;FALSE}。而公式“C3:C7<2500”返回的值是{TRUE;TRUE;TRUE;TRUE;TRUE}。

这两个公式返回的值再逻辑与,则返回的值是FALSE。所以计算结果“=SUM(FALSE*1)=SUM(0*1)=0”。因此返回的结果为0。

·在单元格B8中输入公式“=SUM((C3:C7>2000)*(C3:C7<2500))”,按组合键“Ctrl+Shift+Enter”后,返回的结果是2。

这是因为在公式中“(C3:C7>2000)*(C3:C7<2500)”

={TRUE;FALSE;TRUE;TRUE;TRUE}*{TRUE;TRUE;FALSE;TRUE;FALSE}

={1;0;1;1;1}*{1;1;0;1;0}

={1;0;0;1;0}

所以公式的计算结果为“=SUM({1;0;0;1;0})”=2。

如图7-4所示。

图7-4 返回结果

发布者

Excel22

专为职场萌新准备的免费全面的Excel入门及提高学习网站,也可作为Excel老司机杂耍各种函数的宝典 —— Excel22.com 网址超好记

发表评论

邮箱地址不会被公开。 必填项已用*标注