マンガでよめる痔のこと・薬のこと

  現在エクセル2003を使用しています。
 先日エクセルで集計表を作成している時に2列おき、3列おきの数値を合計する必要があり
 「教えて!goo」の回答をいろいろ確認しましたが、3列おきは確認できませんでした。
  一つ一つセル番地を選んで合計すれば出来ますが、列数が多い時は大変です。今後、4列おき・
 5列おき・○列おきを合計する表の作成が必要になるかもしれません。
  ぜひお知恵をお貸し下さい。

このQ&Aに関連する最新のQ&A

A 回答 (5件)

#2です。


B5=SUMPRODUCT((MOD(COLUMN(E5:N5),3)=2)*(E5:N5))
C5=SUMPRODUCT((MOD(COLUMN(E5:N5),3)=0)*(E5:N5))
でできるはずです。
    • good
    • 0

すいません


NO3ですが間違っていました行と勘違いしました
訂正
A3~Z3にデータがある場合
1列おき
『{=SUM(IF(MOD(COLUMN(A3:Z3),2)=MOD(COLUMN(A3),2),A3:Z3))}』
2列おき
『{=SUM(IF(MOD(COLUMN(A3:Z3),3)=MOD(COLUMN(A3),3),A3:Z3))}』
となります。
後は同じです
    • good
    • 1

今晩は。


仮にB3~B17にデータがあるとして
1列おきの数式
『{=SUM(IF(MOD(COLUMN(B3:B17),2)=MOD(COLUMN(B3),2),B3:B17))}』
2列おきの合計
『{=SUM(IF(MOD(COLUMN(B3:B17),3)=MOD(COLUMN(B3),3),B3:B17))}』
後は
『{=SUM(IF(MOD(COLUMN(B3:B17),?)=MOD(COLUMN(B3),?),B3:B17))}』
?の所に何列おきかの数値を入れるだけです。
ただ、注意するのは、これは配列数式なので関数式の前後に「{}」を付けることが必要です。
設定方法は、関数式入力後「Ctrl+Shift+Enterキー」を押して数式を完成させます
    • good
    • 0
この回答へのお礼

ogawa_soraさん、回答ありがとうございます。
さっそく次のようにやってみました。
 その前に説明不足で申し訳ありませんでしたが、作成した表は例えば
E5からN5までに数字が入力してありE5を起点として3列おきを合計するのですが
「B5」のセルに{=SUM(IF(MOD(COLUMN(E5:N5),3)=MOD(COLUMN(E5),3),E5:N5))}と
入力してみたらできました。
 (行と列の勘違いをされていると思い(B3:B17)を(E5:N5)と入力してみました。)
 私は関数初心者なのでこの関数の意味が分かりませんが時間があるときに教えていただければ幸いです。
ありがとうございました。

お礼日時:2014/11/07 22:04

●1 行おきや 1 列おきの合計を出す


http://www.microsoft.com/ja-jp/atlife/tips/archi …

=SUM((MOD(COLUMN(データ範囲),n列おきの「n」)=余り)*データ範囲))
と入力した状態でCtrl+Shift+Enterを押下して配列数式とします。
配列数式については
http://pc.nikkeibp.co.jp/pc21/special/hr/hr1.shtml
が詳しいです。


数が多いと配列数式の動作も重くなります。
それを避けるには
=SUMPRODUCT((MOD(COLUMN(データ範囲),n列おきの「n」)=余り)*(データ範囲))
を使います。
http://detail.chiebukuro.yahoo.co.jp/qa/question …

この回答への補足

 5W2Hさん、回答ありがとうございます。
さっそく回答の関数式を参考にやってみました。配列数式は数が多いと動作が重くなる、
と書いてあったので(SUMPRODUCT)で次のようにやってみました。
 その前に、説明不足な点があり申し訳なかったのですが、
