質問: 特定の文字列を含む場合指定の値を返す エクセル関数 vlookupだとセルの値全てで照合しますが、特定の文字列を含む場合でvlook的に利用するにはどうすればよいでしょうか。 find やifだとキリがないかな・・と思い格闘中です。 アドバイスいただけると幸いです。よろしくお願いします。
回答: 通常の関数では厳しい(私では無理)ので、ユーザ定義関数は如何でしょうか。 シートタブ上で右クリック→コードの表示→vbe画面メニューで挿入→標準モジュール→サンプルコード貼り付けてお試しください。 使用例 仮に抽出表をa1:b4、対応表がd1:e5、先頭行は見出し行とします。 抽出表のb2に=mylook(a2,$d$2:$e$5)、下方向にオートフィル function mylook(r1, r2) dim i as long for i = 1 to r2.rows.count if r2(i, 1) <> "" then if r1 like "*" & r2(i, 1) & "*" then mylook = r2(i, 2) exit function end if end if next mylook = cverr(xlerrna) end function