2016-05-20 6 views
0

私は2つのシステムの間で調整するデータを持っています。 1つのシステムが値100を報告するかもしれないが、別のシステム50に2回報告するかもしれない。 ではなく、すべてのレコードが可能マッチがは、多くの値と一致するものと一致します。

Column A Column B 
SAP system Local system 
100.00   50.00 
435.00   50.00 
146.25   435.00 
53.75   253.50 

私は100を締結すべきである必要がありますが一致するデータ(50 & 50)が& 435ありdata.I式で正確なものと一致することができますが、組み合わせを一致させる方法があるのマッチング100.00のような値のですか?

+0

連続で一致した値であり、そのうちの2以上が存在することができますか? –

+0

こんにちはトム、それは連続することはできませんが、2つだけになります – subhas

+0

したがって、列Bが50,435,50,253を含む場合、2つの50はまだ一致しますか?もしそれが25,75,435,253だったら? –

答えて

0

この関数はと呼ばれる、最初に一致するペアを見つけると、列Bに一致する数字の位置を返します: -

=FindPair(A2,B2:B5) 



Option Explicit 

Function FindPair(TotVal As Range, SearchVals As Range) As String 

Dim Tot As Integer, i As Long, j As Long, length As Long, SearchVal As Double, found As Boolean 
Dim store() As Double 
Dim sum As Double 

length = SearchVals.Rows.Count 

ReDim store(length) 
SearchVal = TotVal.Cells(1, 1).Value 

For i = 1 To length 
    store(i) = SearchVals(i) 
Next i 

found = False 
FindPair = "" 
For i = 1 To length - 1 
    sum = store(i) 
    For j = i + 1 To length 
     If (sum + store(j)) = SearchVal Then 
      found = True 
      GoTo finish 
     End If 
    Next j 
Next i 

finish: 
If found Then 
    FindPair = CStr(i) & "," & CStr(j) 
End If 

End Function 
関連する問題