Excel 2016教程: 用数组查找出区域中的 n 个最大值
Excel 2016教程: 用数组查找出区域中的 n 个最大值
查找出区域中的 n 个最大值
要找出区域中的多个最大值,可以使用 LARGE 函数替代 SMALL 函数。此外,下面的示例使用 ROW 和 INDIRECT 函数。
1、选择单元格 A1 到 A3。
2、在编辑栏上输入下面的公式,并按 Ctrl+Shift+Enter:
=LARGE(A5:A14,ROW(INDIRECT("1:3")))
值 3200、2700 和 2000 分别显示在单元格 A1 到 A3 中。
现在,了解一点 ROW 和 INDIRECT 函数可能会有所帮助。可以使用 ROW 函数创建连续的整数数组。例如,在练习工作簿中选择一个包含 10 个单元格的空列,在单元格 A5:A14 中输入下面的数组公式,然后按 Ctrl+Shift+Enter:
=ROW(1:10)
此公式创建由 10 个连续整数组成的一列。为了查看可能的问题,请在包含数组公式的区域上面插入一行(即第 1 行上)。Excel 调整行引用,并且此公式生成从 2 到 11 的整数。要修正该问题,可以向该公式添加 INDIRECT 函数:
=ROW(INDIRECT("1:10"))
INDIRECT 函数使用文本字符串作为参数(这是区域 1:10 由双引号括起的原因)。当插入行或移动数组公式时,Excel 不会调整文本值。因此,此 ROW 函数总是生成所需的整数数组。
让我们以前面使用过的公式为例 - =LARGE(A5:A14,ROW(INDIRECT("1:3"))) - 从内层的括号开始向外计算:INDIRECT 函数返回一组文本值,在这种情况下,为值 1 到 3。ROW 函数依次生成包含三个单元格的纵栏式数组。LARGE 函数使用单元格 A5:A14 中的值,并且它计算三次,每次都对应于 ROW 函数返回的每个引用。值 3200、2700 和 2000 返回到这三个单元格纵栏式数组中。如果要查找更多值,可以向 INDIRECT函数添加更多的单元格区域。
最后,可以将此公式与其他函数一起使用,例如 SUM 和 AVERAGE。
相关内容
-
Excel 2016教程: VLOOKUP导致的 #REF! 错误
Excel 2016教程: VLOOKUP导致的 #REF! 错误,导致,教程,错误,...
-
Excel 2016教程: 根据内容计算允许输入的内容
Excel 2016教程: 根据内容计算允许输入的内容,输入,计算,教程...
-
Excel 2016教程: 以短划线、#N/A 或 NA 代替错
Excel 2016教程: 以短划线、#N/A 或 NA 代替错误值,错误,教程...
-
Excel 2016教程: 更正 # # # 错误
Excel 2016教程: 更正 # # # 错误,错误,数字,格式,教程,日期,...
-
Excel 2016教程: 将错误值转换为零
Excel 2016教程: 将错误值转换为零,错误,转换,单击,格式,教程...
-
Excel 2016教程: 更正 #REF! 错误
Excel 2016教程: 更正 #REF! 错误,错误,教程,显式,删除,引用,...
-
Excel 2016教程: 更正负日期或时间
Excel 2016教程: 更正负日期或时间,教程,格式,导致,日期,时间...
-
Excel 2016教程: INDEX导致的 #REF! 错误
Excel 2016教程: INDEX导致的 #REF! 错误,导致,教程,错误,引...
-
Excel 2016教程: 更正 #NAME? 错误
Excel 2016教程: 更正 #NAME? 错误,错误,语法,名称,教程,向导...
-
Excel 2016教程: 公式中已定义名称存在拼写错误
Excel 2016教程: 公式中已定义名称存在拼写错误,名称,错误,拼...
-
Excel 2016教程:连接数据
Excel 2016教程:连接数据,连接,转换,数据,教程,数据查询,数据...
-
Excel 2016教程: 功能区重置为默认设置
Excel 2016教程: 功能区重置为默认设置,重置,功能区,教程,默...
-
Excel 2016教程: 数据有效性中的公式示例
Excel 2016教程: 数据有效性中的公式示例,数据有效性,输入,确...
-
Excel 2016教程: 数据验证何时有用
Excel 2016教程: 数据验证何时有用,数据验证,用户,输入,教程,...
-
Excel 2016教程:转换数据
Excel 2016教程:转换数据,转换,数据,查询,编辑器,教程,选择,...