TRANSPOSE,非数组版本
发布时间:2022-01-16 15:12:25
有时候,我们想要寻找通常需要数组公式的非数组版本,其理由可能是:
1. 认为这样可以提高工作表的性能(有时可以,有时不能)
2. 不喜欢必须使用输入数组公式所必需的Ctrl+Shift+Enter组合键
3. 从理论上,可能只是感兴趣
本文研究数组公式的非数组版本,更多地属于第三类。强迫TRANSPOSE正常运行而不进行数组输入的必要强制措施令人费解且不切实际。这并不是说对它们没有兴趣,但这些强制性的使用并非TRANSPOSE独有。实际上,可以在许多函数中使用它们来生成返回值,否则将需要数组输入。
下面是一个示例。假设从单元格A2起其下的单元格相加,想要确定这样的和在哪个单元格等于或超过某个数,例如5。这些单元格依次相加的和显示在列B中,假设我们不希望在解决方案中使用这样的辅助列。并且,假设我们希望返回必须相加才能达到该数的单元格数,如下所示。
从中可以清楚地看出,答案是3,因为前3个单元格中1+2+3=6大于我们给定的目标数5。
有两种标准的技术可以得到我们想要的结果。一种是使用数组公式:
=MATCH(TRUE,MMULT(0+(ROW(A2:A6)>=TRANSPOSE(ROW(A2:A6))),A2:A6)>5,0)
另一种是在公式中引入INDEX函数来代替数组公式(有关此技术的详细讨论,请参见《Excel公式技巧03:INDEX函数,给公式提供数组》)。公式为:
=MATCH(TRUE,MMULT(0+(ROW(A2:A6)>=TRANSPOSE(N(INDEX(ROW(A2:A6),,)))),A2:A6)>5,0)
注意,这里不仅添加了INDEX函数,也添加了N函数。
如果传递给TRANSPOSE的数组不是其他函数生成的,而是实际的单元格区域引用,那么对于等效的非数组的必要强制将更加复杂。例如,下面的示例:
想要求出B1和A2、C1和A3、D1和A4、E1和A5的乘积之和,可直接使用公式:
=(B1*A2)+(C1*A3)+(D1*A4)+(E1*A5)
答案是70。
先试试SUMPRODUCT函数来简化求乘积之和的公式:
=SUMPRODUCT(B1:E1*A2:A5)
结果是260,显然是错的。这是因为传递给SUMPRODUCT函数的两个数组是正交的,所以求出来的和是这些数字交叉相乘后的和,如下所示。
在B1:E1和A2:A5中的每个值依次相乘后的结果为260。
这样,我们需要将B1:E1和A2:A5进行转换,以确保这两个数组是相同类型的向量,即都是单行或都是单列。下面,尝试公式:
=SUMPRODUCT(B1:E1*TRANSPOSE(A2:A5))
得到的结果是78。并不是我们想要的结果,这个公式的中间结果为:
=SUMPRODUCT(B1:E1*3)
也就是说,TRANSPOSE函数仅返回数值3。
如果输入下面的数组公式:
=SUM(B1:E1*TRANSPOSE(A2:A5))
得到正确的结果70。上面的公式能够像我们预想的那样转换:
=SUM({5,6,7,8}*{1,2,3,4})
如果我们不输入本文开头的连乘和的公式(对于大量的数据是不可取的)或者刚才的数组公式,那么能够编写其他公式获得正确的结果吗?
使用非数组公式:
=SUMPRODUCT(B1:E1,TRANSPOSE(INDEX(A2:A5,N(IF(1,INDEX(ROW(A2:A5)-MIN(ROW(A2:A5))+1,,))))))
得到正确的结果70。
我们可以仔细地研究一下本文展示的技术,它们既可以与TRANSPOSE函数结合使用,也可以应用于其他函数。不推荐单纯为避免输入数组公式而想方设法采用其他公式,然而研究一下非数组公式解决问题也是一项有趣的练习!


猜你喜欢
- 谷歌浏览器是非常有名的一款浏览器软件,不过可能还有很多用户并不知道谷歌浏览器怎么使用检查密码功能,这款软件为用户带来了丰富的功能,所以想知道
- Word2003文章中怎么添加删除线?Word2003中想给部分文字添加删除线,该怎么办呢?下面我们就来看看详细的教程,需要的朋友可以参考下
- 有用户反映使用格式工厂转换视频时,总是提示Error 0XC0000005错误,该如何解决这个问题呢?格式工厂转换视频提示Error 0XC
- 很多小伙伴在需要制作PPT时都会选择使用PowerPoint演示文稿这款软件,其中有许多非常强大的功能。比如PowerPoint演示文稿中有
- WPS去除图片背景色的操作方法详细教学。我们在WPS文档中导入了一个带纯色背景的图片,需要提取里面的主体,那么如何去将背景颜色进行去除呢?今
- fontcreator怎么制作字体?fontcreator是一款可以用来制作、编辑修改ttf, otf, ttc 格式的字体文件,同时支持自
- 制作好了的文档怎么去设置打印出来呢?对于常用wps软件的小菜一碟,下面小编就为你介绍wps文字怎么设置打印的方法啦,希望看完本教程的朋友都能
- 电脑开机的时候碰到自动进入BIOS界面,需要按F1才能继续运行,这是怎么回事呢?很多朋友都给小编反映这个问题。下面小编给大家分享导致电脑开机
- 剪映电脑版怎么用模板?有用户在使用剪映电脑版剪辑视频时,发现电脑版的剪映没有手机版上的模板功能,那么如果在使用剪映电脑版时,如何套用模板呢?
- 最近有用户反映使用360安全卫士升级Win10系统,Windows Technical Preview 安装程序 一直卡在“正在获取更新”的
- 鬼谷八荒幽魂驺吾怎么获取?许多玩家在畅游鬼谷八荒的时候,经常会看到别人拥有一些非常炫酷的坐骑。而幽魂驺吾坐骑就是一款十分帅气的坐骑,而且还可
- 从iOS 14开始,当我们的手机处于解锁工作状态时来电显示将在顶部显示为横幅。来电横幅对于游戏玩家来说是件好事,毕竟也不想在王者荣耀里当个活
- Word数字怎么批量添加下划线呢?很多用户对此还不是很清楚,小编这里就给大家带来有关Word数字怎么批量添加下划线的回答,希望能够帮助大家了
- 我们来介绍一下一个叫做WinToFlash的小东东,它是一个制作U盘版系统安装盘的应用,只需几个基本步骤就可以迁移Windows安装程序到U
- windows系统中有一个计划任务功能,可以定时进行某些任务操作,那么怎么设置计划任务?本文就给大家分享Win7系统电脑计划任务的设置方法。
- 安装前准备安装驱动前,确定佳能一体机型号,如:ic MF 4010。访问官方网站,下载相应的驱动程序。在下接菜单中,找到相应的一体机型号,确
- 用户在使用wps软件时可以体验到很多实用的功能,帮助用户解决了很多的麻烦,并且这款办公软件中的功能有着其它热门办公软件的支持,让用户能够简简
- wps软件是一款多功能办公软件,给用户带来了许多的便利,用户可以在这款办公软件中编辑文档、表格以及ppt等文件,用户可以根据自己的实际情况来
- 搜狗输入法怎么打颜文字表情符号?我们在和别人聊天的时候,经常会发现有的朋友很喜欢发颜文字字符表情,确实有时显得很萌,也比较有个性。现在如果我
- 现在的免费易用的数据恢复软件有很多,例如DiskGenius,所以即使硬盘中的文件被删除了,也可以轻易被恢复。除非你在删除文件后,又即时地反