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


  • 提高效率数组函数可以是构建复杂公式的有效方式 。数组公式=SUM(F10:F19*G10:G19)与以下内容相同:=SUM(F10*G10、F11*G11、F12*G12、F13*G13、F14*G14、F15*G15、F16*G16、F17*G17、F18*G18) 。
  • 超过动态数组公式将自动溢出到输出区域中 。如果源数据位于Excel表中,则动态数组公式将在您添加或删除数据时自动调整大小 。
  • #SPILL!时发生动态数组引入了#SPILL!错误,表示由于某种原因,预期溢出范围被阻止 。解决此问题时,该公式将自动溢出 。
  • 创建一个数组常量和两维数组常量数组常量是数组公式的组成部分 。可以通过输入一系列项然后手动用大括号({})将该系列项括起来创建数组常量,类似于:
    ={1,2,3,4,5}或={“一月份”,”二月”,”三月”}
    如果使用逗号分隔各个项,将创建水平数组(一行) 。如果使用分号分隔项,将创建垂直数组(一列) 。若要创建二维数组,请使用逗号分隔每行中的项目,并用分号分隔每一行 。
    下面将为你提供创建水平、垂直和二维常量的练习 。我们将使用SEQUENCE函数显示示例,以自动生成数组常量以及手动输入的数组常量 。
    • 创建水平常量
      使用上述示例中所用工作簿,或创建新的工作簿 。选择任何空单元格,然后按enter=SEQUENCE(1,5) 。SEQUENCE函数通过与={1,2,3,4,5}生成1行x5列数组 。将显示以下结果:
    • 创建垂直常量
      选择下方有聊天室的任何空白单元格,然后按enter=SEQUENCE(5)或={1;2;3;4;5} 。将显示以下结果:
    • 创建二维常量
      选择右侧和下方带有空间的任何空白单元格,然后按enter=SEQUENCE(3,4) 。将得到以下结果:
      您也可以输入:or={1,2,3,4;5,6,7,8;9,10,11,12},但您希望在放置分号和逗号的位置上格外关注 。
      正如你所看到的,序列选项比手动输入数组常量值具有显著的优势 。它主要为您节省时间,但也有助于减少手动输入的错误 。它也更易于阅读,尤其是在半冒号很难区分逗号分隔符 。
    数组常量语法下面是一个在较大公式中使用数组常量的示例 。在示例工作簿中,转到公式工作表中的常量,或者创建新的工作表 。
    在单元格D9中,我们输入了=SEQUENCE(1,5,3,1),但也可以在单元格A9:H9中输入3、4、5、6和7 。对于特定的数字选择,我们只需选择1-5以外的其他内容 。
    在单元格E11中,输入=sum(D9:h9*SEQUENCE(1,5))或=SUM(d9:H9*{1,2,3,4,5}) 。公式返回85 。
    SEQUENCE函数生成数组常量的等效项{1,2,3,4,5} 。由于Excel先对括在括号中的表达式执行运算,接下来,接下来的两个元素是D9:H9中的单元格值和乘法运算符(*) 。此时,公式将存储数组中的值与常量中对应的值相乘 。它等价于:
    =Sum(D9*1,E9*2,F9*3,G9*4,H9*5)或=SUM(3*1,4*2,5*3,6*4,7*5)
    最后,SUM函数将添加值,并返回85 。
    若要避免使用存储的数组并将操作完全保留在内存中,可以将其替换为另一个数组常量:
    =SUM(SEQUENCE(1,5,3,1)*序列(1,5)或=SUM({3,4,5,6,7}*{1,2,3,4,5})
    可在数组常量中使用的元素