【发布时间】:2020-08-24 16:54:55
【问题描述】:
在 Google 表格中,如何获取从 C 列开始的 17 行中第一个非空单元格的值?
【问题讨论】:
-
为什么投反对票?该问题遵循 StackOverflow 设置的准则,之前没有答案。
标签: if-statement google-sheets google-sheets-formula min google-sheets-query
在 Google 表格中,如何获取从 C 列开始的 17 行中第一个非空单元格的值?
【问题讨论】:
标签: if-statement google-sheets google-sheets-formula min google-sheets-query
我发现了另一种可行的方法,但不如 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 ) ) ) ) )
结果不是很漂亮,但确实有效。
【讨论】:
我正在查看一个类似的问题,并找到了类似的解决方案,可能对您有用:
=INDEX(C17:17,MATCH(TRUE,C17:17<>"",0))
据我了解,MATCH 会在 C17:17 中找到与 "" 不同的第一个元素的位置(确切地说,因此是 0),并且索引将从同一范围内检索值。
【讨论】: