Excel 是否能根据产品的重量和数量优化装车明细?

图6.107所示的表中包含需要装车的产品明细,但是车子限载1279公斤,只能小于等于1279公斤,不能超重。现在的问题是:要将哪些产品装上车、每个产品装多少件,才能既不超载又确保剩下的货品最少?

解题步骤

本例的需求只能用规划求解完成,不过相对于以往的案例,本例更复杂一些,需要使用更多的约束条件,具体操作步骤如下。

1 .删除 C 列的数量,然后在 D1 中输入“剩余”,在 D2 中输入公式“=1279-SUMPRODUCT(B2:B7,C2:C7)”。由于此时所有产品的数量都是 0,因此剩余总量是1279公斤,公式效果如图6.108所示。

图6.108 设置公式

2.单击功能区的“数据”→“规划求解”,弹出“规划求解参数”对话框。

3.将目标设置为 D2,然后选中其下方的“最小值”,表示当 D2 单元格的值最小时停止求解。

4.将可变单元格设置为C2:C7,设置界面如图6.109所示。

图6.109 设置目标和可变单元格

5.单击右方的“添加”按钮,然后添加约束条件为 D2 大于等于 0,设置界面如图 6.110所示。

图6.110 添加约束条件1

6.继续单击“添加”按钮,然后添加两个约束条件,包含C2:C7区域大于等于0、C2:C7区域必须是整数,设置界面如图6.111和图6.112所示。

图6.111 添加约束条件2

图6.112 添加约束条件3

7.单击“添加”按钮,然后添加C2:C5小于等于4、C6:C7小于等于2这两个条件,设置界面如图6.113和图6.114所示。

图6.113 添加约束条件4

图6.114 添加约束条件5

8.返回“规划求解参数”对话框,单击“求解”按钮,当 Excel 弹出“规划求解结果”对话框时,不做任何设置,单击“确定”按钮关闭对话框,此时在工作表中将会看到图6.115所示的求解结果。

图6.115 规划求解结果

图6.115表示1件产品A、1件产品B、4件产品D的总重量等于1278公斤,与可装载上限1279仅差1公斤,这是最优的装车方式。

知识扩展

1.本例是本书中几个规划求解应用里最复杂的一个。由于在需求中限制了每样产品的数量,因而在设置规划求解的参数时也必须一一限制其范围——大于等于0且小于等于4,或者大于等于0且小于等于2。

2.当然,也可以按前面案例中讲的步骤操作,先设置目标值等于 0,如果找不到解再设置为目标最小值;还可以在E1单元格设置公式“=D2*1000”,然后将目标设置为E2单元格最小值,而非D2,从而提升求解的精确度。

3.设置规划求解参数时,一定要考虑全面,将所有可能性都考虑到,参数越多,得到的解越精确,但同时运算时间也会相应地延长。

Excel 如何计算钢材切割方式?

公司有一钢材长4759mm,实际工作中需要用到图6.100中A2:A21的20种规格的材料,现在的问题是如何切割这根钢材,使其刚好满足需求,又不浪费材料。

解题步骤

钢材切割思路有两种:一是每种规格的材料只生成一件,组合长度等于 4759,用程序语言来描述就是“计算 A2:A21 中哪些单元格的值相加刚好等于 4759”;二是不限制每种规格的产品数量,只要满足“不浪费材料”这个需求即可。两种切割方式的实现方式不同。

此外还要注意一点,如果没有等于4759的值,那么找出合计最接近4759的值。

实现此需求的唯一工具是规划求解,以切割方式为例,具体操作步骤如下。

1.在D1中输入“剩余材料”,在D2中输入公式“=C2-SUMPRODUCT(A2:A21,B2:B21)”。

2.单击功能区的“数据”→“规划求解”,从而弹出“规划求解参数”对话框。

3.将目标设置为D2,然后在“最大值”、“最小值”和“目标值”3个选项中选择“目标值”,且在右方输入“0”,最后将可变单元格设置为B2:B21,设置界面如图6.101所示。

图6.101 设置目标和可变单元格

4.单击右方的“添加”按钮,从而弹出“改变约束”对话框,然后按图6.102所示的方式设置选项,表示B2:B21区域只能产生二进制的值。

图6.102 设置约束条件

5.单击下方的“求解”按钮,当弹出“规划求解结果”对话框时直接单击“确定”按钮关闭对话框,然后在工作表中将产生图6.103所示的求解结果。

