如果需要查找满足多个条件的数据(例如 4 月至 1 月间销售的单位或 Nancy 销售的单位),则可以同时使用 AND 和 OR 函数。 示例如下:
此公式将 AND 函数 嵌套在 OR 函数 中,以搜索 2011 年 4 月 1 日至 2012 年 1 月 1 日之间销售的单位或 Nancy 销售的任何单位。 可以看到它返回 如此 对于南希销售的单位,以及 Tim 和 Ed 在公式中指定的日期内销售的单位。
下面是可以复制和粘贴的窗体中的公式。 如果要在示例工作簿中使用它,请参阅本文末尾。
=OR (AND (C2>DATE (2011,4,30) ,C2<DATE (2012,1,1) ) ,B2=“Nancy”)
让我们更深入地了解公式。 OR 函数需要一组参数 (数据片段) ,以便测试这些参数是 true 还是 false。 在此公式中,第一个参数是 AND 函数,其中嵌套的 DATE 函数,第二个参数是“Nancy”。 可按以下方式阅读公式:测试以查看是否在 2011 年 4 月 30 日之后和 2012 年 1 月 1 日之前进行了销售,还是由 Nancy 进行销售。
AND 函数还返回 True 或 False。 大多数情况下,使用 AND 扩展另一个函数的功能,例如 OR 和 IF。 在此示例中,如果没有 AND 函数,OR 函数将无法找到正确的日期。
将 AND 和 OR 与 IF 配合使用
在此示例中,人们在销售至少价值 125,000 美元的商品之前不会获得奖金,除非他们在市场较小的南部地区工作。 在这种情况下,他们有资格在 100,000 美元的销售额后获得奖金。
=IF (OR (C4>=125000,AND (B4=“South”,C4>=100000) ) =TRUE,C4*0.12,“无奖金”)
让我们更深入地了解一下。 IF 函数需要三段数据 (参数) 才能正常运行。 第一个是逻辑测试,第二个是想要查看测试是否返回 True 的值,第三个是想要查看测试是否返回 False 的值。 在此示例中,OR 函数及其中嵌套的所有内容提供逻辑测试。 你可以将其读作:查找大于或等于 125,000 的值,除非 C 列中的值为“South”,然后查找大于 100,000 的值,并且每次这两个条件都为 true 时,将该值乘以 0.12,即佣金金额。 否则,显示“无奖金”字眼。
示例数据
如果要使用本文中的示例,请将下表复制到自己的电子表格中的单元格 A1 中。 请务必选择整个表,包括标题行。
销售人员 |
负责区域 |
销售额 |
公式/结果 |
---|---|---|---|
Miller |
东部 |
87925 |
=IF (OR (C2>=125000,AND (B2=“South”,C2>=100000) ) =TRUE,C2*0.12,“无奖金”) |
Stahl |
北部 |
100000 |
=IF (OR (C3>=125000,AND (B3=“South”,C3>=100000) ) =TRUE,C3*0.12,“无奖金”) |
Foster |
西部 |
145000 |
=IF (OR (C4>=125000,AND (B4=“South”,C4>=100000) ) =TRUE,C4*0.12,“无奖金”) |
崔 |
南部 |
200750 |
=IF (OR (C5>=125000,AND (B5=“South”,C5>=100000) ) =TRUE,C5*0.12,“无奖金”) |
刘鹏 |
南部 |
178650 |
=IF (OR (C6>=125000,AND (B6=“South”,C6>=100000) ) =TRUE,C6*0.12,“无奖金”) |
Thomas |
北部 |
99555 |
=IF (OR (C7>=125000,AND (B7=“South”,C7>=100000) ) =TRUE,C7*0.12,“无奖金”) |
Keever |
东部 |
147000 |
=IF (OR (C8>=125000,AND (B8=“South”,C8>=100000) ) =TRUE,C8*0.12,“无奖金”) |
Cassazza |
北部 |
213450 |
=IF (OR (C9>=125000,AND (B9=“South”,C9>=100000) ) =TRUE,C9*0.12,“无奖金”) |
布朗利 |
南部 |
122680 |
=IF (OR (C10>=125000,AND (B10=“South”,C10>=100000) ) =TRUE,C10*0.12,“无奖金”) |
史密斯伯格 |
西部 |
92500 |
=IF (OR (C11>=125000,AND (B11=“South”,C11>=100000) ) =TRUE,C11*0.12,“无奖金”) |
班森 |
东部 |
88350 |
=IF (OR (C12>=125000,AND (B12=“South”,C12>=100000) ) =TRUE,C12*0.12,“无奖金”) |
阅读 |
西部 |
102500 |
=IF (OR (C13>=125000,AND (B13=“South”,C13>=100000) ) =TRUE,C13*0.12,“无奖金”) |