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

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

在Excel中,*和+可以与逻辑判断函数AND和OR互换,但在数组公式中,*和+号能够替换AND和OR函数,反之则行不通。这是因为AND函数和OR函数返回的是一个单值TRUE或FALSE,如果数据公式要执行多重计算,单值不能形成数组公式各参数间的一一对应关系。

打开“工资表.xlsx”工作簿,例如要统计如图10-30所示的表格中基本工资为2000~2500的员工人数,就是说统计工资高于2000且工资低于2500的人数,由此可以判定该条件是一个“逻辑与”关系。

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

Excel 利用数组模拟AND和OR-Excel22

图10-30 目标数据

Excel 利用数组模拟AND和OR-Excel22

图10-31 返回结果

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

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

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

Excel 利用数组模拟AND和OR-Excel22

图10-32 返回结果

这是因为在公式中“(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。