- 締切済み
エクセル IF関数を複数
先ほどの質問を具体的に書かせていただきます。 A列にURLが並んでいるのですが、 そのURLにfc2.comが入っているならfc2と返して、 sitemix.comが入っているならsitemixと返してほしいのです。 現在は以下のようなやり方をしています。 B1に =IF(COUNTIF(A1,"*fc2.com*")>0,"fc2","-") C1に =IF(COUNTIF(A1,"*sitemix.com*")>0,"sitemix","-") 一列にまとめたいです。 よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- MackyNo1
- ベストアンサー率53% (1521/2850)
1列にまとめたいというのが、数式の長さ制限にもひっからないすっきりした数式にしたいという意味なら以下のような関数が良いかもしれません。 =INDEX({"fc2","sitemix","3つ目の表示文字","4つ目の表示文字",""},MIN(ISERR(FIND({"fc2","sitemix","3つ目の検索文字","4つ目の検索文字"},A1))*4+{1,2,3,4}))
- keithin
- ベストアンサー率66% (5278/7941)
先のご質問でごめんなさい、書いておくのを忘れましたが、あなたが普段使っているエクセルのバージョンもキチンとご相談投稿に明記する事を憶えて下さい。 =IF(fc2なら,"fc2",IF(sitemixなら,"sitemix",IF(……,"-"))) と重ね掛けしていくのは一つの簡単な解決策です。 ただしこの方法は、「あなたが普段使ってるエクセルのバージョンによって」10もの条件を重ねることはできなくなります。 でもあなたが何気なく、新しいエクセル2007以降を使っていれば問題ありません。この方式でやっつけましょう。 あなたが運悪くまだ古いExcel2003以前を使っていた場合は、出来ないものは仕方ないので代わりに =IF(COUNTIF(A1,"*fc2*"),"fc2","") & IF(COUNTIF(A1,"*sitemix*"),"sitemix","") & IF(………) のように、「重ねずに」ただ数珠つなぎしていくのは一つの解決策です。
- aky_nil
- ベストアンサー率46% (94/203)
IF関数の中にもIF関数を入れることができます。 fc2で検索をかけ、Trueの場合はfc2、Falseの場合はさらにIFで検索をかけて結果を出しています。 =IF(COUNTIF(A1,"*fc2.com*")>0,"fc2",IF(COUNTIF(A1,"*sitemix*")>0,"sitemix","-")) ちなみにsitemixは「.com」ではなく「.jp」なので変更しておきました。
- KURUMITO
- ベストアンサー率42% (1835/4283)
B1セルには次のような式を入力すればよいでしょう。 =IF(COUNTIF(A1,"*fc2.com*")>0,"fc2",IF(COUNTIF(A1,"*sitemix.com*")>0,"sitemix","-")) または =IF(COUNTIF(A1,"*fc2.com*"),"fc2",IF(COUNTIF(A1,"*sitemix.com*"),"sitemix","-"))