• ベストアンサー

エクセル orをいっぱい作るしかないのか

図のような場合、 A列に入力されている文字が B列のどこかにあるなら「ある」、ないなら「ない」としたいのですが =IF(OR(A3=$B$2,A3=$B$3),"ある","なし") というようにORでたくさん作っていくしかないのでしょうか? 例は4個ですが、条件が数十件、数百件にもなると気が遠くなりそうです。 出来ればvbaを使わず行ないたいです。 「=IF(A2=B:B,"ある","なし")」だと「#REF!」になってしまいます。 地道にシコシコ作っていくしかないでしょうか? ご教授よろしくお願い致します。

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

  • ベストアンサー
  • denbee
  • ベストアンサー率28% (192/671)
回答No.1

VLOOKUP関数を使って、A列の値がB列に存在するか検索をかければ 良いと思います。 以下のURLを参照してください。 http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/vlookup.htm

dfghhj
質問者

お礼

こういう時にVLOOKUPを使うのですね。有難うございました。

その他の回答 (4)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.5

解答No4です。 =IF(B2="","",IF(COUNTIF(A:A,B2)=0,"なし","ある")) この式の意味はB2セルが空白ならば空白に、空白でない場合でB2セルの値がA列に見当たらなければ、なし、B2セルの値がA列にあれば、あるにします。 この式の場合にはB列のそれぞれの値がA列に有るかどうかを判定するものでB列のデータがどんなに多くなっても、またA列は範囲を指定していませんのでA列のデータが多くなっても式を変える必要もありません。

dfghhj
質問者

お礼

解説有難うございます。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

ある、なしの結果をD2セルから下方に表示させるのでしたら、D2セルに次の式を入力し下方にオートフィルドラッグします。 =IF(B2="","",IF(COUNTIF(A:A,B2)=0,"なし","ある"))

dfghhj
質問者

お礼

なるほど。COUNTIFで数を数えているのですね、有難うございます。

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.3

これをお試しください。 =IF(OR($A$1=B1,$A$2=B1),"ある","なし")

dfghhj
質問者

お礼

有難うございます。

  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.2

添付図 =IF(ISNUMBER(MATCH(A1,$B$1:$B$5,0)),"ある","なし") でいいでしょう。

dfghhj
質問者

お礼

画像まで付けてくださって有難うございます。 できました。数式の意味はよくわかりませんが^^;

関連するQ&A