Excel:如何根据水平表中的计算值在垂直表中获取相应的值

我有一个汽车维修时间表安排在垂直表中,有两列:在相应的里程的里程和维护成本。

然后我有一个单独的水平表,每个月底(60列60个月)的汽车实际行驶里程。

我需要find一种方法来优化交叉检查在水平表中行驶的实际里程和维护时间表,并获得相应的维护成本,只要实际行驶里程等于维护时间表+/- 1000英里的特定里程。

我尝试了Mod,Match,Index,Vlookup的各种组合,但我无法获得任何工作。 除了使用VBA,有没有什么办法可以在Excel中实现呢?

有任何想法吗?

更新:这是垂直维护时间表: 在这里输入图像说明

这就是select相应的维护成本的地方:

在这里输入图像说明

您可以看到相同的成本值重复,而他们应该只出现一次。

更新:我更换了更清晰的截图。

首先让我们研究如何在每一列中查找,而不pipea行中的值是否是10,000的倍数。

将行(Row3?)添加到您的水平表中,行驶里程四舍五入到最接近的1000英里。 添加另一行(row4)。 现在B4 = vlookup(b3, yourVerticalTable,2)

你说: “但是现在我需要调整它,以避免重复以前使用的维护成本值。” 也许你的纵向表没有被填满,所以当它超出价值时,它会一遍又一遍地重复上一次?

如果是这样,请在公式中的“2”之后加一个逗号来编辑一个公式:

=vlookup(b3, yourVerticalTable,2 , **[CURSORHERE]** )

使用光标后的公式中的编辑光标,您应该看到一个带有粗体字[范围查找]的工具提示。 您可能需要将其更改为0 (完全匹配)

更新:截图,我可以再细化一点。 这将限制报告每10,000英里只有一次。

首先检查F10中的值是否等于E10中的值(均四舍五入到最接近的10,000)如果四舍五入的值相等,则公式应该返回0 (或者是一个空白的"" ,或者任何你想要的)否则它应该执行上面描述的查找

=if(mround(F10,10000) = mround(e10,10000),0,vlookup(.....