数组公式指南和示例( 六 )


=SUM(IF(我的数据=你的数据,0,1))
此公式创建与正比较的区域大小相同的新数组 。IF函数使用值0和值1填充数组(0表示单元格不匹配,1表示单元格匹配) 。然后SUM函数返回该数组中的值的和 。
可以如下所示简化该公式:
=SUM(1*(我<>数据))
与计算区域中的错误值的公式相似,此公式版本可以执行计算是因为TRUE*1=1并且FALSE*1=0 。
此数组公式返回名为“数据”的单列区域中的最大值所在的行号:
=MIN(IF(数据=MAX(数据),ROW(数据),””))
IF函数创建与名为“数据”的区域对应的新数组 。如果对应的单元格包含区域中的最大值,则此数组包含该行号 。否则,此数组包含空字符串(“”) 。MIN函数使用此新数组作为它的第二个参数并且返回与“数据”区域中最大值的行号相对应的最小值 。如果名为“数据”的区域包含完全相同的最大值,则该公式返回第一个值的行号 。
如果要返回最大值的实际单元格地址,请使用下面的公式:
=ADDRESS(MIN(IF(数据=MAX(数据),ROW(数据),””)),COLUMN(数据))
您将在示例工作簿中的”数据集之间的差异”工作表中找到类似的示例 。
多单元格和单单元格数组公式本练习演示如何使用多单元格数组公式和单个单元格数组公式来计算一组销售数据 。第一组操作是使用多单元格公式计算一组小计 。第二组操作是使用单个单元格公式计算总计 。

  • 多单元格数组公式
复制下面的整个表格,并将其粘贴到空白工作表中的单元格A1中 。
销售人
汽车键入
号码售出
单元价格
总销售
刘鹏
四门轿车
5
33000
双门轿车
4
37000
尹歌
四门轿车
6
24000
双门轿车
8
21000
林彩瑜
四门轿车
3
29000
双门轿车
1
31000
潘杰
四门轿车
9
24000
双门轿车
5
37000
施德福
四门轿车
6
33000
双门轿车
8
31000
公式(总计)
总计
‘=SUM(C2:C11*D2:D11)
=SUM(C2:C11*D2:D11)
  1. 若要查看每个销售人员的双门轿车和双门轿的总销售额,请选择单元格E2:E11,输入公式=C2:C11*D2:D11,然后按Ctrl+Shift+enter 。
  2. 若要查看所有销售的总计,请选择单元格F11,输入公式=SUM(C2:C11*D2:D11),然后按Ctrl+Shift+enter 。
按Ctrl+Shift+enter时,Excel会用大括号({})将公式括起来,并在所选区域的每个单元格中插入公式的一个实例 。因为执行速度很快,所以你在E列中看到的是每位销售人员每种轿车类型的总销售额 。如果你选择E2,然后选择E3、E4等,你将看到相同的公式{=C2:C11*D2:D11} 。
  • 创建单个单元格数组公式
在工作簿的单元格D13中,键入以下公式,然后按Ctrl+Shift+Enter:
=SUM(C2:C11*D2:D11)
在这种情况下,Excel会将数组中的值(单元格区域C2到D11)相乘,然后使用SUM函数将总计相加 。结果等于$1,590,000的总销售额 。本示例演示了此类公式的强大功能 。例如,假定您有1,000行数据 。您可以通过在单个单元格中创建数组公式来对部分或全部数据求和,而不是将公式向下拖动以包括所有1,000行来求和 。
此外,请注意单元格D13中的单单元格公式完全独立于多单元格公式(单元格E2到E11中的公式) 。这是使用数组公式的另一个优点 -灵活性 。你可以更改列E中的公式或删除该列,而不会影响D13中的公式 。
数组公式还具有以下优点:

猜你喜欢