• ベストアンサー

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

エクセル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日まで所用でパソコンが見られませんので、折角ご回答いただけてもお礼などはその後になりますが、よろしくお願いします。)

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

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

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

RSKQ8B2C
質問者

お礼

hallo-2007さんもすぐにご回答頂いていて有難うございます! お陰で=MOD(COLUMN(),2)がどういう事をする関数か分かりました。また、SUMIF関数が使える事に気付いたのと、それ以上に一定間隔ではなく「任意の列の数字を合計することが出来る」と言う事に気付いたのが非常に有り難いです! hallo-2007さんのご回答からも応用の幅が広がりました。 本当に有難うございました。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.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の範囲の長さは同じにしないとエラーが発生します。

RSKQ8B2C
質問者

お礼

Wendy02さんもすぐにご回答頂いて有難うございます! 皆さんのを同時に読ませて頂いたので本当に分かりやすく、有り難く思います。 Wendy02さんが横と縦(COLUMNとROW)の使い分け方を書いて頂いていたので、1番目の方の数式を横(列)にする事が出来ました。また、配列関数を使わずに(2番目の方のご解答からすると、配列関数はあまり多く使うと重そうなので)出来る方法も分かりました。 3人の方のご解答を読ませて頂き、もっと早く質問すれば良かったと思いました。 ご解答頂き本当に有難うございました。

すると、全ての回答が全文表示されます。
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

[XL2002] n 行おきの合計を算出する方法 http://support.microsoft.com/kb/402181/ja?spid=1743&sid=1052 ↑対象が行になっていますが、列に置き換えれば出来ると思います。

RSKQ8B2C
質問者

お礼

早速ご回答を頂いていてビックリしました!有難うございました! 私が所用でパソコンが見られなかったため、3名の方のご回答を同時に読ませて頂く事ができ、より一層分かりやすいものになりました。 xls88さんから教えて頂いたサポートオンラインでは、1行おきだけではなく2行おき、3行おきの方法や「配列関数」と言うのが普通の関数とは違う(Shift+Ctrl+Enterで確定させなければいけない)と言う事まで学ぶことができ、応用の範囲がかなり広がりました。 本当に有難うございました。

すると、全ての回答が全文表示されます。

関連するQ&A