例えばA1セルに「ミズノ ランニングシューズ 」A2セルに「ニューバランス ランニングシューズ」とあるとします。この時「ミズノ」という文字が入っていた時は「001」、「ニューバランス」という文字が入っていた時は「002」をB1、B2セルに挿入したいです。実際にはA1からA1000くらいまであり、検索対象文字は10くらいあります。エクセルやCalcでどのような関数・数式と使えば導き出せるでしょうか。よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

添付図参照


B1: =VLOOKUP(LEFT(A1,FIND(" ",A1)-1),D:E,2,FALSE)
「エクセルやCalcで特定の文字を検索しそ」の回答画像2
    • good
    • 0
この回答へのお礼

サンプルまで作っていただきありがとうございました。
当方の環境(calc)では以下のように修正したら動きました。ありがとうございました。感謝しますm(_ _)m
B1: =VLOOKUP(LEFT(A1;FIND(" ";A1)-1);D1:E2;2;0)

お礼日時:2017/04/17 09:56

1行目を別の使い方がしたいので、


A2セルに「ミズノ ランニングシューズ 」
A3セルに「ニューバランス ランニングシューズ」

A1000まであるとしましょう。

C1に「ミズノ」
D1に「ニューバランス」
といった具合に、1行目には検索対象文字を入れましょう。
L1まであるとしましょう。
C2~L1000には、該当するかどうかの判定を入れ、該当する場合はB1に表示させたい文字を、
該当しない場合は空白を表示させます。
C2=IF(COUNTIF($A2,"*"&C$1&"*")=0,"","001")
001の部分は個別に変えるのでもいいですが、2行目に表示させたい文字列を入れ、
データは3行目から。とするのでもいいです。その場合は
C3=IF(COUNTIF($A3,"*"&C$1&"*")=0,"",C$2)
となりますね。
個別に変えるのであれば、C2をL2までコピーし、それぞれ対応するものに書き直します。
2行目にそれぞれ入力したのであれば、C3をL3までコピーします。
B2(あるいはB3)にはC2~L2(あるいはC3~L3)を&でつないだものを表示させましょう。
B2~L2(あるいはB3~L3)を1000行目までコピーすれば完成です。

注意点としては、
①複数の検索文字列が含まれている可能性がないか?
②検索したい部分以外で一致する可能性がないか?
といったことでしょうか。
A列に入るデータ次第なので、何とも言えませんが、
メーカー(半角スペース)製品
といった感じで入力するのでしたら、
検索のときに"*"&C$1&"*"ではなくC$1&" *"で検索するのがよろしいかと。
    • good
    • 0
この回答へのお礼

丁寧な回答ありがとうございました。当方の環境ではなぜか動きませんでした。当方側の設定で何かミスがあると思われますので検証します。ありがとうございました。感謝しますm(_ _)m

お礼日時:2017/04/17 09:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報