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(.....