[英]find values between range, fill in next cells
我正在尋找一種方法來復制范圍內找到的所有數據並將其粘貼到下一列中。
A =文字數據
B =隨機數,但始終從1開始
C =一些數據
D =我需要的解決方案
Example:
A B C D
018404.00 1 20 20
018404x0 2 0 20
018404f1 2 0 20
018404v1 3 0 20
11000-0532 4 0 20
1004-1101 5 0 20
0720-0125 3 0 20
0810-0001 3 0 20
0710-0040 3 0 20
052269.00 1 0 80
052269v6 2 0 80
11001-0000 3 0 80
1001-1110 4 0 80
0720-0500 2 0 80
0810-0001 2 80 80
0720-0002 2 0 80
052275.00 1 0 160
052275v2 2 160 160
當B列中的值為1時,則在C列中找到值( Range B:B
從1到1),將其復制到D
我已經嘗試過使用公式,但這限制了深度。 如果C列上的值距離第1行太遠,它將不起作用。
=IF(AND(B2=1;C2=0);IF(B3=1;0;IF(C3=0;IF(C4=0;C5;C4);C3));IF(C2>0;C2;I1))
所以我認為我需要一個vba解決方案。
我認為您需要這樣的東西。 此代碼搜索介於1到1之間的最大值
Sub FindValBetweenOne()
Dim LastRow As Long
Dim FindVal As Long
LastRow = Cells.Find("*", searchorder:=xlByRows, searchdirection:=xlPrevious).Row
For I = 1 To LastRow
If Cells(I, "B").Value = 1 Then 'find next "1"
FindVal = Cells(I, "C").Value
J = I + 1
Do While (J <= LastRow And Cells(J, "B").Value <> 1)
If Cells(J, "C").Value > FindVal Then
FindVal = Cells(J, "C")
End If
J = J + 1
Loop
End If
Cells(I, "D").Value = FindVal
Next I
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.