颠倒反向匹配查找逻辑以避免使用助手行
我已经醒了太久,或者我的心被炸了。 我设法得到我想要做的帮助行的帮助,但我不知道如何扭转公式/函数在另一个方向工作,并避免助手行
目的
确定表面上的最后一个车轮:
- 车辆以垂直于表面起始边缘的直线行驶(将其视为沿着一条线行驶的车辆)。
- 车轴纵坐标相对于导轴被提供。
- 给出了远离起点的引导轴行进的距离。
- 表面的长度是给定的(虽然可能不需要)。
- 给出车辆的总长度(即车轴1至车轴5)
- 轴的数量可以变化,但是将在同一个表中定义
车辆定义
(B) (C) (D) (E) (F) (G) (7) Axle 1 2 3 4 5 (8) Ordinate 0 3.6 4.8 11.4 18 (10) HelperRow 18 14.4 13.2 6.6 0 (B) (C) (D) (11) Surface Length 8 (13) Truck length 18
该表也已使用命名范围进行了如下configuration:
Truck_Definition as $C$7:$G$9 Axle_Header as $C$7:$G$7 Axle_Ordinates as $C8:$G$8 Span as $C$11
等式到目前为止
辅助行只是将从卡车前部到卡车后部的纵坐标方向颠倒。 在C10中,我放置了下面的公式,然后复制到右边
=Truck_Length-C8
在电子表格的右侧,我正在开发一个完整的重击(这是技术术语是正确的?)列的中间计算。 列AA行13至27保持前轴行进的距离。 所以我的第一个任务就是确定主轴号。 我可以通过一系列的嵌套if语句来完成,但这使得方程看起来非常难看,有时难以破译。 我在AB13中的主轴号码公式,然后通过ABAB27复制下来,如下所示:
=IFNA(MATCH(AA13-Span,Axle_Ordinates,1)+1,1)
我认为这很简单,而且效果很好。 只要设置一个错误捕获匹配查找方法返回轴之前我想要的意思,如果我想轴1它会超出范围或不是资金types的处理。
于是我把注意力转向寻找一个漂亮的光滑的公式从相反的方向来做。 随着辅助行的增加,我在AC13中提出了这个问题,并将其复制到AC27:
=IFNA(MATCH(W13,$C$10:$G$10,-1),99)
为了防止出现错误,我扔了99,但到目前为止,还没有出现在我的名单上。 我认为这是工作,我还没有打破,但我没有尝试太多。 显然,我没有定义我的W列:
=Truck_Length-AA13
哦,是的,差点忘了。 如果有帮助,K13:K27中有一个索引列,其顺序为1到15。
我想知道的
有没有办法计算倒数第二个方程来确定拖尾轴,而不使用辅助行或嵌套的冗长缠绕的string?
额外的信息
这是上面描述的设置信息的屏幕截图,让我们称之为车辆1。
并让我们打电话给这辆车3
该更改基于D4中的下拉select
如果碰巧帮助某人,这是我目前工作区域的快照。 中间的3个testing列最终将被删除。 我将要看看结合列。 所有在AD栏里得到3个是的标志! 可悲的是通过希望有一半的列将吐出1个数字。
是的,通过VBA这么简单,但不会去那里,坚持公式。
试试这个数组公式…
{=IFNA(MATCH(W13,Truck_Length-$C$8:$G$8,-1),99)}
我得到这些结果,在突出显示的背景 – 与您的原始结果相比…
更新为非CSE解决scheme
这个怎么样 …
=MATCH(Truck_Length-W13,Axle_Ordinates,1)
我得到了与前一张图片相同的结果。