2015-09-14 75 views
0

我需要幫助在這種情況下:查找以前occurence

幾百列A行的填充隨機順序用顏色名稱(白色,藍色,綠色,黃色,紅色)。我需要在B列的公式,顯示在A列該顏色的上一個出現的行號

例子:

A B 
white 0 or not found 
yellow 0 or not found 
yellow 2 
green 0 or not found 
white 1 
yellow 3 (note: not `2`, which is the first occurrence, `3` is the last) 

回答

0

你可以使用VBA函數。如果你還沒有完成VBA,你可能只需要查看如何創建一個新的模塊。

在一個新的模塊,粘貼此代碼:

Public Function FindColorPosition(m_Range As Range) As String 

    FindColor = "not found" 
    If m_Range.Row = 1 Then 
     Exit Function 
    End If 

    Dim i As Integer 
    For i = m_Range.Row - 1 To 1 Step -1 
     If m_Range.Value = Range("A" & i).Value Then 
      FindColor = Str(i) 
      Exit Function 
     End If 
    Next 

End Function 

然後,在B1單元格類型=FindColorPosition(A1) 然後,在單元格B2型=FindColorPosition(A2) 等等...

,那麼或者會not found或上次看到該顏色的行。

Example image

0

請看一看這個公式。它可以工作,但它需要你的數據在第2行開始:

enter image description here

將這個公式在單元格B2:

=IFERROR(LOOKUP(2,1/(A$1:A1=A2),ROW($1:1)),0) 

它不是一個數組公式,所以只是確認通常使用ENTER鍵。

現在複製B2,只要你需要。

+0

@Nincs你是否能夠做到這一點? –