作成した表の一部を書いてみると、例えば
    E5からN5のセルに数字を入力します。
   B5のセルにE5・H5・K5・N5の合計を(E5を起点として3列おき)、
   C5のセルにF5・I5・L5の合計を(F5を起点として3列おき)、
   ・・・・・・
のようになるようにしたいと思っていました。
 それで=SUMPRODUCT((MOD(COLUMN(E5:N5),3)=1)*(E5:N5))としてやってみましたがE5を抜かして
H5・K5・N5の合計になりました。
(「余り」に入れる数字と「*」の意味が関数初心者の私にはいまいちわからないので「1」と「*」を入力してみました。
できればSUMPRODUCT関数を使って出来るといいなと思います。
再度お知恵を拝借できればと思います。
 よろしくお願いします。
    <m(__)m>
 

補足日時:2014/11/07 21:43
    • good
    • 0

2列おきの場合は、A2セルに、=A1,B2セルはブランクのままで、A2セル~B2セルを選んで、右にコピーしてから、その行を合計


3列おきの場合は、A2セルに、=A1,B2セルとB3セルはブランクのままで、A2セル~C2セルを選んで、右にコピーしてから、その行を合計
    • good
    • 1
この回答へのお礼

  確かにこのやり方でいけば、難しい関数式を知らなくても簡単にできますね。
 教えられてあっ、そうか と思いました。
  aokiiさん、ありがとうございました。

お礼日時:2014/11/07 21:08

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q【Excel】4つとばしで合計する方法

たとえば、
A4セルからA8・A12・・・A96
と言う具合にA4から4つ毎の合計を計算したいとします。
私は関数が思い浮かばず、
=A4+A8+A12+・・・+A96
と入力してしまうのですが、簡単に集計する方法があれば教えてください。

よろしくお願いいたします。

Aベストアンサー

=SUMPRODUCT((MOD(ROW(A1:A96),4)=0)*(A1:A96))

・・・これでイイかな?
(確認していませんので適宜修正してください。というか全く使えないかも)

ROW関数で指定したセルの行番号を取得、
それをを4で割った余り(MOD関数)が
0であれば、1
0でなければ、0
その行に対応するセル内の数値を掛けて積算
(この辺りは「絵を描いて」「目で見て」確かめながら読んでください)


>=A4+A8+A12+・・・+A96
これは参照元のセルの個数が多すぎて、Excel2003以前では使えないことがありますね(32個まで)
よく分からないときには作業用の列を用意し、そこに数値を出すようにして
その列で積算するなどの処置をしてみましょう
難しく考えなくても簡単な方法で対処できるのであれば、それだって正解ですからね
(他の人に聞いて回答を待つ間にできてしまうこともあります)


#あとはSUMIF関数を使って答えてくれる人が現れることに期待

Qとびとびのセルの足し算をしたい

こんにちは。初歩的なことなのですが・・。例えばセルA1~A10までの縦の足し算だとオートサムでできますよね。本題なのですが、セルがとびとびの場合(といっても規則正しくですが)、例えばA1とA4とA7とA10の合計を計算したい場合、A1+A4+A7+A10という数式を表示したいセルに打ち込んでやればいいと思うのですが、後から追加したい場合、例えばA4とA7の間にセルを追加して、結果A1+A4+A7+A10+A13という式にした場合、1つ位の追加であれば、数式に1つ追加するだけなので簡単なのですが、いくつもある場合、追加忘れをしそうです。各セルは規則正しく2つ置きとか3つ置きとかの条件で、何か良い計算式はありますでしょうか?初歩的なことで申し訳ないのですが、どなたか教えてください。御願いします。

Aベストアンサー

別の列に区分する為のデータ(条件)がある場合は
=SUMIF(条件範囲,条件,集計範囲)で計算できます。
例えばB列に1,2,3,1,2,3の様な物があれば
=SUMIF(B1:B13,1,A1:A13)でA1,A4,A7,A10,A13を合計
条件の1を2に変えれば、A2,A5,A8,A11を合計します。
条件は文字でもOK

区分するデータがない場合は
=SUMPRODUCT((MOD(ROW(A1:A13),3)=1)*(A1:A13))
ROW関数で行数を獲得、MOD関数で3で割った余りを求め
余りが1(1,4,7...)の時その行の値を合計です。
上記と同じで「=1」の1をに変えればA2,A5,A8,A11を合計します。

上記の場合は、行数に関係なく合計できますが
下記の場合は、特定の行だけ離れたセルの合計しかできません。

Qエクセル 3行ずつの合計

エクセルの質問です。
A列にID、B列に数値が入力されているとします。そしてC列にB列の2行ずつの合計を計算したいのですが、どうしたらいいでしょうか。

A | B  | C
1 | 25 | ID1から3の合計
2 | 24 | ID4から6の合計
3 | 37 | ID7から9の合計
4 | 32 | ID10から12の合計



数百行はあるのでいちいちちょこちょこと合計するのが苦痛なんです。よろしくお願いします。

Aベストアンサー

別の方法をひとつということで。

C1に

=SUM(OFFSET($B$1,(ROW()-1)*3,0,3,1))

を入れて、下へオートフィルでどうでしょう。

QExcel 3列毎のセルを別の表に抽出したい。

A3,A6,A9,A(n+3)ごとの数値を同ページに別表を作り抽出したいのです。具体的にはA3の数値をF1,A6-F2,A9-F3,A(n+3)をFnに、自動的にコピー出来ますか、教えてください。

Aベストアンサー

F1セルに
=INDEX(A:A,ROW(A1)*3)

これを下方にコピーで行けると思います。

Q3列ごとに合計を出したい

添付のように集計用のシートがあります。
10月、11月、12月それぞれの計画、実績の合計を上期合計セルに計算させたいです。
下記のように数式を入れているのですが、#VALUEエラーが出てしまうところと、正しく計算されるところとがあります。
原因は何が考えられますでしょうか?
0も入っていない、空白セルが混じっているからでしょうか?

計画V52:=SUMPRODUCT($M52:$U52*(MOD(COLUMN($M52:$U52),3)=1))
実績W52:=SUMPRODUCT($M52:$U52*(MOD(COLUMN($M52:$U52),3)=2))

何卒、ご教授願います。

Aベストアンサー

こんにちは!

空白セルには数式が入っていて、空白に見えているのでしょうか?
その場合、そのセルは文字列になってしまいます。
SUMPRODUCT関数の範囲に文字列セルがあるとエラーになると思います。

=SUMPRODUCT((MOD(COLUMN($M52:$U52),3)=1)*($M52:$U52<>""),$M52:$U52)

としたらどうなりますが?

※ すべてを「配列1」に入れるのではなく、
カンマの前まで(配列1)で「TRUE」または「FALSE」の判断をし
TRUEのセルだけ合計するという配列数式になります。m(_ _)m

Qエクセルで連続データから、数個飛ばしのデータを抜き取る方法

  A  B
1 a1
2 a2
3 a3
4 a4
5 a5
・・・・・
のような表において、
Bの列にB1=a1、B2=a3、B3=a5
のような2個飛ばしのデータを連続で抜き取る方法はありますでしょうか。
A列が3000行ほどあり手打ち入力がしんどいです。
OFFSET関数を使ってもうまく連続コピーされません。
どなたかご教授願います。

Aベストアンサー

OFFSET関数利用でもよいが、INDEX関数のほうが普通かな。
=INDEX($A$1:$A$100,(ROW()-1)*2+1,1)
100はデータ数が多い場合はデータ行数に変える。
例データ A1:A5
a1
a2
a3
a4
a5
B1に上記。データ数の半数の行数を複写。
結果
a1
a3
a5

Qエクセルで列ごとのセルを集計をする時の関数を教えてください。

エクセルで列ごとのセルを集計をする(1-偶数行と奇数行.2-一行目、二行目、三行目、・・・、n行目)時の関数を教えてください。

Aベストアンサー

#2です。ご返答有難うございます。

【数式の意味】
配列関数というやつです。
=SUM(IF(MOD(ROW(A1:A100),2)=0,A1:A100,""))

・SUM  合計。これはいいですよね。
・IF 条件分岐。IF(条件、条件を満たす時の処理、それ以外のときの処理)。 これもいいですかね。
・MOD 割り算の余りを返します。MOD(割られる数、割る数)。
   MOD(10,3)=1 ですし、MOD(16,4)=0 です。
・ROW  行番号を示す。

つまり、行番号を2で割った数字の余りが0であれば、2で割り切れる、ってことなので、偶数行。余りが1なら奇数行ですよね。

配列関数については、私の下手な説明よりは以下URLに丁寧に書いてありますのでご参照ください。
http://pc.nikkeibp.co.jp/pc21/special/hr/index.shtml

【2の質問:n行目ごとの数値を合計】
これは上記を理解されれば、速攻で出来ます。
MOD の第2引数(割る数)を、変更すれば解決。
nで割る時の余りですから、一定周期を繰り返すはずです。

分かりやすい例で言えば、n=4 の例を考えると
4を4で割ったら、余り0
5を4で割ったら、余り1
6を4で割ったら、余り2
7を4で割ったら、余り3
8を4で割ったら、余り0
ですよね。

上記URLは、とても役に立ちました。頑張ってください。

#2です。ご返答有難うございます。

【数式の意味】
配列関数というやつです。
=SUM(IF(MOD(ROW(A1:A100),2)=0,A1:A100,""))

・SUM  合計。これはいいですよね。
・IF 条件分岐。IF(条件、条件を満たす時の処理、それ以外のときの処理)。 これもいいですかね。
・MOD 割り算の余りを返します。MOD(割られる数、割る数)。
   MOD(10,3)=1 ですし、MOD(16,4)=0 です。
・ROW  行番号を示す。

つまり、行番号を2で割った数字の余りが0であれば、2で割り切れる、ってことなので、偶数...続きを読む

Qエクセルで数行おきにデータを抽出

エクセルシートで、あるデータ膨大にを出しますよね。
それで、たとえば、三行ごと、四行ごととかであるデータを右の行もしくは左行に抜き出す操作をするにはどうしたらいいですか?
今は、フィルタと可視フィルタを駆使してやっているのですが、一発でバンと出すような方法があると思って・・・数式とかでありそうだなって思って。
教えてください。、

Aベストアンサー

=OFFSET(抽出したい列の一番初めのセルの絶対参照,(ROW(A1)-1)*行間隔,0)
又は
=INDEX(抽出したいセルの範囲の絶対参照,(ROW(A1)-1)*行間隔+1,1)

Qエクセルで1列おきのデータのみコピペする計算式

エクセルで、A1:Z1に金額が入っています。
A1、C1、E1、G1、I1・・・・・の1列おきのデータだけが
A2、B2、C2、D2、E2、・・に入る様な計算式をおしえて頂きたく宜しくお願い致します。

Aベストアンサー

A2セルに
 =OFFSET($A$1,0,(COLUMN(A1)-1)*2)
を貼り付けて、そのセルを右方向にコピーしてはいかがでしょう

Q1列おきに合計、a1 + c1 + e1 …

一列おきにある数値の合計を求めるにはどうしたらよいでしょうか。
A1 に B1+D1+F1 …… の合計を求めたいのです。
C2、E2など合計したくないセルにも数値が入っています。

実際にはデータが一行につきデータが数十から200ぐらいあります。

 A B C D E F

Aベストアンサー

n列おきですので、
=SUM(IF(MOD(COLUMN(B1:Z1),2),0,B1:Z1))
Ctrl+Shift+Enterで決定します。
仮に、2行目(B2)に =IF(MOD(COLUMN(B1),2),0,B1) と入れて右へコピィします。
2とびに1行目の数字と0が繰り返し表示されます。
その結果をB~Z列まで実行して、その結果の SUMということです。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング