セル内の文字を比較して残りを返したいと思います。例えば、Excel /セル内の文字を比較する方法
A1 =(111、222、444、555)
B1 =(111、222、333、444、555、666)
そして、私が残って見たいですセルC1で、
C1 =(333、666)
私はExcelの関数で行うことができます方法はありますか? VBAコードでこれを行う必要がありますか?前もって感謝します!
セル内の文字を比較して残りを返したいと思います。例えば、Excel /セル内の文字を比較する方法
A1 =(111、222、444、555)
B1 =(111、222、333、444、555、666)
そして、私が残って見たいですセルC1で、
C1 =(333、666)
私はExcelの関数で行うことができます方法はありますか? VBAコードでこれを行う必要がありますか?前もって感謝します!
@ Timのコメントに基づいて、1つの可能なUDFがこのように見えます。
Public Function GetDiff(rngFirst As Range, rngSecond As Range) As String
Dim arrFirst
Dim arrSecond
Dim lRctr1 As Long
Dim lRctr2 As Long
Dim bMatch As Boolean
Dim strResult As String
arrFirst = Split(IIf(Len(rngFirst) >= Len(rngSecond), rngFirst, rngSecond), ",")
arrSecond = Split(IIf(Len(rngFirst) <= Len(rngSecond), rngFirst, rngSecond), ",")
For lRctr1 = LBound(arrFirst) To UBound(arrFirst)
bMatch = False
For lRctr2 = LBound(arrSecond) To UBound(arrSecond)
If (arrFirst(lRctr1) = arrSecond(lRctr2)) Then
lRctr2 = UBound(arrSecond) + 1
bMatch = True
End If
Next
If Not bMatch Then
strResult = strResult & arrFirst(lRctr1) & ","
End If
Next
If Len(strResult) > 0 Then
strResult = Mid(strResult, 1, Len(strResult) - 1)
End If
GetDiff = strResult
End Function
のは、セルC1 =GetDiff(A1,B1)
あなたは、おそらくこのためにVBA UDFが必要になりましょうただ、モジュールに上記のコードを追加して、あなたはこののようにそれを使用することができます - あなたはスプリットを使用することができます( )、各セルを一連の数値に分割して、2つのセットを比較します。 –
ティム、私はUDFが何を意味しているのかわからず、ちょうどそれを探知しました。 (https://www.techonthenet.com/excel/formulas/split.php)私は非常に基本的なVBAを行うことができると思いますが、次に何をすべきか分かりません。ありがとう、 – zzaewon
この質問は右の "関連する"見出しの下にあります。 http://stackoverflow.com/questions/12069890/how-do-i-compare-text-in-excel-cells-to-see-if-same-words-are-found?rq=1そこにコードする。 –