【问题标题】:Get first non-empty cell in row获取行中的第一个非空单元格
【发布时间】:2020-08-24 16:54:55
【问题描述】:

在 Google 表格中,如何获取从 C 列开始的 17 行中第一个非空单元格的值?

【问题讨论】:

  • 为什么投反对票?该问题遵循 StackOverflow 设置的准则,之前没有答案。

标签: if-statement google-sheets google-sheets-formula min google-sheets-query


【解决方案1】:

尝试:

=INDIRECT(ADDRESS(17, INDEX(MIN(IF(C17:17<>"", COLUMN(C17:17), )))))

【讨论】:

  • 这在新电子表格上完美运行。我在现有文档上收到“公式解析错误”,其中每个单元格要么是空的,要么是其他单元格的总和。
  • 问题是由于区域设置导致逗号, 被区别对待。
【解决方案2】:

我发现了另一种可行的方法,但不如 player0 的优雅。

=INDEX( FILTER( (SORT(TRANSPOSE(C17:17),TRANSPOSE(COLUMN(C17:17)),FALSE)) , NOT( ISBLANK( (SORT(TRANSPOSE(C17:17),TRANSPOSE(COLUMN(C17:17)),FALSE)) ) ) ) , ROWS( FILTER( (SORT(TRANSPOSE(C17:17),TRANSPOSE(COLUMN(C17:17)),FALSE)) , NOT( ISBLANK( (SORT(TRANSPOSE(C17:17),TRANSPOSE(COLUMN(C17:17)),FALSE)) ) ) ) ) )

我将这个关于 SO 的其他两个答案放在一起,一个是关于如何反转一行中的单元格,另一个是关于查找列中的最后一个非空单元格。

所以这个公式反转 C17:17,但将其保留为一列:

=(SORT(TRANSPOSE(C17:17),TRANSPOSE(COLUMN(C17:17)),FALSE))

然后,当查找列中的最后一个非空白值时,此结果将用作范围,这将是原始行中的第一个非空白值。 (来自Get the last non-empty cell in a column in Google Sheets) 我用上面的公式替换了下面的 A:A。

=INDEX( FILTER( A:A ; NOT( ISBLANK( A:A ) ) ) ; ROWS( FILTER( A:A ; NOT( ISBLANK( A:A ) ) ) ) )

结果不是很漂亮,但确实有效。

【讨论】:

  • 哇,这是一个很大的公式。我看到它仅在 player0 也继承格式时才获取值。对于发现此答案可能有用的其他人。
【解决方案3】:

我正在查看一个类似的问题,并找到了类似的解决方案,可能对您有用:

=INDEX(C17:17,MATCH(TRUE,C17:17<>"",0))

据我了解,MATCH 会在 C17:17 中找到与 "" 不同的第一个元素的位置(确切地说,因此是 0),并且索引将从同一范围内检索值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-28
    • 1970-01-01
    相关资源
    最近更新 更多