- ベストアンサー
エクセル2種類の特定の文字列を含む場合に指定文字を
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
例えばB1セルに次の式を入力して下方にドラッグコピーします。 =IF((COUNTIF(A1,"*北海道*")+COUNTIF(A1,"*関東*"))>0,"東日本",IF((COUNTIF(A1,"*九州*")+COUNTIF(A1,"*四国*"))>0,"西日本","")) 他の地域でも東日本に表示するのでしたらCOUNTIF関数を使って足し合わせることでその合計が1以上であれば該当する文字列が含まれていることになりますね。東日本、西日本以外の地域を設けるのでしたらIF関数を増やしていくことになりますね。
その他の回答 (3)
- kagakusuki
- ベストアンサー率51% (2610/5101)
ANo2です。 書き忘れておりましたが、A列のセルに例えば 「奈良在住の者ですが、東京国際フォーラムへ行く際に、中部国際空港経由で空路を使うのと、新大阪駅経由で新幹線を使うのでは、どちらが早く到着する事が出来るのでしょうか?」 という様に、東日本に該当する地名を示す単語、西日本に該当する地名を示す単語、どちらとも言えない地名を示す単語の全てが含まれている場合には、どの様に表示させたいと考えておられるのでしょうか? 因みに、ANo.2で挙げさせて頂いた方法では、上記の例の場合、 東日本,西日本,不明 と表示されます。
お礼
確かに2つあることは想定していませんでした。 ほぼ、決まったフォーマットなので、2つあることはまずないとは思いますが、そういう可能性も考慮しないといけませんね。 色々と、ホント勉強になります。 貴重なご意見ありがとうございました。
- mt2008
- ベストアンサー率52% (885/1701)
こんなのは? 添付の図では、C1:J1に地域名、その下に表示したい文字列(東日本、西日本)を入力しておきます。 C3に↓を入れ、C3:J6にコピー =IF(ISNUMBER(FIND(C$1,$A3)),C$2,"") B3には↓ =C3&D3&E3&F3&G3&H3&I3&J3 これですと北海道と東北を北日本に変えたくなったりしてもすぐに対応できます。
お礼
ありがとうございます。 これは他にも応用できそうです。 使えるアイデアありがとうございます。 色々と工夫出来る部分が、エクセルは面白いですね。 勉強になりました。
- kagakusuki
- ベストアンサー率51% (2610/5101)
まず、適当な列を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セルに貼り付けて下さい。
お礼
Vlook的なDB思考で作成する作戦ですね。 なるほどです。 このあたりの関数も勉強してみます。 ありがとうございました。
関連するQ&A
- 【excel】複数のセルを対象に特定の文字列
EXCELでセルB24:D31に一つでも文字列Aが入っている場合 あるセルに文字列2を表示させて偽の場合文字列3を表示させたいのですが =IF(B24:D31="","",IF(SUM(COUNTIF(B24:D31,{"*文字列A*","*文字列A*"})),"文字列2","文字列3")) この式ではエラーになってしまい、どうにも作業が進みません。どなたか教えていただけませんでしょうか?
- ベストアンサー
- オフィス系ソフト
- エクセル 特定の文字列から範囲を指定
エクセル 名前定義の範囲について質問です。 始まり・終わりの行・列を示す特定の文字列を設定し、 それを元に自動で範囲を変化させるようなことはできませんでしょうか。 例えば、 B1:列ここから D1:列ここまで A3:行ここから A6:行ここまで と書かれていた場合、 名前定義の範囲が自動で「B3:D6」となるような方法を探しています。 なお、 ・列を指定する文字列は必ず1行目に ・行を指定する文字列は必ずA列目に あるという想定です。 極力マクロを使用しない方法で、有効なものがございましたら ご指導のほどよろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- =IF(COUNTIFの文字列の複数条件
A列にある契約先にある特定の文字列が含まれていた場合、B列に1か2の値を返したいです。 A列に契約先 (株)○○、(有)○○、(同)○○、(独)○○、(財)○○、○○大学、(同)○○ B列に契約先の種類を1と2で区別して、1か2の値を返したいです。 調べた結果、IF COUNTIFだと文字列の条件は一つに限るとの事で、文字列を複数にしたい場合どのような数式で値が返せますでしょうか。 下記のような数式ではだめでした。 =IF(COUNTIF(A1,"*(株)*",A1,"*(有)*",A1,"(同)"),"1","2") ちなみにCOUNTIFSというのもだめでした。 ほかにIF関数で文字列の複数条件で1か2を返せる数式がありましたら教えてください。 よろしくお願い致します。
- ベストアンサー
- Excel(エクセル)
- EXCEL文字列検索
こんにちは。教えてください。 リスト内で文字列の検索をしたいです。 =IF(COUNTIF(B2,"*あああ*")>0,"あああ",IF(COUNTIF(B2,"*いいい*">0),"いいい","")) ”あああ”はうまくいくのですが、”いいい”は空白になります。COUNTIF関数は二つ以上ネストできないのでしょうか?? もう困っています。どうかお力を貸していただけませんか?よろしくお願いします。
- 締切済み
- オフィス系ソフト
- 今選抜、今日最後に大阪桐蔭も出場して、初戦について
対戦相手の問題などもありますが、東日本(北海道、東北、関東、東京、北信越、東海)18戦11勝、西日本(近畿、中国、四国、九州)18戦7勝。さらに分けると、北日本(北海道、東北)7戦6勝、東日本(関東、東京)6戦2勝、中部日本(北信越、東海)5戦3勝、西日本(近畿、中国)10戦2勝、南日本(四国、九州)8戦5勝。この結果について、思うことはありますか?それは、どのようなことですか?
- 締切済み
- 野球
- Excelの文字列関数について
Excelの文字列関数について こんにちは。Excel2007を使用しています。 先日、こちらで質問させていただいた【QNo.5785641】の続きになるのですが・・・ セルの中にある特定の文字が含まれている場合は、ある文字の後ろの数値を抽出したいという質問で、 例えば、セルA1に『AA-11 $100.00』、A2に『BB $ 95.00』と入力されている場合、『AAという文字が含まれている場合はB1に$マークの後ろの数値を抽出、BBという文字が含まれている場合はC1に$マークの後ろの数値を抽出する』というものを関数を使用して作りたいというものに対し、 =IF(COUNTIF(A1,"*AA*")=1,RIGHT(A1,LEN(A1)-FIND("$",A1)),"") =IF(COUNTIF(A1,"*BB*")=1,RIGHT(A1,LEN(A1)-FIND("$",A1)),"") という回答をいただきましたが、さらに追加で質問です。 例えば、セルA1に『AA-11 $100.00 aabbcc』、A2に『BB $ 95.00 abc』というように、抽出したい数値の後ろにも文字が入力されている場合はどのようにしたらよいのでしょうか? 宜しくお願いします。
- ベストアンサー
- その他MS Office製品
- Excel、リンク元に指定文字列の存在を調べたい
失礼いたします。 次のような関数式を用いて管理表を作りたいのです。 =IF(? ? ? ? ? ?,VLOOKUP(A3&B3,\○○○\△△△\[XXXXX]sheet1!$A$2:$G$20,4,false),"未入力") ( ※ 「○○○」の前は\ではなく\\が正しいかもしれませんが、その点は大目に見ていただきたいです) 長い関数式ですので、念のため解説をしておきます。 ○ もし「? ? ? ? ? ?」だったら、「XXXXX」というエクセルブックの中の、「sheet1」というシートの中の、「A2~G20」の範囲の1列目(すなわち「A」の列)に、「A3&B3」と一致する文字列のセルから右に3列移動したセルを表示してください。 ○ もし「? ? ? ? ? ?」でなかったら、「未入力」と表示してください。 ところがここで問題なのが、「XXXXX」というエクセルブックの中の、「sheet1」というシートの中の、「A2~G20」の範囲の1列目(すなわち「A」の列)に、「A3&B3」と一致する文字列のセルが存在しない場合があるのです。そこで、 ○ もし「? ? ? ? ? ?」だったら、~~ ○ もし「? ? ? ? ? ?」でなかったら、~~ の「? ? ? ? ? ?」には、「XXXXX」というエクセルブックの中の、「sheet1」というシートの中の「A」の列に、「A3&B3」と一致する文字列のセルが存在する、という関数を入れたいのです。そうすれば、 1.(1つ以上)存在する → TRUEを返す → VLOOKUP関数により表示される 2.存在しない → FALSEを返す → 「未入力」と表示される というように管理できます。 ところが、私の現在の知識では、(1つ以上)存在すればTRUEを返す関数として、COUNTIF関数しか知らず、使いこなせません。 そこでCOUNTIF関数を使いました。次のような式です。 COUNTIF(\○○○\△△△\[XXXXX]sheet1!$A:$A,A3&"営業")>0 関数式のすべてを書けば、 =IFCOUNTIF(\○○○\△△△\[XXXXX]sheet1!$A:$A,A3&"営業")>0 ,VLOOKUP(A3&B3,\○○○\△△△\[XXXXX]sheet1!$A$2:$G$20,4,false),"未入力") ( ※ VLOOKUP関数の中の「B3」には、「営業」と入力されることもあれば、ほかの文字列が入力されることもあります) すると、 ○ 通常 : 「#VALUE」が表示されてしまいます。 ○ 「XXXXX」というエクセルブックを開く : 実際に入力されているもの、もしくは「未入力」が表示されます。 そして、「#VALUE」が表示される理由を追いかけますと、COUNTIF関数の中の「A3」の箇所だけに下線が引かれ、この「A3」のためにエラーになっているのだとエクセルは教えてくれます。 以上を踏まえ、質問させていただきます。 1. COUNTIF関数は、リンクが混在する関数には適さないのでしょうか。 2. COUNTIF関数以外に、「A」列に「A3&"営業"」と一致する文字列が存在するかどうかを検索する関数があるとすれば、何でしょうか。 3. 現在、しかたなく「=VLOOKUP(~~~~)」だけにしているのですが、「未入力」と表示させたいところに「#N/A」が表示されます。これをほかの方法で、「#N/A」でなく「未入力」と表示させる方法があるとすれば、何でしょうか。 長文失礼いたしました。
- ベストアンサー
- オフィス系ソフト
- 文字列を指定して重複チェックするには?
どなたかおしえてください。 データベースで重複データのチェックを行う場合に、 下記の関数を使用しています。↓ =IF(COUNTIF($A$2:$A$10,A2)>1,"◎","") で、この抽出条件に、A2のセルの左から3文字までに合致すれば ◎と、条件指定したいのですが、 どのようにすればよいのでしょうか?
- ベストアンサー
- オフィス系ソフト
- EXCELでCountif内に2つ以上の列を入れる場合
0 A、B、C、D 1 a、1、h、2 2 b、0、i、1 3 c、1、j、2 4 d、0、k、1 5 e、1、l、0 6 f、0、m、2 7 g、1、n、0 上の用にaからnチームまでの得点表があります。 1点を得点したチーム数を計算するときに countif(B:B,"1">+countif(D:D,"1") を使うと実際にでるのですが、Countifを一つだけ使用して範囲の部分をB列からD列という形ではなくB列のみとD列のみの中から探すように指定するにはどうしたらいいのでしょうか? countif(B:D,"1")とやったのですが、こうするとB,D列だけでなくC列もカウントされてしまいます。今回はC列に数字がないので問題内のですが、チーム名で1の入るチームがあると計算がくるってしまうと思います。B列のみD列のみと指定する仕方を教えてください PS 一列にすべてを書けば問題ないのですが、列を分けることでスクロールせずに見ることができ見やすいと思い、複数列にしました。
- 締切済み
- オフィス系ソフト
- COUNTIF関数での、文字列の指定について
お世話になっております。 A1セルに、 「P」という文字が含まれる文字列を入力した場合に、 C1セルに、 「庶務業務」と自動で入力されるようにしたいと思っています。 (例) 書類P作成 ⇒ 庶務業務 ここで、COUNTIF関数を使ってやろうと思ったのですが、 「P」だけの入力には反応するのですが、 「書類P作成」だと反応してくれません。 この場合、どうしたらよいでしょうか…? (入力した計算式) =IF(COUNTIF(A1,"P")=1,"庶務業務","") アドバイス頂けると助かります、よろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
お礼
なるほど。 単純に足せばいいんですね。 言われてみるとその通りですが、考えつきませんでした。 試してみたら、うまくいきました。 どうもありがとうございました。