我已经找到了答案,但似乎我只能找到基于VBA的解决方案,它们似乎不再是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)
+===========================================================+
答案 0 :(得分:1)
您的数据看起来像是从左到右排序
如果是,则可以从=MATCH(MAX(C4:K4);C4:K4)
之类的内容开始,以检索行的最后一个单元格(max)的列索引。从那里,很容易建立地址:
=ADDRESS(ROW();MATCH(MAX(C1:K1);C1:K1);4)
编辑:将ADDRESS与COUNT或COUNTA相结合(来自Dustin Geile的好主意)不需要对项目进行排序:
=ADDRESS(ROW();COLUMN()+COUNT(B1:Z1);4)
答案 1 :(得分:1)
=CHAR(COUNTA(B1:ZZ1) + 65) & ROW()
答案 2 :(得分:0)
你可以试试这个数组形式:
{=ADDRESS(ROW(B2),MAX(IF(ISEMPTY(B2:H2),0,COLUMN(B2:H2))))}
使用 Ctrl Shift 输入
进行验证答案 3 :(得分:0)
如果您要查找包含数据的最后一个单元格,可以编写一个快速函数并将其放在工作簿中的VBA模块中。
Public Function LastCell(inRange as Range) LastCell = inRange.End(XlToRight).Address 结束功能
如果你想获得一个指向单元格的范围对象,或者只是省略'.Address'。
然后您可以在类似......
的公式中使用它= LastCell(A1)
此致 射线