- ベストアンサー
エクセル表の特定の数字の存在を調べる方法
- エクセルを使って特定の数字の存在を調べる方法について質問です。
- 39×39の表があり、特定の数字が含まれる行と列のセル番地を調べたいです。
- index関数を使用する方法は難しいため、より効率的な方法を教えていただきたいです。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
セル参照にすればいいだけ。A44:C44の範囲に、「5、20、30」の3数を入力。どこかの適当なセルに次の式を入力。 =(index(b2:an40,b44,a44)=1)*(index(b2:an40,c44,b44)=1)*(index(b2:an40,c44,a44)=1)=1 結果がTRUEかFALSEで表示されます。いちばん最後の「=1」のみ削除すれば1か0で表示されます。 U21、AE21、AE31を含む6セルについて1かどうかを確認したければ、上の式中の「*(index()=1)」という部分を適当に追記してください。5つ以下のセルについて見る場合、INDEX関数で、行と列の番号を逆にしないよう注意。
その他の回答 (4)
- MarcoRossiItaly
- ベストアンサー率40% (454/1128)
連続投稿すみません。書き忘れたので、補足を。 No.4の式中では「*」を使っているのでAND条件ですが、これらを「+」に書き換えればOR条件になります。その場合、1であるセルの個数を求めていることになるので、いちばん最後の「=1」のみ「>0」に書き換えるか、削除します。
- keithin
- ベストアンサー率66% (5278/7941)
座標のように言うなら、どうして(5、20)が採用なのに、(20、5)は不採用なのですか?ということです。 (5,30)は間違いで(30,5)でしたというのなら、まだ少しはわかりますが。 いずれにしても回答1の方法で、(5,20)も(20,5)も含めた9通りの組み合わせが「すべて列記できます」。その中からアナタが選んだ「組み合わせの座標」のセルを随意に選び、1が記入されているかIFを連ねて確認してみると簡単に答えはわかります。 例えば >(5,20)、(20,30)、(5,30)の3箇所 >F21セル、U31セル、F31セルになる というのなら =IF(AND(B45=1,B46=1,C46=1),"3つとも1","NG") のように調べられます。 もちろん、上記作成例の「B45」「B46」「C46」の部分に、それぞれのセルに記入されている数式を直接記入して作業用の表を用意せずに詰め込んでも計算はできます。
- KURUMITO
- ベストアンサー率42% (1835/4283)
A50セルに5、B50セルに20、C50セルに30と入力したときに1の入ったセルの数をD50セルに表示させるとしたらD50セルには次の式を入力します。 =IF(INDEX(A$1:AN$40,B50+1,A50+1)=1,1,0)+IF(INDEX(A$1:AN$40,C50+1,A50+1)=1,1,0)+IF(INDEX(A$1:AN$40,C50+1,B50+1)=1,1,0) A,B,C列の51行以降のセルに上と同様の数値を入力する場合にはD50セルの式を下方にドラッグコピーすればよいでしょう。
お礼
ありがとうございます。この方法を1~39の全ての組み合わせでやらねばならず、組み合わせが約10000程度あります。効率よくできればと思うのですが・・・ アドバイスお願いできればと思います
- keithin
- ベストアンサー率66% (5278/7941)
>3つの数字を含む列、行のセル番地が全て1が付いているかどうか調べたいのです。 >この場合はF21セル、U31セル、F31セルのところに全て1がついているかどうかを調べたい 5,20、30の3つの数字を指定すると、(F列、U列、AE列の3列)×(6行目、21行目、31行目)の合計9セルが対象になります。 ご質問ではその中からF21とU31とF31の3セルだけ選んでますが、どうしてその3セルだけ、1がついていれば良しになるのでしょうか。 「すべて1がついているか調べたい」とはどういうことですか? 簡単な作成例: A44に5 A45に20 A46に30 を記入する B43に5 C43に20 D43に30 を記入する B44に =INDEX($B$2:$AN$40,$A44,B$43) と記入し、D46までコピー貼り付ける と、「指定の数字」の行・列の交差するセルの数字が一覧されるので、「すべて1」(なら1が9個並びますね)かどうかCOUNTIF関数などで数えてみたらどうでしょう。
お礼
ご回答ありがとうございます。説明不足で申し訳ありません。5,20,30の数字を決めたら、座標のようにいうなら(5,20)、(20,30)、(5,30)の3箇所のセルすなわちF21セル、U31セル、F31セルになるということです。
補足
5,20,30の数字を決めたら、座標のようにいうなら(5,20)、(20,30)、(5,30)の3箇所のセルすなわちF21セル、U31セル、F31セルになるということです。 これら3つのセルにすべて1が入っているかどうかを39×39の表において効率よく分かるといいなあと思っています。 アドバイスお願いします。
お礼
ありがとうございました。参考になりました。