2016-03-31 12 views
0

類似のテキストを持つ複数のセルを取り、特定の形式で隣接セルの値を返すスクリプトまたは数式を考え出しています。次のセルテキストが現在のセルテキストと一致する場合、別のセルの隣接値を返します。

例:列Bの

A   |   B 
----------------------------- 
123  | Sample String I 
----------------------------- 
456  | Sample String II 
----------------------------- 
789  | Sample String III 
----------------------------- 
987  | Sample String IV 
----------------------------- 
654  | Not String I 
----------------------------- 

、文字列「サンプル文字列」(または任意の単語(複数可))取り、列Aで、それに隣接する数字を取得し、その後、以下の次のセルに移動それは列Bにあり、単語が同じ場合は、列Aの数字を出力に連結します。

私はの線に沿って何かを考えていた、if B=LIKE(next cell then CONCATENATE ADJACENT Cell(A), Output Cell(C)

問題

[サンプル文字列、(123、456、789、987)]:

出力は次のようになります何百もの繰り返しがありますが、正確にはそうではありません。私は複数のワークブックを持っています。だから私はおそらく、テキストを比較する方法があり、テキストが70%以上一致している場合は、新しいエントリや何かを作成するかどうかを考えていたかもしれません。私は本当に考えていない。これをもっとうまくやってくれるプログラムがあれば、私はアイデアを公開しています。

+1

[ 'ファジィLookUp'](のhttp:// WWWを.excel-university.com/perform-approximate-match-and-fuzzy-look-in-excel /)が役立ちます。 –

答えて

3

エクセルだけでは、最新のOffice 365の更新やオンラインアプリでTEXTJOINを()導入:C1に入れて、以前のバージョンの

=TEXTJOIN(",",TRUE,IF(ISNUMBER(SEARCH("Sample String",$B$1:$B$5)),$A$1:$A$5,"")) 

enter image description here


とダウンコピー:

=IF(ISNUMBER(SEARCH(LEFT(B2,FIND("}}}",SUBSTITUTE(B2," ","}}}",LEN(B2)-LEN(SUBSTITUTE(B2," ",""))))-1),B1)),A1&"," &C2,A1) 

enter image description here

これにより、新しい各部分文字列の最初の部分が正しい値になります。次に、使用してのようなVLOOKUP():

=VLOOKUP("Sample Strin" & "*",$B$1:$C$5,2,FALSE) 

正しい値が返されます:

enter image description here

+0

ユーザーが最新のオフィスバージョンを使用している場合、そして複数の可能性のあるマッチに対して作業する方法が見つかった場合は、素晴らしい式です。 –

+1

@ScottHoltzman以前のバージョン用に追加しました。 ; P –

+0

これは私がやったことです。私は仕事で最新のO365を持っているので、それはかなり良い解決策です。ありがとう! – Advancin

0

使用Instr()

Sub Button1_Click() 
    Dim LstRw As Long, Rng As Range, c As Range, s As String, f As String 

    s = "Sample String" 
    LstRw = Cells(Rows.Count, "B").End(xlUp).Row 
    Set Rng = Range("B1:B" & LstRw) 
    For Each c In Rng.Cells 
     If InStr(c, s) Then 
      f = f & c.Offset(0, -1) & "," 
     End If 
    Next c 
    MsgBox Mid(f, 1, Len(f) - 1) 


End Sub 
関連する問題