Google Sheets - 获取一行中最右边的值

3
我有一个表格,其中列是一年中的月份,行是各种度量标准。每个月,我们都会在右侧添加另一列。 我需要一个可以给定行数,总是返回最右边的值的公式。也就是说,每当我们为新的月份添加一列时,它会自动更新。
3个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
6

我很高兴发现了@AdamL的答案,这让我的一天变得美好,但是后来我发现了一个更简单的方法,适用于我的数据样本,那就是使用LOOKUP函数。

LOOKUP函数会在给定范围内查找特定的值,但如果你传递一个巨大的值,即超过你的数据范围的值,则默认返回最后的、右侧的值。

答案非常简单,只需传入该范围——或者行,如果你需要的话——和一个巨大的值(许多人使用Excel可以处理的最大数字,但Google表格不是Excel,而且我不知道Google表格可以处理的最大数字是多少,所以我将给它一个远远超出我的数据集的值)。假设您需要查找整个第二行:

=LOOKUP(999999999,2:2)

就是这样了。

如果没有任何数据,此函数将抛出错误。因此,如果您(像我一样)只在存在特定值时才需要获取该值,可以将其与简单的IF函数结合使用:

=IF(ISERROR(LOOKUP(999999999,2:2)),"EMPTY",LOOKUP(999999999,2:2))
你可以将字符串"EMPTY"替换为任何你想要的值或函数,如果LOOKUP函数返回错误。 希望这种简单的方法能有所帮助,再次感谢@AdamL的原始答案。

你需要具体说明一下。你想要用什么进行测试? - yago

4

有几种方法可以实现,但是其中一种方法(考虑这个例子中的第2行) :

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

注:此公式使用 FILTER 函数和 COLUMN 函数来查找指定行中长度最长的单元格。

1
非常正确。或者,如果您想要结果在B2中,使用范围引用C2:2而不是2:2。 - AdamL
谢谢,这让我的一天变得美好! - yago
这个方法比LOOKUP函数更加灵活,因为你可以通过在中间的COLUMN(2:2)后面加上-(N-1)来修改它以查找倒数第N个值,例如要查找倒数第4个值,使用=FILTER(2:2,COLUMN(2:2)=MAX(FILTER(COLUMN(2:2)-3,LEN(2:2))))。 - Dave F

0

为了日后的读者,我在这里添加一条公式。我多年前发现的获取最右侧值的公式是:

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

然而,对于数据单元格中间的每个空单元格,返回的值是倒数第N个值(在第2行有2个空单元格,公式将返回从右侧开始的第3个最后一个值,而不是最右边的值)。它似乎可以工作,但并不总是准确的。

因此,我不建议使用此公式,如果数据中最右边的单元格之前出现空单元格,则无法依赖它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,