图6.103 规划求解结果

图6.103表示A9、A12、A13、A14、A15和A17的数值合计等于4759,应将钢材切割为957+945+670+928+620+639。

假设切割时不限制同一个规格的产品数量,那么应按以下步骤操作。

1.单击功能区的“数据”→“规划求解”,从而弹出“规划求解参数”对话框。

2.删除对话框中的约束条件,然后重新添加图6.104和图6.105所示的两个条件。

图6.104 添加约束条件一

图6.105 添加约束条件二

3.返回“规划求解参数”对话框,单击下方的“求解”按钮,当弹出“规划求解结果”对话框时直接单击“确定”按钮关闭对话框,然后在工作表中将产生图6.106所示的结果。

图6.106 规划求解结果

图6.106表示A15+A16+A17×4+A20刚好等于4759,此切割方式允许某个规格的产品切割多件。当然,如果需要也可以设置上限,如每种规格的产品不超过5件等,可以自行设置约束条件。

知识扩展

1.本例中要求“没有等于4759的值时,找出合计最接近4759的值”,由于已经找到了合计刚好等于4759的组合,因此不再测试合计最接近4759的组合。

2.求解过程就是逐一测试从而找到最优解的过程,数据量越大则运算过程越久,本例有可能用5秒钟也可能用半分钟以上,视计算机硬件的优劣而定。

3.本例中用到了bin二进制的数据,其实就是0和1,当B2:B21限定为二进制数据时,该区域只能产生0或1,当值为1时,表示该值为本例的解。

4.事实上本例有多组解,使用不同计算机执行以上步骤有可能得到不同的解。A12+A16×2+A17×2+A21,即945+862×2+639×2+812也等于4759。

Excel 是否能根据总金额与商品的单价优化购买组合?

XX 小卖部去进货,原本打算购买图 6-93 所示的产品。突然发现带的现金不够,身上只有1000 元钱,因此只能购买部分产品。现要求计算购买哪些产品、每个产品多少件才能刚好花完这1000元钱。

打算购买的产品

假设没有任何商品组合等于1000元,一定会产生零钱,那么应尽可能让剩余的零钱更少。

解题步骤

此问题属于通过规划求解获取最优解的应用,步骤如下。

1.在 C1 中输入“购买数量”,在 A8 中输入“总价格”,然后在 A8 单元格中输入公式“=SUMPRODUCT(B2:B6,C2:C6)”,此公式用于计算购买产品的总价格,效果如图6.94所示。

图6.94 补充购货表的数据与公式

2.单击功能区的“数据”→“规划求解”,弹出“规划求解参数”对话框。

3.将目标设置为B8,将可变单元格设置为C2:C6,设置界面如图6.95所示。

图6.95 设置目标和可更改单元格

4.单击右方的“添加”按钮,弹出“添加约束”对话框,然后按图6.96所示的方式设置条件。由于总资金只有1000元,因此B8单元格的值只能是小于等于1000的最大值。

图6.96 设置第一个约束条件

5.单击“添加约束”对话框中的“添加”按钮,继续添加图6.97和图6.98所示的两个条件,其功能是限制C2:C6区域只能生成大于等于0的整数。

图6.97 设置第二个约束条件

图6.98 设置第三个约束条件

6.返回“规划求解参数”对话框,单击“求解”按钮,当弹出“规划求解结果”对话框时直接单击“确定”按钮关闭对话框,然后在工作表中将产生图6.99所示的结果。

从表中可以看出A产品买3件、B产品买1件、C产品买2件、D产品买10件、E产品买11件,其价格之和等于999元,剩下1元,符合实际需求。

图6.99 求解结果

知识扩展

1.产品的购买数量一定是正整数或 0,因此在“规划求解参数”对话框中一定要添加两个条件来约束C2:C6区域的值,否则无法得到正确的解。

2.本例需求是“……假设没有任何商品组合等于1000元,一定会产生零钱,那么应尽可能让剩余的零钱更少”,翻译为程序语言其实就是“小于等于1000的最大值”,因此本例在设置条件时将目标的值设置为“最大值”,然后添加约束条件“<=1000”。

Excel 是否能根据产品规格计算最优的装箱方式?

公司有205件产品需要通过船运出港口,产品的包装箱分为每箱装产品28个、22个、15个、11个和9个等5种规格,现要求用以上5种包装箱装产品,以箱子的空位少为前提,因为空位越多,产品就越容易受到摆晃而损伤。

