- ベストアンサー
Excel数式について
Excel数式について Excel2003を使用しております。 sheet1からsheet4のA列からC列に1~100までの数字を入力しております。 sheet5のA1~A100にそれぞれの数字をカウントしたものを返したいのですが、 適した数式をご教示いただきたくよろしくお願い致します。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
シート名が0405や0510のように規則性がないなら、以下のような配列定数を使用した数式を利用してください。 =SUMPRODUCT(COUNTIF(INDIRECT({"0405","0510","シート名3","シート名4"}&"!A:C"),ROW(A1))) 1の数を表示するセルに上記の式を入力して下方向に100個オートフィルしてください。
その他の回答 (4)
- keithin
- ベストアンサー率66% (5278/7941)
>シート名が日付(0405,0510等)になっているのですが対処できますでしょうか? 回答したとおりSheet1,2,3,4というご相談だったので,そのように規則性があるとき出来る方法をお話ししました。 別の方法1) 規則性について説明できないデタラメなときは,当然ながら綺麗には出来ません。 セルB1からB4に4枚のシート名の一覧を準備して,同様の数式でもうひと工夫する方法が一つあります。 =SUMPRODUCT(COUNTIF(INDIRECT($B$1:$B$4&"!A1:C100"),ROW(A1))) 別の方法2) 実際のところシートの枚数が数枚程度なら, =COUNTIF(シート1!A:C,ROW(A1))+COUNTIF(シート2!A:C,ROW(A1))+COUNTIF(シート3!A:C,ROW(A1)) と数式バーの中で数回コピーしながら,普段見るとおりの数式を書いた方が間違いなく誰にでも簡単に作成できます。 同じく式中に直接書き込む手としては =SUMPRODUCT(COUNTIF(INDIRECT({"シート名","シート名","シート名","シート名"}&"!A1:C100"),ROW(A1))) などもありますが,中途半端に小手先を使うより普通の式で書いた方が簡単かなと思います。 別の方法3) 日付でも構いませんが,計算可能な規則性があるなら計算で求めて数式に組み込む方法もあります。やり方は最初に回答した式("Sheet"&ROW(A1:A4)の部分)の単なるバリエーションです。 上述方法1同様,やっぱりデタラメならこの目はありません。後出しはもうカンベン願いたいので,このアプローチを探りたいときは自力でお願いします。
お礼
ご回答拝読致しました。大変参考になりました。 貴重なお時間を割いてのご回答、誠に感謝致しております。 また機会がありましたら宜しくお願い致します。
- KURUMITO
- ベストアンサー率42% (1835/4283)
次の文章が抜けていました。A2セルやB2セルの式は下方にオートフィルドラッグします。
- KURUMITO
- ベストアンサー率42% (1835/4283)
次のように作業列を作って対応すればよいでしょう。 シート5ではA列のA2セルから下方に例えばA2セルに=ROW(A1)と入力して1から100までの数値を並べます。 それぞれの数値の数はB列に表示させることにしてその数を求めるための作業列を用意します。 C1セルにはSheet1に相当するシート名を入力します。F1セルまでに4つのシートのシート名を入力します。 その上でC2セルには次の式を入力して右横方向にオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(OR(C$1="",$A2=""),"",COUNTIF(INDIRECT("'"&C$1&"'!A:C"),$A2)) 各シートでの該当する数値が幾つあるかが表示されます。 最後にB2セルには次の式を入力します。 =IF(COUNT(C2:F2)=0,"",SUM(C2:F2)) B列に答えが表示されますね。
お礼
ご回答拝読致しました。大変参考になりました。 貴重なお時間を割いてのご回答、誠に感謝致しております。 また機会がありましたら宜しくお願い致します。
- keithin
- ベストアンサー率66% (5278/7941)
シート5の任意のセルに =SUMPRODUCT(COUNTIF(INDIRECT("Sheet"&ROW($A$1:$A$4)&"!A1:C100"),ROW(A1))) を下向けに合計100個コピーする など。 注意: >sheet1からsheet4の…1~100までの数字 ご相談で書かれている通りにSheet1,2,3,4でなければなりません。 #式中の「ROW($A$1:$A$4)」の部分はシート1,2,3,4の名前を作るのに使っているので,変えてはいけません。 #式中の「ROW(A1)」の部分は1から100の数字を作るのに使っているので,変えてはいけません。
補足
ご回答ありがとうございます。 シート名が日付(0405,0510等)になっているのですが対処できますでしょうか?
お礼
ご回答拝読致しました。大変参考になりました。 貴重なお時間を割いてのご回答、誠に感謝致しております。 また機会がありましたら宜しくお願い致します。