急解Excel问题

来源:百度知道 编辑:UC知道 时间:2024/07/05 18:27:47
求一行中最后一个非空的值。我写了一个:
=LOOKUP(2,1/(A1:K1<>""),A1:K1)
但是如果有两个连续的相同的值,这个公式就只能得出相同值的前一个。
我想得到的是最后一个非空值,这一行的中间有可能会有空项的。
例如:
A B C D E F G H I J K L
1 1 2 3 4 5 6 7 7
我要的是得到“L1”位置的“7”
求最后一个非空值没问题了,是确定这个非空值所在的列数问题。
还是上面那个例子:
L1的值是:7,我要的是这个7的列数是:12
要不受前面K1的影响

=LOOKUP(2,1/(1:1<>""),COLUMN(1:1))

如果都是数值,可用
=LOOKUP(9E+307,1:1)
如果不论文本还是数值
=INDEX(1:1,1,MAX(IF(1:1="",,COLUMN(1:256))))
是数组公式。
其中的MAX(IF(1:1="",,COLUMN(1:256)))就是求最后一个数据在第几列的。