例如,规格为28的装8箱,那么最后一箱的空位是19,规格为11的装19箱,那么最后一箱的空位是4,假设只有这两种装箱方式,应优先选择后一种。

现在的问题是,如何装箱才能保证每个箱子的剩余空位最少?

解题步骤

人工计算这种装箱问题相当烦琐,而且很难确保找出的解是最优化的。利用规划求解可以快速解决此问题,具体操作步骤如下。

1.根据已知条件在工作表中输入图6.81所示的数据。

2.在 F3 单元格输入公式“=SUMPRODUCT(A2:E2,A3:E3)-G3”,公式的含义是计算规格(每箱中可装产品的件数)乘以箱子数量的乘积之和再减产品数量,从而得到空位的数量。由于当前箱子的数量为0,因此空位将等于产品数量的相反数,效果如图6.82所示。

图6.81 输入已知条件

图6.82 设置公式

假设已安装了规划求解,安装过程参考疑难135。

3.单击功能区的“数据”→“规划求解”,从而弹出“规划求解参数”对话框。

4.将目标单元格设置为“F3”,并选择其下方的“最小值”复选框,表示在求解过程中 F3单元格的值最小时停止求解。

5.在“通过更改可变单元格”下方输入“A3:E3”,表示A3:E3区域的值在求解过程中会不断变化,设置界面如图6.83所示。

图6.83 设置目标与可变单元格

6.单击右方的“添加”按钮,然后按图6.84所示的方式添加约束条件,此条件表示A3:E3区域只能是整数(箱子的数量不存在小数)。

7.单击“添加约束”对话框中的“添加”按钮,弹出“添加约束”对话框,在对话框中按图6.85的方式设置第二个约束条件,此条件表示A3:E3区域中的值不能是负数。

图6.84 添加约束条件一

图6.85 添加约束条件二

8.再次单击“添加”按钮,然后按图6.86所示的方式设置约束条件,此条件表示F3单元格的空位数量不能是负数。

图6.86 添加约束条件三

9.返回“规划求解参数”对话框中,单击“求解”按钮,Excel 得到解后会弹出“规划求解结果”对话框,单击“确定”按钮关闭对话框,然后在工作表中会看到如图6.87所示的结果,其中规格为28的箱子需要7个,规则为11的箱子需要1个,按此方式装箱剩余的空位为2。

图6.87 最终取得的解

利用公式验算得知上面的计算结果是正确的,但是同样也可以验算得知上面的解并不是最优的,因为规格为11的箱子使用了1个,最后箱子中有两个空位,很显然换成规格为9的箱子可以做到空位为0。

解决这种问题的方法是让公式的计算结果远离0值。因为规划求解其实就是通过一次一次测试的方法查找接近目标的值,本例中的求解目标是大于等于0的最小值,当测试结果越接近0时Excel的测试频率就会越低,往往没有真正找到最优解就停止测试了。而当最优解远离0时,找到最优解的可能性就会大大提升,代价是运算时间更长。

以下步骤可以让规划求解找到最优的解。

10.删除A3:F3的解,然后在H3单元格输入公式“=F3*1000”,此时工作表显示内容如图6.88所示。

图6.88 添加辅助公式

11.单击功能区的“数据”→“规划求解”,弹出如图6.89所示的对话框,对话框中保留了上一次使用的所有参数。

图6.89 保留上次用到的所有参数

12.将目标单元格 F3 修改为 H3,其他参数保持不变,然后单击“求解”按钮,此时得到的结果如图6.90所示。

图6.90 优化后的解

知识扩展

1.规划求解主要解决两类问题:一类是解方程那种绝对正确的解,在“规划求解参数”对话框中需要将“目标值”设置为等于某个具体的数值;另一类是求最优的解,要求在多个解中找出最大值或最小值。本例的问题属于第二类。

2.不管问题有多少个解,规划求解工具只列出其中一个解。至于此解是否最优,往往取决于用户设定的约束条件和参数是否正确。

3.并不是最优目标值靠近0时就一定找不到最优的结果,只是说找不到最优解的可能性更大而已。在图6.91和图6.92的测试中,直接将E3单元格的公式计算结果设置为目标,或者在G3中使用辅助公式将E3单元格的值扩大到1000倍后得到的结果都一样。

图6.91 直接用E3单元格的公式作为目标求解

图6.92 将E3单元格的结果扩大到1000倍后再求解

本例中由于第一次就找到了最优解,因此两次求解的结果一致。

判断得到的解是否最优,按上面的方法多试几次,结果一致就表示找到了最优解。

Excel 不通过公式可以解二元一次方程吗?

规划求解只能设定一个目标单元格,而此处的方程有两个,因此需要在下方继续添加约束条件。

8.单击右方的“添加”按钮,然后在对话框中按图6.77所示的方式设置条件,并单击“确定”按钮返回“规划求解参数”对话框。此条件表示B2单元格中公式的结果变成14时才停止求解。

图6.77 添加约束条件

9.在“规划求解参数”对话框中单击“求解”按钮,此时Excel会弹出如图6.78所示的对话框,保存默认设置不变,单击“确定”按钮关闭即可,在工作表的A1和A2中将看到方程组的解,其中X的值为4,Y的值为6,效果如图6.79所示。

图6.78 提示求解的结果

图6.79 方程组的解

知识扩展

1.规划求解工具是数据分析时常用的工具,但默认状态下并没有安装在 Excel 中,需要在“加载项”对话框中勾选组件名称后才能使用。

2.规划求解的可用范围很大,解方程只是多种应用之一。不过当方程有多组解时,规划求解只会找出一组解。

3.在求解时,可以设定方程的解只能是整数,也可以设定方程的解既包含整数又包含小数。假设本例中要求方程的解只能是整数,那么可以在“规划求解参数”对话框中单击“添加”按钮,弹出“添加约束”对话框,然后按图6.80所示的方式设置选项,参数int表示A1只能是整数。接着再用相同的方式将A2也设置为整数,最后单击“求解”按钮,得到的解将不再包含小数。

图6.80 设置A1只能是整数

4.如果需要解一元一次方程,规划求解工具和单变量求解工具都可以完成,不过由于一元一次方程实在太过于简单,本书不再展示求解过程。

Excel 6个工作表的数据能一次性合并计算吗?

图6.70中包含6个车间的职工产量数据,现要求将6个工作表的产量和不良品都合并到“汇总”表中。

图6.70 待合并的6个车间产量表

解题步骤

Excel提供了合并计算工具,可以用它对任意工作表的相同区域执行合并,合并时既可以选择求和,也可以选择求平均、求最大值/最小值等,本例展示求和过程,具体步骤如下。

1.进入“汇总”工作表,选择A1单元格。

2.单击功能区的“数据”→“合并计算”,弹出“合并计算”对话框。

3.在对话框中将函数保持为默认的“求和”,然后单击对话框中间的浏览按钮(图标为),选择1月工作表中的A1:C11区域,最后单击“添加”按钮,将区域地址添加到下方的列表中,效果如图6.71所示。

4.继续添加其他5个工作表的A1:C11区域到列表中,且选择下方的“首行”、“最左列”复选框。图6.71和图6.72是分别添加1个和6个引用位置后的设置界面。

图6.71 添加第一个引用位置

图6.72 添加所有引用位置

5.单击“确定”按钮后,在“汇总”工作表中会产生图6.73所示的合并结果。

图6.73 合并结果

知识扩展

1.合并计算工具用于计算比较规则的数据,应该多个工作表的格式一致,数据和文本的分布方式也一致,否则合并就没有意义了。

2.对话框中的“标签位置”用于控制合并时的行标题与列标题,标题不参与合并(指求和、求平均或最大值/最小值等运算)。其中“首行”代表列标题,最左列代表行标题。

3.“合并计算”对话框中的“指向源数据的链接”用于控制合并计算结果是否跟随数据源相应地更新,当此项目选中时表示数据源更新时合并结果也相应地更新。

请在封面中缝指定的QQ群下载文件和视频教材,从而方便练习,同时验证本案例中的技巧与操作结果。

疑难场景

这是一个二元一次方程组,能否在不用公式的前提下得到方程组的解?

解题步骤

Excel的规划求解工具可以解多元方程,不过默认状态下无法调用此工具,需要安装后才能使用。安装并解题的具体步骤如下。

1.按组合键<Alt+T+I>,打开如图6.74所示的“加载宏”管理器。

2.选择“规划求解加载项”复选框,然后单击“确定”按钮保存设置,此时打开“数据”选项卡,可以看到“规划求解”菜单,其界面如图6.75所示。

图6.74 加载宏管理器

图6.75 规划求解菜单

