リストがもっと長くなったと想像してください... A と B の両方のセルを列 C の適切な名前/ID に置き換える方法はありますか? 「適切な名前」は列 C にあるもの (名前が一致) です。これが最終結果ですはい、コピー/貼り付けは機能しますが、全体が 5000 文字の長さで、列 C が完璧な順序になっていない場合、何時間もかかります。
答え1
VBAを使用すると、検索した値をこのように置き換えることができます。置換値がどこにあるか、および検索する項目の範囲を指すように範囲を調整します。
Sub substituteLookedUp()
Dim myStr As String
Dim matchDbl As Double
Dim Rng As Range
Set Rng = Range("C1:C10")
For Each cell In Range("a1:b12")
If cell <> "" Then
myStr = Mid(cell, WorksheetFunction.Find(" ", cell) + 1, Len(cell) - WorksheetFunction.Find(" ", cell)) & "_" & Left(cell, WorksheetFunction.Find(" ", cell) - 1) & "*"
matchDbl = WorksheetFunction.Match(myStr, Rng, 0)
newStr = Range("C" & matchDbl)
Else: newStr = ""
End If
cell.Value = newStr
Next
終了サブ