-1

如何从 Excel 图表中获取值?

表示不在输入数据中的和 X 的 Y-val。

例如在图中 - 获取 x=2.5 的值?

例子

4

1 回答 1

0

对于您的示例数据,假设 X 值在 L4:L9 中,Y 值在 M4:M9 中,并且您有兴趣找到 Y 值的 X 值在 O4 中,以下非常丑陋且不可读的公式将起作用为你:

=IF(O4=MAX(L4:L9),INDEX(M4:M9,MATCH(O4,L4:L9,0)),(INDEX(M4:M9,MATCH(O4,L4:L9,1)+1)-INDEX(M4:M9,MATCH(O4,L4:L9,1)))/(INDEX(L4:L9,MATCH(O4,L4:L9,1)+1)-INDEX(L4:L9,MATCH(O4,L4:L9,1)))*O4+INDEX(M4:M9,MATCH(O4,L4:L9,1))-((INDEX(M4:M9,MATCH(O4,L4:L9,1)+1)-INDEX(M4:M9,MATCH(O4,L4:L9,1)))/(INDEX(L4:L9,MATCH(O4,L4:L9,1)+1)-INDEX(L4:L9,MATCH(O4,L4:L9,1)))*INDEX(L4:L9,MATCH(O4,L4:L9,1))))

如果 O4 中的值不小于系列中 X 的第一个值,也不大于系列中 X 的最后一个值,这将起作用。

不,我没有在一个单元格中开发它。我通过一系列辅助单元开发了它,然后将它们替换为引用它们的方程。

这是一张显示基本原理的表格,并用背面代替了线的斜率。

示例 1

现在要找到相对于您想要的 x 值的 X1 和 X2,我们执行了 INDEX/MATCH 组合以在数据中找到您的点。为了找到 X1,在单元格 Q4 中使用了以下公式:

=INDEX(L4:L9,MATCH(O4,L4:L9,1))

MATCH 将小于或等于您要查找的数字的位置返回为 x(O4 的值)。INDEX 在给定点的数据列中返回该值。在这种情况下,它返回范围 L4:L9 中的值,该值位于 MATCH 函数值的位置。所以现在我们需要找到 X2 的值。这将是列表中的 +1 个位置。所以我们重用公式,但插入 +1 并在单元格 Q5 中得到以下内容:

=INDEX(L4:L9,MATCH(O4,L4:L9,1)+1)

现在,如果 match 中的值没有返回列表中的最后一个值,这很有效。发生这种情况时,+1 将告诉索引查找列表之外的内容,它会返回错误。这种特殊情况在最后一个公式中处理,因为我不想分别对 X2 和 Y2 查找进行特殊情况处理。说到 Y1 和 Y2 值,它们在匹配部分的查找方式相同,只需将索引的查找范围移动到新范围即可。不是使用代表 X 的 L4:L9,而是使用 M4:M9 来查找 Y 值。因此,在单元格 R4 和 R5 中,我们得到以下公式:

=INDEX(M4:M9,MATCH(O4,L4:L9,1))

=INDEX(M4:M9,MATCH(O4,L4:L9,1)+1)

所以现在如果你想把所有的东西都放到一个单元格中,你最终会复制一些公式,最后会得到顶部的大而丑陋的方程。现在,整个方法的关键是您使用的是点之间的直线。

与往常一样,还有其他方法可以实现这一目标,这只是一种方法。

OOPS 错误捕获

所以我谈到了它,但忘了展示它。假设我们不使用数据验证来防止此类条目,当我们处理列表的最后一个条目时要做什么的特殊情况。在我最后的大型公式之前,我使用了以下代码块。

IF(O4=MAX(L4:L9),INDEX(M4:M9,MATCH(O4,L4:L9,0)),BIG GORMULA)

基本上我是说如果我们使用列表中的最后一个值,只需返回 Y 列表中的最后一个值。否则,使用大公式。现在我可以在 X2 查找中完成此操作,并且我可以在 Y2 查找中执行相同的操作。这意味着它会被多次替换回更大的方程,使其看起来比现在更长、更丑陋。

现在您可以添加另一个语句来捕获不可接受的 04 条目,例如:

IF(OR(O4<MIN(L4:L9),O4>MAX(L4:L9)),"Unacceptable entry", DO THE FORMULA)

另一种方法是在单元格 O4 上使用数据验证。

于 2016-04-04T18:02:33.790 回答