こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセル2種類の特定の文字列を含む場合に指定文字を

エクセルで2種類の特定の文字列を含む場合に指定文字を返す

例  A列に北海道、関東、などを含む場合、B列に東日本
    九州、四国などを含む場合、B列に西日本

指定条件を文字列ながら(北海道|関東)などのように複数指定したいのですが
うまい方法が分かりません。


A列                B列       
私は北海道に・・    =if(countif(A1,"*北海道*")=1,"東日本","西日本")  
彼は九州に・・
私は関東に・・
私は四国に・・


説明がわかりづらいかもしれませんが、ご教示いただけると助かります。
よろしくお願いします。

投稿日時 - 2012-11-29 11:19:17

QNo.7821192

困ってます

質問者が選んだベストアンサー

例えばB1セルに次の式を入力して下方にドラッグコピーします。

=IF((COUNTIF(A1,"*北海道*")+COUNTIF(A1,"*関東*"))>0,"東日本",IF((COUNTIF(A1,"*九州*")+COUNTIF(A1,"*四国*"))>0,"西日本",""))

他の地域でも東日本に表示するのでしたらCOUNTIF関数を使って足し合わせることでその合計が1以上であれば該当する文字列が含まれていることになりますね。東日本、西日本以外の地域を設けるのでしたらIF関数を増やしていくことになりますね。

投稿日時 - 2012-11-29 11:39:28

お礼

なるほど。 単純に足せばいいんですね。  言われてみるとその通りですが、考えつきませんでした。 
試してみたら、うまくいきました。

どうもありがとうございました。

投稿日時 - 2012-11-29 14:48:01

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

 ANo2です。
 書き忘れておりましたが、A列のセルに例えば

「奈良在住の者ですが、東京国際フォーラムへ行く際に、中部国際空港経由で空路を使うのと、新大阪駅経由で新幹線を使うのでは、どちらが早く到着する事が出来るのでしょうか?」

という様に、東日本に該当する地名を示す単語、西日本に該当する地名を示す単語、どちらとも言えない地名を示す単語の全てが含まれている場合には、どの様に表示させたいと考えておられるのでしょうか?

 因みに、ANo.2で挙げさせて頂いた方法では、上記の例の場合、

東日本,西日本,不明

と表示されます。

投稿日時 - 2012-11-29 13:54:32

お礼

確かに2つあることは想定していませんでした。 ほぼ、決まったフォーマットなので、2つあることはまずないとは思いますが、そういう可能性も考慮しないといけませんね。
色々と、ホント勉強になります。

貴重なご意見ありがとうございました。

投稿日時 - 2012-11-29 14:53:23

ANo.3

こんなのは?
添付の図では、C1:J1に地域名、その下に表示したい文字列(東日本、西日本)を入力しておきます。
C3に↓を入れ、C3:J6にコピー
=IF(ISNUMBER(FIND(C$1,$A3)),C$2,"")

B3には↓
=C3&D3&E3&F3&G3&H3&I3&J3

これですと北海道と東北を北日本に変えたくなったりしてもすぐに対応できます。

投稿日時 - 2012-11-29 13:15:14

お礼

ありがとうございます。
これは他にも応用できそうです。 使えるアイデアありがとうございます。  色々と工夫出来る部分が、エクセルは面白いですね。 勉強になりました。

投稿日時 - 2012-11-29 14:50:38

ANo.2

 まず、適当な列を3列(ここでは仮にD列、E列、F列を使う事にします)使用して、

       D列    E列    F列
1行目   東日本  西日本   不明
2行目   東日本  西日本   中部
3行目   東北    近畿    富山
4行目   関東    中国    石川
5行目   北海道   四国    福井
6行目   青森    九州
7行目   岩手    三重
8行目   宮城    滋賀
9行目   秋田    京都
10行目  山形    大阪
11行目  福島    兵庫
12行目  茨城    奈良
13行目  栃木    和歌山
14行目  群馬    鳥取
15行目  埼玉    島根
16行目  千葉    岡山
17行目  東京    広島
18行目  神奈川   山口
19行目  新潟    福島
20行目          香川
21行目          愛媛
22行目          高知
23行目          福岡
24行目          佐賀
25行目          長崎
26行目          熊本
27行目          大分
28行目          宮崎
29行目          鹿児島
30行目          沖縄

という具合に、どの分類になるのかのリストを作成しておきます。
  次に、B1セルに次の数式を入力して下さい。

=IF(A1="","",REPLACE(IF(SUMPRODUCT(ISNUMBER(FIND($D$2:INDEX($D:$D,MATCH("*?",$D:$D,-1)),A1))*1),",東日本","")&IF(SUMPRODUCT(ISNUMBER(FIND($E$2:INDEX($E:$E,MATCH("*?",$E:$E,-1)),A1))*1),",西日本","")&IF(SUMPRODUCT(ISNUMBER(FIND($F$2:INDEX($F:$F,MATCH("*?",$F:$F,-1)),A1))*1),",不明",""),1,1,))

 そして、B1セルをコピーして、B2セルに貼り付けて下さい。

投稿日時 - 2012-11-29 13:11:07

お礼

Vlook的なDB思考で作成する作戦ですね。 
なるほどです。 このあたりの関数も勉強してみます。

ありがとうございました。

投稿日時 - 2012-11-29 14:49:17

あなたにオススメの質問