• ベストアンサー

MATCH関数について

A1  B1 C1 1 ○   3 2 × 13 3 × 44 4 ○   4 5 ○ 5 A列に色んな数字が入っています。A1セルの数がC列の数字の中にあれば、B1に○、なければ×を表示させるにはどうすればいいのでしょうか。MATCH関数を使うのだと思っているのですが・・・。 順番にA1の数がC列にあれば○、A2の数がC列にあれば○A3の数がC列にあれば○とA列にもC列セルに大量の数字があります。一気に処理できないでしょうか。

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

  • ベストアンサー
回答No.4

IF関数とISNA関数とVLOOKUP関数を使います。 VLOOKUPは、検索値が指定範囲の中にあれば、その値を返します。見付からなければ、関数の結果が#N/Aになります。 ISNAは、指定した値が#N/AになったらTRUEになり、そうでないならFALSEになる関数です。 IF関数は、指定した値がTUREの時、FALSEの時で、異なる値を返す関数です。 従って =IF(ISNA(VLOOKUP(検索値,検索範囲,カラム位置,モード)),"×","○") と、3つの関数を組み合わせれば良い事になります。 1つのセルに上記の式を書き、セルのコピーで全部の行にコピーしましょう。 なお、その場合、検索値の指定は「A1」などのように相対指定で、検索範囲は「C$1:C$230」のように絶対指定で書くのがコツです(全部の行にコピーした時に、相対指定と絶対指定の違いが、大きな意味を持ちます)

21yama21
質問者

お礼

大変ご丁寧な回答ありがとうございました。 相対指定と絶対指定ですね。とても勉強になりました。 自分なりにいろいろやってコピーするとセル番地が全部足されるのはそういうことだったのですね・・・。ありがとうございました!!

その他の回答 (3)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.3

ご例示が合っていないように思えますが、一例です。 B1に=IF(A1<>"",IF(COUNTIF(C:C,A1),"○","×"),"")に入力、完了後にB1のフィルボタン(右枠下の■)をダブルクリックしてみてください。

21yama21
質問者

お礼

全部が選択できるのですね!!知らなかったです。ありがとうございました。

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.2

質問文の通りなら、B1に↓を入れて下にコピーでいいと思います。 =IF(COUNTIF(C:C,A1)=0,"×","○") しかしながら、挙げられた例を見るとどうやら質問文とは逆で、C1セルの値がA列にあれば○、無ければ× が、本当にやりたい事ではないですか? そうであれば、B1に↓ =IF(COUNTIF(A:A,C1)=0,"×","○")

21yama21
質問者

お礼

いろいろな方法がありますね。逆バージョンまでありがとうございました。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

B1セルに =IF(ISNA(MATCH(A1,C:C,0)),"×","○") といれて、式を下まで引っ張ってコピーしてください。

21yama21
質問者

お礼

シンプルにわかりやすかったです。助かりました。ありがとうございました!!

関連するQ&A

専門家に質問してみよう