3.假设A1单元格代表X,A2单元格代表Y,那么在B1单元格输入公式“=A1^2+A2^2”,此公式用于表明第一个方程中X和Y的关系。

4.继续在B2单元格中输入公式“=3*A2-A1”,此公式用于表明第二个方程中X和Y的关系。

5.单击功能区的“数据”→“规划求解”,弹出“规划求解参数”对话框。

6.在“设定目标”右方输入 B1,然后选择下方的“目标值”复选框,且在右方输入 52,表示B1单元格的公式的计算结果是52时才停止求解。

7.将“通过更改可变单元格”设置为A1:A2,表示通过不断改变A1和A2单元格的值来测试方程的解,直到找到目标后停止。设置界面如图6.76所示。

设置目标和可变单元格

设置目标和可变单元格

Excel 能否标示出产量在800~1000之间的单元格?

图6.65中C列是职工的每日产量,领导要求标示出800~1000之间的产量,如何才能一次性标示完成?

解题步骤

只标示产量所在单元格而非标示符合条件的产量所在行,此需求比较简单,操作也相对简单,步骤如下。

1.选择C2:C11区域。

2.单击功能区的“开始”→“条件格式”→“突出显示单元格规则”→“介于”,弹出“介于”对话框。

3.在对话框中将数值范围设置为800到1000,格式则保持原来的“浅红填充色深红文本”不变,单击“确定”按钮即可应用此条件格式。图6.66为条件格式设置界面,图6.67为应用条件格式后的效果。

图6.66 设置条件与格式

图6.67 应用条件格式后的效果

知识扩展

1.介于800到1000之间,其实是包含了800和1000。

2.如果要将产量所在行突出显示,那么应该选择A2:E11,然后单击功能区的“开始”→“条件格式”→“新建规则”,在弹出的对话框中选择“使用公式确定要设置格式的单元格”,并输入公式“=AND($C2>=800,$C2<=1000)”,最后设置格式为红色背景。图6.68是条件格式设置界面,图6.69则为应用条件格式后的效果。

图6.68 设置条件格式

图6.69 应用条件格式后的效果

公式“=AND($C2>=800,$C2<=1000)”表示若C列的值大于等于800且小于等于1000,那么就填充红色背景。其中C2前面必须添加绝对符号$。

Excel 能否快捷标示出所有下月要过生日的员工?

公司每月都会为过生日的员工发放小蛋糕,现要求标示出图 6.61 所示的表中下个月将要过生日的职工。

图6.61 职工信息表

解题步骤

Excel的条件格式提供了诸多内置的日期条件,单击即可标示下月日期。不过使用内置条件只能标示日期所在单元格,若要将整行数据都进行标示,则需要使用公式自定义条件。本例同时讲解两种操作过程。

方法一的步骤如下。

1.选择D2:D16区域.

2.单击功能区的“开始”→“条件格式”→“突出显示单元格规则”→“发生日期”,弹出“发生日期”对话框。

3.在对话框中将日期设置为“下个月”,格式则保持内置格式不变,此时可以从工作表中预览条件格式的效果,设置界面和预览效果如图6.62所示。

图6.62 指定条件和格式

4.单击“确定”按钮应用设置好的条件格式。

备注:笔者编写此案例时是 2015 年 11 月,因此工作表中标示的 3 个下月日期都是 2015年12月。

方法二的步骤如下。

1.选择D2:D16区域。

2.单击功能区的“开始”→“条件格式”→“新建规则”,弹出“新建格式规则”对话框。

3.将规则类型设置为“使用公式确定要设置格式的单元格”,然后在下方在的文本框中输入以下公式:

设置界面如图6.63所示。

图6.63 设置条件

4.单击“格式”按钮,弹出“设置单元格格式”对话框,然后打开“填充”选项卡,将背景色设置为红色,然后单击“确定”按钮保存设置。图6.64是应用条件格式后的效果。

图6.64 应用条件格式后的效果

知识扩展

1.方法一仅标示选区中符合条件的日期所在单元格,方法二是可以标示选区中符合条件的日期所在行,两者效果差异较大,操作复杂度也差异较大。

2.公式“=AND($D2>EOMONTH(TODAY(),0),$D2<=EOMONTH(TODAY(),1))”的含义是:如果D列的日期大于本月最后一天,而且小于等于下月最后一天,那么返回True。

