- ベストアンサー
if関数について
if関数についてどなたか教えてください。 ある二つの名簿があって、二つの名簿を照合して名寄せをしたいのですが、たとえば、A列の1行目から10行目まで、同じくB列の1行目から10行目まで氏名が入っているとします。A列とB列に同じ名前が入っていれば、C列に○印をつけるように関数を設定したいのです。自分なりに考えて、次のようにif関数を設定しました。・・・がうまく表示されません。エラーは出ませんので、関数としては成り立っていると思うのですが、○印が表示されません。どなたか間違いを指摘いただけませんでしょうか? C1のセルに次の関数を設定して、C10までコピーをしました。 if(A1=$B$1:$B$10,”○”,””) よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
(1)こだわってif(A1=$B$1:$B$10,の部分を生かすとすれば =IF(SUM(IF(A1=$B$1:$B$10,1,0))>0,"○","") といれてSHIFT+CTRL+ENTERを押す。 その後式を下方向に複写する。 配列数式になる。 (2)MATCH関数の場合は =IF(ISERROR(MATCH(A1,$B$1:$B$10,0)),"","○") その後式を下方向に複写する。 (3)VLOOKUP関数の場合は =IF(ISERROR(VLOOKUP(A1,$B$1:$B$10,1,FALSE)),"","○") その後式を下方向に複写する。
その他の回答 (2)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
IFの条件として、セル範囲を指定することは、通常望む動作になりません、そのような時は配列式として入力します。(SHIFT+CTRL+ENTERで入力) 今回の場合は、配列式にしなくても、 (他の方法もありますが) 以下の様な方法でもできます。 =IF(COUNTIF($B$1:$B$10,A1)>0,"○","") 意味:B1~B10でA1に一致するものを数えて1以上になる時○
お礼
ありがとうございます。 配列式でやってみましたら出来ました。
- mendokusa
- ベストアンサー率13% (359/2726)
MATCHとかLOOKUPの方がいいんじゃないですか
お礼
ありがとうございました。 No.2の方からも配列式でやったほうがいいということで、その方法をとりました。出来ました。 ただ、おっしゃる他のの方法も試してみたんですが、結果が、微妙に違うんです。いろいろ研究してみます。ご親切に感謝いたします。