INDEX函数,给公式提供数组
发布时间:2022-03-31 18:40:53
INDEX函数虽然可以生成数组,但如果不用数组公式,似乎只能返回其生成的数组中的第一个元素。然而,可以使用INDEX函数来给公式提供数组。例如:
=SUM(INDEX(A1:A10,N(IF(1,{1,4,8}))))
将计算单元格A1、A4和A8的和。
下面的公式也可以得到相同的结果:
=SUM(INDEX(A1:A10,N(INDEX({1,4,8},,))))
可以将其扩展到二维单元格区域:
=SUM(INDEX(A1:C10,N(IF(1,{1,4,8})),N(IF(1,{1,2,3}))))
计算单元格A1、B4和C8的和,即:
=SUM(A1, B4, C8)
此外,可以采取转置其中一个数组常量的标准技术来生成更多不同的结果:
=SUM(INDEX(A1:C10,N(IF(1,{1,4,8})),N(IF(1,{1;2}))))
得到的结果与下面的公式相同:
=SUM(A1, A4, A8, B1, B4, B8)
甚至生成我们通常可能会采用OFFSET函数来生成的数组:
=SUM(INDEX(A1:C10,N(IF(1,{1,2,3})),N(IF(1,{1;2;2;3}))))
得到的结果与下面的公式相同:
=SUM(SUBTOTAL(9,OFFSET(A1,,{0,1},3,2)))
实际上等价于:
=SUM(A1:B3) + SUM(B1:C3)
当然,上述内容只是举例,实际上可以通过很多方法来实现上述结果。最关键的是,通过这些例子发现了有用的技术,即可以使用INDEX函数生成多个返回值。不像OFFSET函数,其第一个参数必须是对工作表中实际单元格区域的引用,INDEX函数可以接受和处理其引用的数组,该数组由公式中其他函数生成的值组成。
并且,这种强制返回多个值的技术的使用不限于INDEX函数。例如,试图找到A1:A10中第一次出现“A”、“B”和“C”所对应的相同行中B1:B10的最大值,如果使用公式:
=MAX(VLOOKUP({“A”,”B”,”C”},A1:B10,2,0))
不一定会得出正确的结果,原因是Excel会将该公式转换为:
=MAX(VLOOKUP(“A”,A1:B10,2,0))
也就是说,传递给VLOOKUP函数的数组中的3个元素仅第1个元素被处理。
然而,使用上文所解的强制生成多个值的技术,其公式为:
=MAX(VLOOKUP(T(IF(1,{“A”,”B”,”C”})),A1:B10,2,0))
可以得到正确的结果,如下所示。


猜你喜欢
- 在平时的工作中,我们会安装非常多的软件,但是在我们安装软件的时候会出现提示error launching installer,那么当你遇到W
- uzqkst.exe - uzqkst进程进程文件: uzqkst or uzqkst.exe 进程名称: UltimateZip 进程类别
- word是我们常用的办公软件,有时需要给页眉和页脚设置样式,那么word2007中怎样设置页眉页脚的页码样式?下面和小编一起来看看吧word
- 不可能老是待在服务器旁边,所以远程登录就十分有用,经过测试有三种不错的方法,大家可以尝试操作下在做开发的过程中,不可能老是待在服务器旁边,所
- Xmind2022Mac是一款非常便捷的制作思维导图的软件,制作思维导图可以帮助用户更高效的进行学习,在Xmind中如何改主题宽度呢?下面我
- 不扫人问excel时间加减函数怎么用,其实更多人主要想了解时间之差怎么计算,那么本文就给大家介绍excel设置时间相减的方法,需要的朋友参考
- WPS里面有大量很好看的字体。但我们有时想要使用更多的字体,该怎么办呢?我们除了可以使用WPS系统自带的字体以外,还可以使用云字体。今天,小
- 许多用户在Word文档中写公式时,都用的第三方公式编辑器,其实在Word中自带有3.0的公式编辑器。下面教大家怎么调用出来。方法/步骤打开W
- win10白天自动变黄关闭不了怎么办?有的win10用户在使用电脑的过程中遇到了电脑屏幕自动变黄、关闭不了的情况,像这个问题要怎么处理呢?很
- 在网络共享中心里面可以建立ad-hoc的无线网来共享网络,想必很多朋友都知道吧,由于手机或者其它设备并不支持ad-hoc,所以Win7提供了
- 音频驱动程序主要负责音频输入和输出,如果在使用过程中出现问题通常是由于驱动程序过时或损坏造成的。那Windows 11如何重新安装音频驱动程
- 最近,曾数次准确提供NVIDIA显卡各种未公布信息的爆料大王Erinyes,悄然在自己的Twitter上发布消息称,NVIDIA又一款旗舰显
- 在生活或者工作的时候,都会有一些私密性的文件不想被别人知道,在使用Excel 2007编辑文档的时候,我们可以设置密码,此外还可以将工作表隐
- 在新系统中,官方对相机程序进行了全面的更新,增加了新的拍照模式以及特效的实时预览,界面更加扁平化,操作支持手势切换,更加便利。下面,让我们一
- Excel序列号怎么跳过空白行连续排列?在Excel中给表格想加入序列号,但是表格中有很多空行,想直接跳过空白的行在有内容的地方发出序列号,
- 在使用win10系统时,可以使用本地账户登录,还可以使用Microsoft账户(微软账户)登录,那有些用户就问小编了,自己不喜欢使用Micr
- Win7中的库也看起来像一个文件夹,但它的功能不仅仅是一个文件夹。库不仅仅是一个文件夹,而是一个文件和文件夹的集合。就像它的名字一样,它是系
- 安装iOS9后 qq无法发送本机照片怎么办?很多用户反应,自从新刷了IOS9系统以后,上QQ时就不能发
- 国人接触最多的办公软件非 Microsoft Office 莫属了,微软发布的这款办公软件至今已经走过 30 多年,目前更新的最新版本为 2
- Win8可以说是打通电脑和移动终端而推出的革命性的系统产品。相比我们熟悉已经的XP以及Win7系统,Win8界面有了较大的改变,以致于一些之