こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセルの数式が分かる方教えて下さい。

エクセル2007を使っています。
私は、IFやCOUNTなど基本的な数式は使える程度のレベルです。
今、『1列とびの集計』をしたいのですが、その数式が分からずに困っています。

例えば、5行目のA列(A5)、C列(C5)、E列(E5)、G列(G5)に入力してある数値を合計したい場合、今はA5+C5+E5+G5(又はSUM(A5,C5,E5,G5))と入力しています。

これが4~5個なら良いのですが30個位あるとかなりな手間で、作業としてもかなり無駄な事をしているようでどうも気になります。
こういう集計をすることも多いので、いつもイライラしながらやっております。

エクセルのヘルプでもかなり探したのですが分かりませんでした。

どなたか簡単に集計できる数式をご存知の方はおられませんでしょうか?
(11月4日まで所用でパソコンが見られませんので、折角ご回答いただけてもお礼などはその後になりますが、よろしくお願いします。)

投稿日時 - 2009-10-31 10:43:03

QNo.5410640

困ってます

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

列番号が奇数であるかどうかを判断する必要がありますが、ひとつの式でといわれると 配列関数を使用することになります。
もし、配列関数で集計して、式を下へ沢山コピィされるようであれば、急にパソコンが遅くなります。
簡単でわかりやすい方法で、作業用の行を使用します。
1行目のA1セルに =MOD(COLUMN(),2) といれて右へコピィしてみてください。
答えは 0 1 と交互に出てくると思います。後は SUIMIF関数がつかえます。
=SUMIF(A1:X1,1,A2:X2)
とかになります。
1行目が見苦しければ非表示にします。

投稿日時 - 2009-10-31 11:51:26

お礼

hallo-2007さんもすぐにご回答頂いていて有難うございます!

お陰で=MOD(COLUMN(),2)がどういう事をする関数か分かりました。また、SUMIF関数が使える事に気付いたのと、それ以上に一定間隔ではなく「任意の列の数字を合計することが出来る」と言う事に気付いたのが非常に有り難いです!

hallo-2007さんのご回答からも応用の幅が広がりました。
本当に有難うございました。

投稿日時 - 2009-11-04 22:48:31

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

こんにちは。

すでに回答が出ていますが、SUMPRODUCT 関数を使って

=SUMPRODUCT((A5:Z5)*MOD(COLUMN(A1:Z1),2))
  または、
=SUMPRODUCT((A5:Z5)*(MOD(COLUMN(A1:Z1),2)=1))
A5.C5,E5,G5......とZまで

B5.D5,F5,H5というなら、
=SUMPRODUCT((A5:Z5)*MOD(COLUMN(B1:AA1),2))
  または、
=SUMPRODUCT((A5:Z5)*(MOD(COLUMN(A1:Z1),2)=0))

横の場合は、COLUMNを使い、縦の場合は、ROWを使います。計算される行・列の長さと、判定するための、COLUMN,ROWの範囲の長さは同じにしないとエラーが発生します。

投稿日時 - 2009-10-31 11:59:36

お礼

Wendy02さんもすぐにご回答頂いて有難うございます!

皆さんのを同時に読ませて頂いたので本当に分かりやすく、有り難く思います。

Wendy02さんが横と縦(COLUMNとROW)の使い分け方を書いて頂いていたので、1番目の方の数式を横(列)にする事が出来ました。また、配列関数を使わずに(2番目の方のご解答からすると、配列関数はあまり多く使うと重そうなので)出来る方法も分かりました。

3人の方のご解答を読ませて頂き、もっと早く質問すれば良かったと思いました。
ご解答頂き本当に有難うございました。

投稿日時 - 2009-11-04 23:12:37

ANo.1

[XL2002] n 行おきの合計を算出する方法
http://support.microsoft.com/kb/402181/ja?spid=1743&sid=1052

↑対象が行になっていますが、列に置き換えれば出来ると思います。

投稿日時 - 2009-10-31 11:20:40

お礼

早速ご回答を頂いていてビックリしました!有難うございました!

私が所用でパソコンが見られなかったため、3名の方のご回答を同時に読ませて頂く事ができ、より一層分かりやすいものになりました。

xls88さんから教えて頂いたサポートオンラインでは、1行おきだけではなく2行おき、3行おきの方法や「配列関数」と言うのが普通の関数とは違う(Shift+Ctrl+Enterで確定させなければいけない)と言う事まで学ぶことができ、応用の範囲がかなり広がりました。
本当に有難うございました。

投稿日時 - 2009-11-04 22:34:06

あなたにオススメの質問