Return Excel table 中多于 1 个值(用于计算总路线距离)

Return more than 1 value in Excel table (for calculating total route distance)

我做了这个 Excel sheet 来计算特定路线的总距离并跟踪行程。但是,它会进行许多计算,最终会使它变得非常慢(如果路线有很多停靠站,速度会更慢)。

图中,P列是PLACE_1[=52=之间的距离], Q列是PLACE_2PLACE_3[之间的距离=42=] 等等。 O 列是所有这些距离的总和。

我用 =INDEX(distance_table, MATCH(), MATCH()) 求出距离

这是distance_table(距离不是真实的,只是一个例子):

所以正如你所看到的,它有效但效率很低,index/match 公式将在每次旅行中使用 10 次。

可以做些什么来改进它? (考虑到每次旅行可能有超过 10 站)

提前致谢!

不打算作为答案。因为 performance index/match 更快,只是作为替代方案,也许它可以给你一些想法:

设置:

公式:

=SUMPRODUCT(($B:$B=B3)*($C:$K=C3);$C:$K) +
SUMPRODUCT(($B:$B=C3)*($C:$K=D3);$C:$K) +
SUMPRODUCT(($B:$B=D3)*($C:$K=E3);$C:$K) +
SUMPRODUCT(($B:$B=E3)*($C:$K=F3);$C:$K) +
SUMPRODUCT(($B:$B=F3)*($C:$K=G3);$C:$K) +
SUMPRODUCT(($B:$B=G3)*($C:$K=H3);$C:$K) +
SUMPRODUCT(($B:$B=H3)*($C:$K=I3);$C:$K) +
SUMPRODUCT(($B:$B=I3)*($C:$K=J3);$C:$K) +
SUMPRODUCT(($B:$B=J3)*($C:$K=K3);$C:$K)

可以使用SUM/INDEX/MATCH/MATCH数组公式:

=SUM(IFERROR(INDEX($B:$J,N(IF(1,MATCH($A:$J,$A:$A,0))),N(IF(1,MATCH($B:$K,$B:$J,0)))),0))

编辑后的数组公式按ctrl+shift+enter

确认