• ベストアンサー

エクセルの関数について教えてください

例えば、A列に「りんご」「みかん」「ぶどう」「梨」「洋梨」とあり(空白のセルもあります)、このA列に「りんご」もしくは「梨を含む」場合に、B列に「○」を表示させたいのですが、関数でできますか? 「りんご」だけとか「梨を含む」というように単一の条件で指定する方法はわかるのですが…。 職場の管理表で使いたいのですが、どうしても解決できないので、お力を貸してください。 どうかよろしくお願いします。 ちなみに以下のような結果を求めています。    A   B 1 みかん 2 りんご ○ 3 梨   ○ 4 ぶどう 5 洋梨  ○ 6 ぶどう 7 りんご ○

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.2

=IF(COUNTIF(A1,"りんご")+COUNTIF(A1,"*梨*"),"○","")

rosmaris
質問者

お礼

ご回答ありがとうございました。 「=IF(COUNTIF(A1,"りんご"),"○","")」で単一条件を出すことは出来ていたので、「+」でつなぐ方法を教えていただき、スッキリしました。 もしよろしければ、追加でお聞きしたいのですが、「梨を含む」が「洋を含まない」というような組み合わせの数式は出来るのでしょうか?

その他の回答 (5)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.6

 今仮に、D列に検索文字列が並んでいるものとします。  尚、この回答の方法では、検索文字列を入力する行数に制限は無く、空欄に#を入力する必要もありません。  又、配列数式ではなく、普通の関数ですから、確定する際にはEnterキーを押すだけで済みます。  まず、B1セルに次の数式を入力してから、B1セルをコピーして、B2以下に貼り付けて下さい。 =IF(SUMPRODUCT(ISNUMBER(FIND(OFFSET($D$1,,,MATCH("゜",$D:$D,-1)),$A1))*(OFFSET($D$1,,,MATCH("゜",$D:$D,-1))<>"")),"○","")  次に、D列に検索する文字列を入力して下さい。  以上で準備は完了で、後は、A列に文字列が入力されると、その中にD列に入力されている文字列が含まれている場合には、B列に○が表示されます。

rosmaris
質問者

お礼

早朝からのご回答、ありがとうございました。 とても親切・丁寧に説明していただいて、私でも理解することが出来ました。 今後活用させていただきたいと思います。

回答No.5

#1です。遊びで1案 =REPT("○",COUNT(1/(COUNTIF(A1,{"りんご","*梨*"})))) ↓却下であと2案 =REPT("○",(A1="りんご")+(SUBSTITUTE(A1,"梨","")<>A1)) =REPT("○",(A1="りんご")+LEN(A1)/FIND("梨",A1&"梨")) 失礼しました

rosmaris
質問者

お礼

ご回答ありがとうございました。 3つも案を出していただいて、どれも使ったことのない関数だったので、勉強になりました。

noname#204879
noname#204879
回答No.4

B1: =IF(COUNT(FIND({"りんご","梨"},A1)),"○","")

rosmaris
質問者

お礼

ご回答ありがとうございました。 シンプルな数式で、わかりやすかったです。 今後活用させていただきたいと思います。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんばんは! 一例です。 ↓の画像で説明させていただきます。 余計なお世話かもしれませんが・・・ 今回は検索文字列が2種類だけですが、今後検索文字列が増えても良いようにしてみました。 画像のように検索したい文字列の表を作成しておきます。 画像の「#」の部分はまず使うことはないであろう文字ということで入力しています。 もし今後検索したいものが増えた場合は「#」の部分に文字を入力すると自動でB列に○がつくと思います。 (5個まで検索文字が増えても大丈夫です) B2セルに =IF(OR(ISNUMBER(FIND($D$2:$D$6,A2))),"○","") これは配列数式になってしまいますので、 このままコピー&ペーストしただけではちゃんと表示されないと思います。 B2セルに貼り付け後、F2キーを押す、またはB2セルをダブルクリック、または数式バー内で一度クリックします。 編集可能になりますので、Shift+Ctrlキーを押しながらEnterキーで確定! 数式の前後に{ }マークが入り配列数式になります。 これをオートフィルで下へコピーすると画像のような感じになります。 以上、長々と失礼しました。m(__)m

rosmaris
質問者

お礼

ご回答ありがとうございました。 わざわざ画像までつけていただき、とてもわかりやすかったです。 今回はB列だけしか使えない環境なんですが、今後活用させていただきたいと思います。

回答No.1

一案です。B1セルに =IF(OR(A1="りんご",ISNUMBER(FIND("梨",A1))),"○","")

rosmaris
質問者

お礼

早々にご回答ありがとうございました。 ISNUMBER関数は使ったことがなかったので、今回勉強になりました。 活用してみたいと思います。

関連するQ&A

専門家に質問してみよう