- ベストアンサー
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列セルに大量の数字があります。一気に処理できないでしょうか。
- みんなの回答 (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」のように絶対指定で書くのがコツです(全部の行にコピーした時に、相対指定と絶対指定の違いが、大きな意味を持ちます)
その他の回答 (3)
- mu2011
- ベストアンサー率38% (1910/4994)
ご例示が合っていないように思えますが、一例です。 B1に=IF(A1<>"",IF(COUNTIF(C:C,A1),"○","×"),"")に入力、完了後にB1のフィルボタン(右枠下の■)をダブルクリックしてみてください。
お礼
全部が選択できるのですね!!知らなかったです。ありがとうございました。
- mt2008
- ベストアンサー率52% (885/1701)
質問文の通りなら、B1に↓を入れて下にコピーでいいと思います。 =IF(COUNTIF(C:C,A1)=0,"×","○") しかしながら、挙げられた例を見るとどうやら質問文とは逆で、C1セルの値がA列にあれば○、無ければ× が、本当にやりたい事ではないですか? そうであれば、B1に↓ =IF(COUNTIF(A:A,C1)=0,"×","○")
お礼
いろいろな方法がありますね。逆バージョンまでありがとうございました。
- merlionXX
- ベストアンサー率48% (1930/4007)
お礼
大変ご丁寧な回答ありがとうございました。 相対指定と絶対指定ですね。とても勉強になりました。 自分なりにいろいろやってコピーするとセル番地が全部足されるのはそういうことだったのですね・・・。ありがとうございました!!