部分文字列一致リストを返す/抽出する

部分文字列一致リストを返す/抽出する

文字列からサブ文字列を抽出/返す方法について、助けが必要です。サブ文字列は共通のサブサブ文字列を共有しているため (例: DR-1 と DR-12 は同じものとして取得されます)、検索/検索は機能しません。サブ文字列には、任意の数または種類の文字、スペースなどが含まれる可能性があり、均一ではないため、位置抽出 (左/中央/右) は機能しません。この関数はベースにしておくことをお勧めします。表 1 の標準名は、実際のデータでは長さ/形式/文字/数字が均一ではないため、表 1 で文字列を検索する必要があり、パターンに基づいてショートカットすることはできません。また、実際の表 1 では、各エントリが後続の列に基づいて異なるものを表すため、標準名が繰り返されています (繰り返される可能性がある複雑な要因以外は、この問題にとって重要ではありません)

検索が機能しないことに気付く前に私が使用していた元の式は次のとおりです。

=IF(B6="","",INDEX(Table1,MATCH(1,SEARCH(Table1[Name],[@Input]),-1),MATCH(Table1[[#Headers],[Name]],Table1[#Headers],0)))

表1 - 標準名

名前 他の情報
DR-1
DR-1 B
DR-1
DR-12 1
DR-12 2
DR-2
MH-2 1
MH-21 B

表2 - 入力データと結果

入力 結果
単語DR-1_ DR-1
単語DR-1 DR-1
単語DR-12 1234 DR-12
DR-2 DR-2
MH-2MOD MH-2
MH-21 EL 2.33 INV 1.0 MH-21

関連情報