【问题标题】:Issue with Excel/openoffice Calc nested if statementExcel/openoffice Calc 嵌套 if 语句的问题
【发布时间】:2012-10-26 23:02:55
【问题描述】:

我几乎没有在 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... 是我希望它返回的相应值列表。

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

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

【问题讨论】:

    标签: excel if-statement calc


    【解决方案1】:

    我看到的第一件事是你的公式引用了

    IF(AX1=13, M2,
    

    我敢肯定你的意思是:

    IF(AX2=13, M2,
    

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

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

    但是,正如我所说,您可以通过多种方式获得此解决方案 - 这取决于您要完成的任务...

    【讨论】:

    • 非常感谢。再说一次,我没有这方面的经验,只是试图让一些东西为某人工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-03
    • 1970-01-01
    相关资源
    最近更新 更多