第1个回答 2015-10-07
如图,假如数据在第一行,在A2中输入
=MATCH(LOOKUP(1,0/(A1:Z1<>""),1:1),1:1,)
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/3b292df5e0fe99255fcfecf932a85edf8cb1715c?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)
第2个回答 2011-11-21
借别人一句代码:查找同行最后一个非空单元格
[a5] = Range("a1:n1").Find("*", , , , 1, 2).Column
-------------------------------------------------
Sub kk()
Dim i, j As Integer
For i = 1 To Range("A65536").End(xlUp).Row()
If Cells(i, 1) = "科学" Then
j = Range("a" & i & ":" & "iv" & i).Find("*", , , , 1, 2).Column
Cells(i, 2) = Cells(i, j)
End If
Next i
End Sub
第3个回答 推荐于2016-07-05
Sub 填充()
For i = 2 To Range("A65536").End(xlUp).Row()
If Cells(i, 1) = "科学" Then
Cells(i, 2) = Cells(i, 1).Offset(, Cells(i, 256).End(xlToLeft).Column() - 1)
End If
Next
End Sub
代码,假设了你的第一行是标题行。
代码是根据excel2003来写的。
如果你的列数据不超过256,2007也可以用。本回答被提问者采纳
第4个回答 2011-11-21
Sub 提取()
Dim i As Integer
Dim j As Integer
For i = 1 To 10000 Step 1
If Cells(i, 1) = "" And Cells(i + 1, 1) = "" And Cells(i + 2, 1) = "" _
And Cells(i + 3, 1) = "" And Cells(i + 4, 1) = "" And Cells(i + 5, 1) = "" Then Exit For
For j = 256 To 1 Step -1
If Cells(i, 1) = "科学" Then
If Cells(i, j) <> "" Then
If Cells(i, 2) <> Cells(i, j) Then
Cells(i, 2) = Cells(i, j)
End If
Exit For
End If
End If
Next j
Next i
End Sub