查找连续数据的最后一个单元格的名称
我search了一个答案,但似乎只能find基于VBA的解决scheme,这在Excel 2008中不再是一个选项。
我试图返回包含数据的行中的最后一个单元格的名称。 它看起来像这样:
+===========================================================+ A / B / C / D / E (columns) +===========================================================+ 1 || [Formula] / 3 / 4 / 5 / [blank] 2 || [Formula] / 7 / 8 / [blank] / [blank] 3 || [Formula] / 9 / 10 / 11 / 12 (rows) +===========================================================+
最终结果如下所示:
+===========================================================+ A / B / C / D / E (columns) +===========================================================+ 1 || D1 / 3 / 4 / 5 / 2 || C2 / 7 / 8 / / 3 || E3 / 9 / 10 / 11 / 12 (rows) +===========================================================+
它看起来像你的数据从左到右sorting。
如果是的话,可以从=MATCH(MAX(C4:K4);C4:K4)
,检索该行最后一个单元格(max)的列索引。 从那里,很容易build立地址:
=ADDRESS(ROW();MATCH(MAX(C1:K1);C1:K1);4)
编辑:结合ADDRESS与COUNT或COUNTA(来自Dustin Geile的好主意)不需要对项目进行sorting:
=ADDRESS(ROW();COLUMN()+COUNT(B1:Z1);4)
=CHAR(COUNTA(B1:ZZ1) + 65) & ROW()
你可以试试这个arrayformula:
{=ADDRESS(ROW(B2),MAX(IF(ISEMPTY(B2:H2),0,COLUMN(B2:H2))))}
使用Ctrl Shift Enter进行validation
如果您正在查找包含数据的最后一个单元格,则可以编写一个快速函数,并将其放入工作簿中的VBA模块中。
公共函数LastCell(inRange作为范围)LastCell = inRange.End(XlToRight).Address End Function
或者如果你想得到一个指向单元格的范围对象,就省略'.Address'。
然后,你可以使用一个像…
= LastCell(A1)
问候雷