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


  • 从现有值创建数组常量
    你可以获取溢出的数组公式的结果,并将其转换为其组件部分 。选择单元格D9,然后按F2切换到编辑模式 。接下来,按F9将单元格引用转换为值,然后Excel将其转换为数组常量 。按enter时,公式=D9#现在应为={10,20,30;40,50,60;70,80,90} 。
  • 在单元格区域中对字符计数
    下面的示例演示了如何计算单元格区域中的字符数 。其中包括空格 。
    =SUM(LEN(C9:C13))
    在这种情况下,LEN函数返回区域中每个单元格的每个文本字符串的长度 。然后,SUM函数将这些值相加并显示结果(66) 。如果想要获取平均字符数,可以使用:
    =AVERAGE(LEN(C9:C13))
  • C9范围内最长单元格的内容:C13
    =INDEX(C9:C13,MATCH(MAX(C9:C13)),LEN(C9:C13),0),1)
    本公式仅在数据区域包含单列单元格时适用 。
    让我们从内部元素开始,由内而外深入了解此公式 。LEN函数返回单元格区域D2:D6中每个项目的长度 。MAX函数计算这些项目中的最大值,它们对应于单元格D3中最长的文本字符串 。
    下面的计算稍微有点复杂 。MATCH函数计算包含最长文本字符串的单元格的偏移量(相对位置) 。为此,需要三个参数:分别是查阅值、查阅数组和匹配类型 。MATCH函数在查阅数组中搜索指定的查阅值 。在这种情况下,查阅值为最长的文本字符串:
    MAX(LEN:C13)
    并且该字符串位于此数组中:
    LEN(C9:C13)
    此例中的”匹配类型”参数为0 。Match类型可以是1、0或-1值 。
    • 1-返回小于或等于lookupval的最大值
    • 0-返回与查找值完全相等的第一个值
    • -1-返回大于或等于指定的查阅值的最小值
    • 如果未指定匹配类型,Excel会采用值1 。
    最后,INDEX函数采用以下参数:数组,以及该数组中的行号和列号 。C9的单元格区域:C13提供数组,MATCH函数提供单元格地址,最后一个参数(1)指定值来自数组中的第一列 。
    如果想要获取最小文本字符串的内容,请将上述示例中的最大值替换为MIN 。
  • 查找出区域内的n个最小值
    此示例显示了如何查找单元格区域中的三个最小值,其中数组是单元格B9中的示例数据数组:=INT(RANDARRAY(10,1)*100) 。B18has已创建 。请注意,RANDARRAY是可变函数,因此每次Excel计算时你将收到一组新的随机数字 。
    Enter=small(b9#,序列(D9),=SMALL(b9:B18,{1;2;3})
    此公式使用数组常量计算小函数三次,并返回单元格B9中包含的数组中的最小3个成员:B18,其中3是单元格D9中的可变值 。若要查找更多值,可以增大SEQUENCE函数中的值,或向该常量添加更多参数 。还可以对此公式使用其他函数,例如SUM或AVERAGE 。例如:
    =SUM(小号(B9#,序列(D9))
    =AVERAGE(SMALL(B9#,序列(D9))
  • 查找出区域中的n个最大值
    若要查找区域中的最大值,可以将SMALL函数替换为大型函数 。此外,下面的示例使用ROW和INDIRECT函数 。
    Enter=大型(b9#、ROW(间接(”1:3″)))或=大型(b9:B18、row(”1:3″))
    现在,了解一点ROW和INDIRECT函数可能会有所帮助 。可以使用ROW函数创建连续的整数数组 。例如,选择一个空输入,然后输入:
    =ROW(1:10)
    此公式创建由10个连续整数组成的一列 。为了查看可能的问题,请在包含数组公式的区域上面插入一行(即第1行上) 。Excel将调整行引用,公式现在将生成从2到11的整数 。要修正该问题,可以向该公式添加INDIRECT函数:
    =ROW(INDIRECT(“1:10”))

    猜你喜欢