请问excel中以下这个命令是什么意思?求详解,感谢!

=(((MATCH(1,1/($D18:$S18>=0),0))-2)-LOOKUP(0,D18:S18)/(LOOKUP(0,D18:S18,E10:S10)))/4
2024-12-17 15:36:33
推荐回答(1个)
回答1:

你的提问都没有原迟行始数据,我只好简单假设了一下。

=(((MATCH(1,1/($D18:$S18>=0),0))-2)-LOOKUP(0,D18:S18)/(LOOKUP(0,D18:S18,E10:S10)))/4

首先要说的是:这是一个数组公式,编辑后需要同时按Ctrl+Shift+Enter三键结束,在公式前后自动加上{}。只有这样才能首旦或得到想要的结果,不然返回错误值。

MATCH(1,1/($D18:$S18>=0),0) 是个匹配函数,就是在$D18:$S18的范围内查找第一个大于等于0的数字,得到其在这个范围内的序号。

LOOKUP(0,D18:S18)是查找函数,LOOKUP查找函数要求查找区域是升序排列,你应该先升序排列好,在D18:S18范围内查找0这个数字,如果没有0,就找到比者伍查找值0小的数字中的最大值,就是最接近0的那个数字,在这里就是找到-1。

LOOKUP(0,D18:S18,E10:S10)是查找函数,同样要求升序排列,是在D18:S18范围内查找0或者比0小的数字中最接近0的数字,得到它的序号,按这个序号去E10:S10中查找对应的数字,因为是查找区域从D列开始,返回区域从E列开始,错位一列。

这三个数字都找到之后,就是简单的加减乘除了。

顺便再说一句:这个公式里的括号多写了2对,可以删除,如下:

=((MATCH(1,1/($D18:$S18>=0),0)-2)-LOOKUP(0,D18:S18)/LOOKUP(0,D18:S18,E10:S10))/4