Excel,作为其他单元格的结果指定单元格内容

时间:2012-01-28 20:39:39

标签: excel cell excel-formula

我不经常使用excel,而且我还没有找到解决问题的好方法。 (这可能很简单)。

我想在我的电子表格中有一个带有函数的单元格,它显示另一个依赖于另一个单元格值的单元格值。

如:

enter image description here

最佳交易标题只使用公式

=MAX(D3,D1000)

但是在Best Deal下我想显示Name Test1而不是数值。

另一件很有趣的事情是,如果有办法知道其中包含数据的最大行。所以而不是像=MAX(D3,D1000)

这样的=MAX(D3,Max(RowCount_InD))

显然这个函数不会像我写的那样起作用,但希望这个伪代码可以让你知道我的意思。目的是如果添加更多条目,它将能够处理它们。

我知道这是可能的,但我遇到了一些麻烦。希望我能在这里得到一些帮助。

谢谢!

3 个答案:

答案 0 :(得分:4)

最简单的方法是使用Index和Match的组合。匹配将找到最大值的位置,然后Index将在A列中查找并返回相同位置的数据。所以,你的公式是:

=INDEX(A$3:A$1000,MATCH(MAX(D$3:D$1000),D$3:D$1000,0))

将该公式放在F3中。不需要隐藏的列。

对不起,我错过了有关扩大范围的部分。您可以使用Count或CountA以及Offset来实现。新的公式将是:

=INDEX(A3:OFFSET(A3,COUNTA(A:A)-1,0),MATCH(MAX(D3:OFFSET(D3,COUNT(D:D)-1,0)),D3:OFFSET(D3,COUNT(D:D)-1,0),0))

更复杂,但它基本相同,只是在最后添加新值时会扩展。

答案 1 :(得分:3)

我只能想到一种“简单”的方式,但它需要隐藏的列(对不起)。

设置E1 = A1并完全填充(基本上你在E列中复制A列,但你使用的是公式,所以它总是相同的)

然后在“最佳交易”下 - 提出这个公式:

=VLOOKUP(MAX(D3,D1000),$D:$E,2,FALSE)

然后隐藏E列,使其看起来不像一团糟。这样你就不需要任何花哨的宏了,它可以在任何地方使用,因为它是一个正常的公式。

答案 2 :(得分:1)

“另一件很有趣的事情是,如果有办法知道其中包含数据的最大行。那么而不是= MAX(D3,D1000)类似= MAX(D3,Max(RowCount_InD) )“

这是一个名为动态命名范围。为比率数据创建名称,并将名称范围的公式设置为:

=OFFSET($D$3, 0, 0, COUNTA($D$3:$D$1048576), 1)

此处有更多信息:http://www.ozgrid.com/Excel/DynamicRanges.htm

然后,假设您将此命名范围命名为ratio_data,则您的函数可以引用= MAX(ratio_data)以及@Tim Mayes建议的索引匹配。当您添加更多数据时,范围将自动扩展。

=INDEX(A$3:A$1000,MATCH(MAX(ratio_data),ratio_data,0))

理想情况下,您也可以用动态命名范围替换A3:A1000。