在 Excel 中,如果组合两个或以上的条件,可以用And函数,它最多可以组合 255 个条件。用And函数组合条件,只有所有条件为真时才返回真,只有一个条件为假就返回假。And函数通常与IF函数、Sum函数和SumProduct函数组合使用,它主要用于组合后面三个函数的条件;在用And函数组合条件时,有时可以用 * 代替,有时不可以,一般条件只针对单条记录时可以用 * 代替,求和时不可以用 * 代替。以下是 Excel And函数的使用方法,共有5个实例,其中包含 Sum + if + And、Sum + if + *、SumProduct + And、SumProduct + * 的组合实例,实例操作所用版本均为 Excel 2016。

、And函数的使用方法及实例

(一)只有一个 Logical 的实例

1、选中 A1 单元格,输入公式 =and(true),按回车,返回 TRUE;双击 A1 单元格,按回车,返回 FALSE;双击 A1 单元格,把公式改为 =And(6>5),按回车,返回 TRUE;双击 A1,把大于号 > 改为小于号 <,按回车,返回 FALSE;操作过程步骤,如图1所示:

2、只有一个 Logical 时,条件为 True 或成立,则返回 True,否则返回 False。
(二)有两个条件的实例
1、选中 B1 单元格,把公式 =AND(A1<A2,A2>A3) 复制到 B1,按回车,返回 TRUE;双击 B1,把公式改为 =AND(A1>A2,A2>A3),按回车,返回 False;操作过程步骤,如图2所示:

2、说明当And函数有两个条件时,只有两个条件为真时才返回 True,只要有一个条件为假就返回假。

(三)And 与 If 组合实例

1、假如要查找价格大于等于 90、销量大于 500 的服装。选中 E2,输入公式 =IF(AND(C2>=90,D2>500),D2,0),如图3所示:

2、按回车,返回 0,把鼠标移到 E2 右下角的单元格填充柄上,按住左键,往下拖,一直拖到 E6,则所经过单元格返回相应的值,如图4所示:

3、公式 =IF(AND(C2>=90,D2>500),D2,0) 用 And 组合了两个条件 (C2>=90,D2>500),当两个条件都返回 True 时,即 And 返回 True 时,也就是 If 的条件为 True,返回 D2,否则返回 0。

提示:AND(C2>=90,D2>500) 也可以改为 (C2>=90)*(D2>500),即用 * 表示“与”的关系,把它代入公式可以返回一样的结果,操作过程步骤如图5所示:

图5

(四)And 不能代替 * 的实例

(1)用 And + SumProduct函数求和

1、假如要求销量地区为广州且价格大于 80 的服装销量之和。把公式 =SUMPRODUCT(AND(C2:C10="广州",D2:D10>80),E2:E10) 复制到 E11 单元格,按回车,返回值错误 #VALUE!;把公式 =SUMPRODUCT((C2:C10="广州")*(D2:D10>80),E2:E10) 复制到 E12,按回车,返回求和结果 2019;操作过程步骤,如图6所示:

2、用 And 组合条件的公式 =SUMPRODUCT(AND(C2:C10="广州",D2:D10>80),E2:E10) 返回值错误 #VALUE!,而用 * 组合条件的公式 =SUMPRODUCT((C2:C10="广州")*(D2:D10>80),E2:E10) 能返回正确的结果,原因在于And函数要求所有条件返回 True,它才返回 True,而条件 C2:C10="广州" 和条件 D2:D10>80 返回的是一个数组,如图7所示:

3、每个数组中都有 True 和 False,导致最后返回 False;而用 * 组合的条件 (C2:C10="广州")*(D2:D10>80) 会把两个数组的对应元素相乘,两个 True 相乘返回 1,两个 False 或 True 与 False 相乘返回 0,最后返回数组 如图8所示:

4、数组中为 1 的表示满足条件 (C2:C10="广州")*(D2:D10>80) 服装,再用这个数组的每个元素与 E2:E10 中对应数值相乘,最后把相乘的结果相加,因此返回求和结果 2019。

(2)用 Sum + If + And 求和

1、双击 E11 单元格,把公式 =SUM(IF(AND(C2:C10="广州",D2:D10>=80),E2:E10)) 复制到 E11,按 Ctrl + Shift + 回车,返回求和结果为 0;双击 E12 单元格,把公式改为 =SUM(IF((C2:C10="广州")*(D2:D10>=80),E2:E10)),按 Ctrl + Shift + 回车,返回求和结果 2019;操作过程步骤,如图9所示:

2、为什么一个公式返回 0,另一个公式能返回正确的结果,道理与上面介绍的用 And 或 * 组合 SumProduct 的条件一样。如果要把公式 =SUM(IF(AND(C2:C10="广州",D2:D10>=80),E2:E10)) 拆分为用 * 组合条件,应该改为:
=SUM(IF((C2="广州")*(C3="广州")*(C4="广州")*(C5="广州")*(C6="广州")*(C7="广州")*(C8="广州")*(C9="广州")*(C10="广州")*(D2>=80)*(D3>=80)*(D4>=80)*(D5>=80)*(D6>=80)*(D7>=80)*(D8>=80)*(D9>=80)*(D10>=80),E2:E10))

即 C2 到 C10 中每个单元格的内容都可等于“广州”,D2 到 D10 中每个单元格的数字都要大于等于 80;改为这样后,结果仍然返回 0,因为每个条件都要成立,显然这不是希望的结果,这里只要求每条记录的销量地区为广州且价格大于等于 80,而不要求所有记录的销量地区为广州且价格大于等于 80,因此直接用 * 连接两个条件,即 (C2:C10="广州")*(D2:D10>=80) 才符合要求。

二、And函数语法

1、表达式:AND(Logical1, [Logical2], ...)

中文表达式:AND(条件1, [条件2], ...)

2、说明:
A、Logical 可以为逻辑值真 True 或假 False,最多可以有 255 个 Logica。如果只有一个 Logical,并且返回 Ture,则And函数返回 True;如果有两个 Logical,只有两个 Logical 都为 True,And函数才返回 True;只要有一个 Logical 为假,And函数就返回 False。

B、Logical 可以是对单元格的引用或数组,但内容必须是逻辑值 True 或 False;如果单元格或数组中包含文本或空,将被忽略;如果单元格或数组中没有逻辑值,则And函数返回值错误 #Value!。

举报/反馈

电脑技术角

6279获赞 1.6万粉丝
详实、清晰和通俗易懂。
关注
0
0
收藏
分享