【问题标题】:Google Sheets - get the right-most value of a row谷歌表格 - 获取一行的最右边的值
【发布时间】:2014-09-11 21:33:10
【问题描述】:

我有一张表格,其中的列是一年中的月份,而行是各种指标。每个月,我们都会在右侧添加另一列。

我需要一些东西,我可以给一个 ROW,它总是会返回最正确的值。也就是说,每当我们为新月份添加一列时,它就会自动更新。

【问题讨论】:

    标签: google-sheets


    【解决方案1】:

    有几种方法,但只有一种方法(考虑本示例中的第 2 行):

    =FILTER(2:2,COLUMN(2:2)=MAX(FILTER(COLUMN(2:2),LEN(2:2))))

    【讨论】:

    • 非常正确。或者,如果您想要 B2 中的结果,请使用范围参考 C2:2 而不是 2:2。
    • 谢谢,这让我很开心!
    • 这很有效,并且比 LOOKUP 答案具有更多的通用性,因为您可以通过在中间的 COLUMN(2:2) 之后放置 -(N-1) 来修改它以找到倒数第 N 个值,例如要找到倒数第四个值,请使用 =FILTER(2:2,COLUMN(2:2)=MAX(FILTER(COLUMN(2:2)-3,LEN(2:2))))
    【解决方案2】:

    我很高兴找到@AdamL 的答案,它确实让我很开心,但我后来找到了一种更简单的方法,可以很好地用于我的数据样本,那就是使用 LOOKUP 函数。

    LOOKUP 函数将在给定范围内查找某个值,但如果您向它传递一个巨大的值,即超出您的数据范围的值,则默认情况下它会返回最后一个最右边的值。

    答案很简单,只需将范围(或行,如果这是您需要的)传递给它,并传递一个巨大的值(许多人使用 Excel 可以处理的最大数字来执行此操作,但 Google 表格不是 Excel,并且因为我不知道 Google 表格可以处理的最大数量是多少,所以我只会在我的数据集之外给它一个值)。假设您需要查找整个第 2 行:

    =LOOKUP(999999999,2:2)
    

    就是这样。

    如果没有任何数据,这个函数会抛出一个错误,所以如果你(像我一样)只需要在它存在的情况下获取那个特定的值,你可以将它与一个简单的 IF 函数结合起来:

    =IF(ISERROR(LOOKUP(999999999,2:2)),"EMPTY",LOOKUP(999999999,2:2))
    

    如果 LOOKUP 函数返回错误,您可以将字符串“EMPTY”替换为您想要的任何值或函数。

    我希望这个更简单的方法能有所帮助,并再次感谢 @AdamL 的原始回答。

    【讨论】:

    • 你需要比这更具体一点。你到底想测试什么?
    【解决方案3】:

    为未来的读者添加这个。我多年前找到的获得最右边值的公式是:

    =index(2:2,1,COUNT(2:2))
    

    但是,对于包含数据的单元格中的每个空白单元格,返回值是倒数第 N 个值(第 2 行中的 2 个空白单元格,公式将返回右侧倒数第三个值,而不是最右侧的值)。它似乎有效,但并非在所有情况下都是准确的。

    因此,我不推荐这个公式,因为如果在数据中最右边之前有一个空单元格,你就不能依赖它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多