其中TODAY函数用于产生今日的日期,“EOMONTH(TODAY(),0)”则用于生成本月最后一天的日期,“EOMONTH(TODAY(),1)”用于生成下月最后一天的日期。参数0和1分别代表今天之后的0个月或1月,此参数允许使用负数。例如,赋值为-2表示返回2个月前的当月最后一天。

3.在设置公式时,引用对象一定要用“$D2”,不能使用“D2”或“$D$2”。

Excel 能否一次性标示出每一行的最小值?

图6.57中包含10人的各季度销量数据,要求将每一行的最小值标示出来,如何才能一次性标示完成?

解题步骤

与标示两列数据的相同项一样,标示区域中的最小值要使用公式来确定目标,具体操作步骤如下。

1.选择B2:E11区域。

2.单击功能区的“开始”→“条件格式”→“新建规则”,弹出“新建格式规则”对话框。

3.选择“使用公式确定要设置格式的单元格”,然后在下方的文件框中输入公式“=B2=MIN($B2:$E2)”,操作界面如图6.58所示。

图6.58 设置条件

4.单击“格式”按钮,弹出“设置单元格格式”对话框,然后打开“填充”选项卡,将背景色设置为红色,然后单击“确定”按钮保存设置。图6.59为格式设置界面,图6.60则是应用条件格式后的效果。

图6.59 设置格式

图6.60 条件格式的执行效果

知识扩展

1.公式“=B2=MIN($B2:$E2)”表示当任意单元格的值等于它所在行的最小值时就符合条件,立即应用后面设置的格式。由于 MIN($B2:$E2)总是计算单行的最小值,因此标示单元格时会每一行标示一次。

2.如果要标示B2:E11区域中的最小值,那么应该将公式修改为“=B2=MIN($B$2:$E$11)”。

3.通过条件格式标示目标值会一直保留下来,重新打开工作簿后仍然能看到条件格式的显示结果,而采用数据验证的圆圈标示目标则只能用于临时查看,重启Excel后会自动消失。

Excel 如何标示两列数据的相同项?

图6.53是包含去年与今年成绩前10名的名单,现要求将两列名单中的相同值用红色标示出来。

图6.53 今年和去年的前十名名单

解题步骤

将目标单元格标示颜色的最佳工具是条件格式,具体操作步骤如下。

1.选择A2:C11区域。

2.单击功能区的“开始”→“条件格式”→“新建规则”,弹出“新建格式规则”对话框。

3.选择“使用公式确定要设置格式的单元格”,然后在下方的文本框中输入公式“=AND(ISTEXT(A2),COUNTIF($A$2:$C$11,A2)>1)”,设置界面如图6.54所示。

4.单击“格式”按钮,弹出“设置单元格格式”对话框,然后打开“填充”选项卡,将背景色设置为红色,然后单击“确定”按钮保存设置,图6.55为设置界面。

图6.54 设置条件

图6.55 设置格式

5.单击“确定”按钮返回工作表界面,此时工作表中A列与C列的相同值所在单元格都会显示为红色背景,而成绩相同时却不会标示出来,效果如图6.56所示。

图6.56 条件格式的执行效果

知识扩展

1.本例中选择A2:C11后再设置条件格式是因为去年与今年的学生姓名都刚好容纳于此区域中,尽管选择A2:D11区域再设置条件格式也能实现同样的功能,但是设置条件格式时应该遵循一个规则:由于条件格式本身比较耗内存,因此应该对尽可能小的区域设置条件格式,非必要的区域应该忽略。

2.公式“=AND(ISTEXT(A2),COUNTIF($A$2:$C$11,A2)>1)”表示如果A2:C11区域中某个单元格是文本,而且在这个区域中出现的次数大于1次,那么它就满足条件。

表达式“ISTEXT(A2)”用于判断单元格中的值是否为文本,“COUNTIF($A$2:$C$11,A2)>1”用于判断单元格的值出现的次数,最后用AND函数来判断是否两个条件同时满足,只有同时满足两个条件才添加背景色,从而忽略重复的成绩。

3.本例还有另一种操作方法:分两次设置条件格式,一次对 A2:A11 区域设置条件格式,一 次 对 C2:C11 区 域 设 置 条 件 格 式。对 A2:C11 区 域 设 置 条 件 格 式 时,用“=COUNTIF($C$2:$C$11,A2)>0” 作 为 条 件,对 C2:C11 区 域 设 置 条 件 时,用“=COUNTIF($A$2:$A$11,C2)>0”作为条件。