0

我几乎没有在 Excel 中处理公式的经验,但我正在尝试为无法让宏工作的人一起破解一些东西。

本质上,我已经完成了一组数据的排序列表,并且需要抓取前四项。使用 VLookup 或 Index 似乎是最有意义的,但是表格的格式(由于各种原因我无法更改)似乎我无法让它们工作(如果我可以切换它们中的列/行定义,然后我可以,但我不确定我是否可以/如何)。因此,无论如何,我已经将这个长嵌套的 if 语句放在一起应该可以解决问题,但是它给我一个缺少元素的 509 错误。我已经做了几乎所有我能想到的事情来弄清楚发生了什么,但没有运气。

所以这里是:

=IF(AO2=13, D2, IF(AP2=13, E2, IF(AQ2=13, F2, IF(AR2=13, G2, IF(AS2=13, H2, IF(AT2=13, I2, IF(AU2=13, J2, IF(AV2=13, K2, IF(AW2=13, L2, IF(AX1=13, M2, IF(AY2=13, N2, IF(AZ2=13, O2, IF(BA2=13, P2, "foo")))))))))))))

其中 A02... 值是排序列表(因此索引号 13 对应于 D2:P2 中的最大值),而 D2... 是我希望它返回的相应值列表。

我想知道是否有人可以快速看一下,看看是否有什么东西跳出来。我确定它是愚蠢的和/或结构性的,但我无法让它发挥作用。

PS - 我在 .xlsx 文件上使用 Calc,但我很确定这应该没有什么区别。

4

1 回答 1

0

我看到的第一件事是您的公式正在引用

IF(AX1=13, M2,

我敢肯定你的意思是:

IF(AX2=13, M2,

但这可以提高效率 - 最简单的方法之一(并且有很多)是 SUMIF 函数。鉴于 AO2:BA2 中只有一个值等于 13,您可以编写如下内容:

=SUMIF(AO2:BA2,13,D2:P2)

但是,就像我说的,有很多方法可以获得这个解决方案——这取决于你想要完成什么......

于 2012-10-26T14:56:49.857 回答