具有可变断点的查找表

时间:2016-06-14 03:16:55

标签: excel-formula

背景

通常情况下,当我处理表以查找与表一起使用的值时,可以很好地使用以下内容进行布局:

Sample Table 1

我重新排列它们,通过将表格转换为以下内容,使我的查询生活更轻松:

Sample Table 2

我在额外的列中投入,以便将来维护表将更容易更新表和引用它的公式。我在上表中使用的公式是:

=INDEX(C3:I5,MATCH(MIN(B7:B8),A3:A5,1),MATCH(MAX(B7:B8),C2:I2,1))

其中B7:B8具有我所指的尺寸。现在我正在假设大尺寸只有套装尺寸。如果允许,我需要采用插值方法并使用任何大小。

当前问题

现在我刚遇到一张桌子,让我真正想到了解决这种情况的最佳方法。初始表如下:

d/b | Cs            | Kls
<=1 | -             | 1
>1  | <=10          | 1
>1  | >10 but <Ck   | 1-0.3*(Cs/Ck)^4
>1  | >=Ck          | (0.70*E05)/Cs^2*fbu)

我第一次重新整理桌子是:

d/b         | Cs                | Kls
0   | 1     | 0     | 0         | 1
1   | 1     | 0     | 10        | 1
1   | 1     | 10    | Ck        | 1-0.3*(Cs/Ck)^4
1   | 1     | Ck    | 9.99E+101 | (0.70*E05)/Cs^2*fbu)

所以我的两个绊脚石是d / b可以是任何正数1.00001或0.99999类型的交易。所以d / b查找让我有点担心,因为在后台示例中我检查的第一列是&gt; =值。

我遇到的第二个绊脚石是第二个查找值Cs的断点有两个断点范围的变量。我计划在这里采取的方法只是计算值,并在我进行查找时将其传递给表格。现在,当只有一个项目要检查时,这种方法对我很有用。当我不得不处理多个要检查的项目时,我认为这种方法不会起作用。现在我唯一能想到的是:

  • 每个项目都需要自己的表格...哪种方式违背了表格的目的。
  • 将表格转换为嵌套的IF函数。

对我来说这是漫长的一天,心灵有点油腻。我想知道是否有人愿意分享他们对我正在考虑的方法的看法,或者对于一个以变量作为断点的表有自己的方法?

啊,小提琴棒!我只是重读了这个问题,我从未说过我试图从第三列(即Kls)中提取公式/结果。告诉你的意思是油炸。

如果我结束了嵌套的if路线,我会使用类似的东西:

=IF(OR(E50<=1,E57<=10),1,IF(E57<E63,1-0.3*(E57/E63)^4,0.7*G63/(E57^2*D71)))

Where

 - E50 is b/d
 - E57 is Cs
 - E63 is Ck
 - G65 is E05
 - D71 is fbu

1 个答案:

答案 0 :(得分:0)

我认为嵌套IF比重新排列表更好。通过重新排列截止值,您将丢失一些值。 在您的第一个示例中,较小的维度具有> 64但<&lt; 114。

当你改变它时,你有0到64,65到114. 64.5怎么样?此值不是表格的一部分。嵌套的IF语句允许您保留表的原始值。此外,您可以对变量使用命名范围,这些变量是第二个查找值Cs的断点。