查找excel 每行最后一个数值所在的单元格位置?

表单每行的计划开始日期不固定,结束日期不固定,想结合实际产量计算按计划排程是否能完成?
目前问题是:想求出计划结束日期的单元格的列号(注意每行可能不同)?

在P2单元格输入以下公式,然后向下填充公式,得到最后数据所在的列数

=LOOKUP(1,0/(B2:O2<>""),COLUMN(B:O))

 

详见附图

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-09-30

    基础操作,选中每列的第一个数据,ctrl+下光标键快速定位到最后一个非空单元格。

    公式,=MAX(IF(A:A>0,ROW(A:A),0)),数组函数,三键结束。

    VBA(最有效方法),

    Sub TST()
    MsgBox Range("a65536").End(xlUp).Row
    End Sub


第2个回答  2014-12-02
如果数据量很大的话,建议用VBA宏,双重循环FOR NEXT,从大到小256 TO 1。IF判断是否为空,第一个不为空值的单元格Cell(x,y)便是。
以下为代码:运行ALT+F8,回车就行。

Sub 末列号()
Dim x, y, z
Dim n
Worksheets(1).Activate '先激活工作表
Sheets(1).Select
For x = 1 To 6000
z = 0
n = 2
For y = 256 To n Step -1
If Sheets(1).Cells(x, y) <> 0 Then
z = z + 1
n = y
End If
If z = 1 Then
Sheets(1).Select
Cells(x, 1) = y
z = z + 1
End If
Next
Next
End Sub本回答被网友采纳
相似回答