• ベストアンサー
  • 困ってます

エクセルでちょっと変わった合計の求め方

エクセルで以下のような事は簡単にできるでしょうか。       A   B   C  ・  ・  ・   1   3   0   2   2   1   2   1   3   1   2   1   4    5   3   2   0   6   3   1   0   7   1   2   1   8   9   3   2   2   ・   ・   ・ 12013  1   2   3 12014  2   1   3 12015  2   1   4 12016 12017 合計 合計 合計 12018 合計 合計 合計 12019 合計 合計 合計 12015行より上は入力された数字です。ここで、 Aの12017には、A1+A5+A9+・・・・+A12013、の合計 Bの12017には、B1+B5+B9+・・・・+B12013、の合計 Cの12017には、C1+C5+C9+・・・・+C12013、の合計 Aの12018には、A2+A6+A10+・・・・+A12014、の合計 Bの12018には、B2+B6+B10+・・・・+B12014、の合計      ・      ・ と、いうようにする場合、Aの12017にどのような数式を入れたらよいでしょうか? (=A1+A5+A9+A13+・・・・+A12013、なんて入力してられないので) Aの12017に数式がはいればBの12017以降はそれをコピーすればできると思いますので。 マクロは使った事ががありませんので関数とか利用した数式でできないでしょうか。 ちなみに簡素化のため列3X行3の入力された数字のかたまりで表示しましたが実際はもっと大きな かたまりです。また入力された数字の最後が何万何千何百何十何行になるかは データによって異なっています。

共感・応援の気持ちを伝えよう!

  • 回答数10
  • 閲覧数83
  • ありがとう数12

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

  • ベストアンサー
  • 回答No.6

こんばんは どこか空いている列(仮にD列)を作業列にしては如何でしょうか? D1に =MOD(ROW(),4) 下方向にフィルコピー 11行目までのデータでしか検証していませんが 例として A13に =SUMIF($D$1:$D$11,MOD(ROW(),4),A$1:A$11) C列、15行目までそれぞれフィルコピー ($の位置に注意して下さい) 注) 対応する行を間違わないようにご注意下さい。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご回答ありがとうございました。 丁寧に式を書いていただきありがとうございました。教えていただいた方法でできました。

関連するQ&A

  • Excel n行毎の合計数値

    Excelで2行毎、できればn行毎に合計値を求めるセルを作りたいのです。 A1:A10に{1,2,3,,,,}と値が入っているとして、B1から B1=A1+A2 B2=A3+A4 B3=A5+A6 というふうになり、B1=3,B2=7,B3=11,,,と1行毎に合計する範囲がズレていくような列を作るには どうすればいいでしょうか? C1=A1+A2+A3 C2=A4+A5+A6 C3=A7+A8+A9 となっていくような列を作る必要も出てきそうなので、 n行合計ずつ以外でも出来る方法をお願いします。

  • エクセルのマクロで"~"を用いた数字の連番

    エクセルのマクロで"~"を用いた数字の連番 について、ちょっと困っています。 以下のように、セルに入力があります。 A1:0 A2:1 A3:2 A4:3 A5:4 A6:5 A7:6 A8:7 A9:8 A10:9 A11:10 次に、B1~B11の任意のセルに "無" もしくは "有" の文字を入力し、 B列に"有"の文字が入力されているA列の数字を"~"を用いて連番にしたい。 ただし、「0」は独立した値とし、「B1:有、B2:有」の場合、「0~1」ではなく、 「0,1」とカンマ区切りとする。 (例) A1:0/B1:有 A2:1/B2:有 A3:2/B3:無 A4:3/B4:有 A5:4/B5:有 A6:5/B6:有 A7:6/B7:無 A8:7/B8:無 A9:8/B9:有 A10:9/B10:無 A11:10/B11:無 ⇒ 『 A12 = 0,1,3~5,8 』としたい。 マクロでご教授いただけると幸いです。 よろしくお願いいたします。

  • ひとつ飛びの合計の数式を記述するマクロ

    (エクセルのマクロにて) セルB1からB6を選択しているとします。 ひとつ飛びの合計を求める式=B2+B4+B6をマクロで作成し、A1セルに記述するマクロはどうすれば実現できるのでしょうか? もちろんC2からC10を選択している時は、=C3+C5+C7+C9 という式をA1セルに記述するものとします。 お手数ですが、お分かりの方お教えください。

その他の回答 (9)

  • 回答No.10
  • imogasi
  • ベストアンサー率27% (4558/16316)

私も配列数式でやる方法の、代表例なので、お勧めします。 しかしVBAにもぴったりのやさしい問題です。 Sub test01() t = 0 For i = 1 To 1215 Step 4 '4とび t = t + cell(i, "A") Next i Cells(1217, "A") = t 'A1217のセルへセット End Sub 類推によってA列がB列になる場合 Cells(i,”B”)や A2から始まる場合は、i=1のところをi=2とスタート行によって変えてください

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご回答ありがとうございます。 マクロ・・ですよね。覚えないといけないと思いつつもなかなか出来ないのですが、確かに等ピッチで 足していく、という作業はやさしい例なので教えて頂いた式を使って勉強してみます。

  • 回答No.9
  • mu2011
  • ベストアンサー率38% (1910/4994)

以下の方法は以下がでしょうか。 ・A12017は、{=SUM(IF(MOD(ROW(A$1:A$12015),4)=1,A$1:A$12015))} ・A12018は、{=SUM(IF(MOD(ROW(A$1:A$12015),4)=2,A$1:A$12015))} ・横方向にコピーして下さい。 ※{}は、関数入力完了時、shift+crtl+enterすると付加されます。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご回答ありがとうございます。 SUMとIFを使った方法ですか。MODとかあってぱっと見ではわからないのですが検証してみます。 ひょっとすると一番私にあっているやり方かもしれません・・・ (本当は関数の使い方やマクロを覚えないといけないのですが)

  • 回答No.8
  • Wendy02
  • ベストアンサー率57% (3570/6232)

こんにちは。 それは、こういうことかな? A1+A5+A9.... =SUMPRODUCT((MOD(A$1:A$12015,4)=1)*A$1:A$12015) A2+A6+A10..... =SUMPRODUCT((MOD(A$1:A$12015,4)=2)*A$1:A$12015) 後は、必要に従って、フィルハンドルでドラッグ・コピーしてください。ただ、こういう計算は、ExcelのVersion が影響することがあります。Excel 2000を含むそれ以下の場合は、一旦、#5さんや#7さんの方法で検算したほうが無難のようです。後は、VBAのユーザー定義関数がありますが、多少、計算スピードがSUMPRODUCTと比較すると遅くなります。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご回答ありがとうございます。 ご回答今見ました。今回はSUMIFで対応したのですが、SUMPRODUCTですか、簡単そうですね。 私はピッチサマリーみたいな関数がひょっとしてないかと思っていたのですが・・・。  =ピッチサマリー(開始行,足していくピッチ,終了行) こんな関数あったら便利ではないでしょうか?

  • 回答No.7

A1:A12013の範囲のうち、 偶数行の和を求めるのは: =sumproduct(A1:A12013,row(A1:A12013)-even(row(A1:A12013))+1) 奇数行は上記のevenをoddに書き換えるだけ。 > 最後が何万何千何百何十何行になるかは > データによって異なっています。 そうなら、合計欄は表の最初に作るのが基本。所詮Excelでは 65000ちょいしか扱えないけど。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご回答ありがとうございます。 ご回答今見ました。すでに回答いただいたSUMIFで今回は対応しました。 SUMPRODUCTという関数を使うのですね。同様のデータ整理はまだまだ続くのでまた試してみます。 >合計欄は表の最初に作るのが基本 そのとおりですね、形を変えてみます。

  • 回答No.5
noname#12223

こんばんは(^^。 私もあんまりEXCEL詳しくはないんですが、私なら↓にします。 (1)一番左の列は、上から単純に1,2,3,4,・・・・ (2)隣の列に、=mod(すぐ左のセル、4) (3)合計は、=sumif((2)の列,"=0",合計したい列) 素人強引法(笑

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご回答ありがとうございました。 一行追加してSUMIFを使う方法でできました。

  • 回答No.4
noname#135138

ちょっと式を間違いました SUM(A1:A12013) でした。 これは A1 から A12013 の間にあるセルの数値を合計します。 参考URLも参考にしてみてください。

参考URL:
http://pc21.nikkeibp.co.jp/tech/excel36/01/

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご回答ありがとうございました。 質問の最初に飛ばし飛ばしで足していく、って書いておいた方が良かったですね。

  • 回答No.3
  • HAL007
  • ベストアンサー率29% (1751/5869)

質問のままで加工を加えないなら単純式を入れるしかありませんが 計算式の長さに制限があり大きなもの出来ません。 加工する方法としては、a列に1列挿入して 質問の12017行で計算対象となる行に例えば1を、12018は2とします。 後は計算するセルでDSUM関数を使えば出来ます。 >>また入力された数字の最後が何万何千何百何十何行になるかは Excelは65536行までしかありません。また、列は225列です。 この内3割も消費すれば重くて使いものになりません。 大量のデータを計算するならAccessを視野に入ることです。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご回答ありがとうございます。 DSUM関数でもできると思いますが、今回は理解し易かったSUMIFを使う方法で対応しました。 (使い方は検索しましたが、簡単に理解できませんでして・・・) 確かにファイルは重いです。データを作るまでに作業をするシートもあるので70Mにもなっている ものもあります。

  • 回答No.2
  • mryokko
  • ベストアンサー率20% (69/337)

あまりに基本的なことなので間違っていたらごめんなさい。 =sum(a1:a12017)で求められるはずですよ。その他も応用(というほどでもないけど)でできます。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご回答ありがとうございました。 質問文に飛ばし飛ばし足していく、って一言入れておくべきでした。

  • 回答No.1
noname#135138

ただ合計するだけなら SUM(A1:A12017) でどうでしょうか

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • エクセルシートの票データの置き換えについて、

    エクセルのシートに (A1)から(D50)まで一覧表があり、それぞれ200個のセルに文字が入力されています。 これを別のシートに縦一列に並び替えたいのですが、 A1=(A1) A2=(B1) A3=(C1) A4=(D1) A5=(A2) A6=(B2) A7=(C2) A8=(D2) A9=(A3) A10=(B3)  ・  ・  ・ A199=(C50) A200=(D50) 出来れば簡易言語で、それで無理ならマクロでも結構です。 よろしくお願いします。

  • エクセルの並び替えで順番どうりにならない

    エクセル2003です。 並び替えでA列を対象にして 以下のように並び替えたいです。 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 B11 B12 ですが並び替えを実行すると A1 A10 A11 A12 A13 A2 A3 A4 A5 A6 A7 A8 A9 B1 B10 B11 B12 B2 B3 B4 B5 B6 B7 B8 B9 となってしまいます どのような方法がありますか。 よろしくお願いします。

  • エクセルについて

    初心者です、よろしくお願いします。 A1からC5まで表を作ります。C1からC5にはA7+B7 A8+B8と式を入力します。 A7からB11は、その時々で入力する数字は変わります。 A14からC15は、A1からA5の数字を選んで入力します。 A18からB23はVLOOKUP関数で A18→A14 A19→A15 A20→B14 A21→B15 A22→C14 A23→C15を見て文字を選んできます。 B18からB23も同様VLOOKUP関数で B18→A14 B19→A15 B20→B14 B21→B15 B22→C14 B23→C15を見て3列目を返します。 総計はB18からB23の合計です。 この場合C15に何も入力しなければA23,B23,D19に#N/Aが出ます。 C15に数字を入力する場合があるのでこの覧は残して置きたいのですが、何も入力しないときはA23とB23は空白で、D19はB18からB22の合計を返したいのですが、何かいい方法を教えて下さい。 欲を言えば0は表示したくありません。 説明がへたくそですいません。

  • ある数字以下の場合指定した文字を入力する数式

    エクセル2003で、困っている事があります。 セルA1~A6は順番に「0、30、0、30、0、30」、セルB1~B6は順番に「30、0、30、0、30、0」と数字が入力されています。 そこで質問なのですが、セルC1~C6に「数値が30以上の場合はAと表記し、30未満の場合はBと表記する数式」を考えているのですが出来ません。。 C1セルの参照元は「A1とB1」で、同様にC2セルは「A2とB2」でC3セルが「A3とB3」C4セルが「A4とB4」C5セルが「A5とB5」C6セルが「A6とB6」です。 なので、C1は「B」、C2は「A」、C3は「B」、C4は「A」、C5は「B」、C6は「A」と表記されます。

  • エクセル数式

    (100列まで続きます。) C行に手打ちで数式を入れていくと大変なため、 コピーで入れたいのですが、うまくいきません。 C1からC3まで数式をコピーし、C7に貼り付けたのですが C7=A7*B7、C8=A7*B8、C9=A7*B9 C10=A10*B10 になってしまいます C7=A3*B7、C8=A3*B8、C9=A3*B9 C10=A4*B10 としたいのですが、良い数式または方法をおしえてもらえませんか?    A       B        C 1  17     3      =A1*B1 2  30     3.5    =A1*B2 3   49     4     =A1*B3 4   10     4.5   =A2*B4 5   24     5     =A2*B5 6  50     5.5    =A2*B6 7  60     6     = 8   7     6.5 9   40     7 10   89  7.5  ・  ・  ・ (100列までつづきます)

  • エクセルの並べ替えで動作がおかしいので、わけが知りたい。

    エクセル2000で並べ替えをやっていますが、セルに、大文字の英字を入力すると、並べ替えができません。 例1 A1:A10のセルにAAA,1,2,3,.....と入力し、昇順と降順を交互に押しても、AAAの位置は変わらない。 例2 A1:A10のセルにaaa,1,2,3,.....と入力したら、正常に並び替えができる。 例3 A1:A10のセルにAAA,BBB,2,3,.....と入力したら、正常に並び替えができる。 実際は、A6:J1500の表でA6:A1500には=IF(C6=C$5,1,0)という式が入っており、B6:B1500には日付け、C6:C1500には会社名、D6:J1500には数字と、数式が入っています。C5セルに会社名を入力し降順で並べ替えをやっています。C6セルに、英大文字を入れたら並び替えができなくなりました。 エクセルを再インストールすれば直りますでしょうか。 よろしくお願いします。 

  • エクセルのマクロ

    A列とB列に以下のような感じでデータが入ってます。 A列 A1  1 A2  あ A3  い A4  う A5  え A6  2 A7  お A8  か A9  3 A10  さ A11  し A11  す B列 B1   1 B2   a B2  2 B3  b B4  c B5  3 B6  d B7  e 両列に共通しているのは数字の1から始まり、1の後に何らかのデータが続いた後に2がきて、また何らかのデータが続いた後に3がきます。 そんな感じで数値が増えて両列とも500(行ではなく数値が)まであります。 この二つの列のデータを合わせたものをC列に表したいのですが。 その規則ですが。まず1がきて、その後にB列の1から下のデータ(2の前まで)がきて、次にA列の1から下のデータ(2の前まで)がきます。2以下も同様になります。 C1  1 C2  a C3  あ C4  い C5  う C6  え C7  2 C8  b C9  c C10  お C11  か C12  3 C13  d C14  e C15  さ C16  し C17  す C列のデータを求めるマクロを教えてもらいたいのですが。 よろしくお願いします。

  • IF関数

    エクセル2013使用です IF関数について教えて下さい A1×A2 という数式と B1×B2 という数式があり A1に数字を入力していない場合はB1×B2の答えを A1に数字を入力している場合は “B1×B2に数字が入っていても” A1×A2の答えを、C1に表示させたいです 答えの欄はC1ひとつだけで A1×A2とB1×B2の答えが足されないようにしたいです 説明が下手で申し訳ございません よろしくお願い致します

  • リストファイルの列の操作

    シェルスクリプト(Bシェル)の中で、 例えば以下のようなカンマ区切りのリストファイルを ---------------- a1,b1,c1 a2,b2,c2 a3,b3,c3 a4,b4,c4 a5,b5,c5 a6,b6,c6 a7,b7,c7 a8,b8,c8 a9,b9,c9 a10,b10,c10 ---------------- 以下のように変換する方法が知りたいです。 ---------------- xx,a1,b1 xx,a2,b2 xx,a3,b3 xx,a4,b4 xx,a5,b5 xx,a6,b6 xx,a7,b7 xx,a8,b8 xx,a9,b9 xx,a10,b10 ---------------- ※3列目を削除して、1列目に"xx"の文字列を挿入。 forやwhileで1行ずつ読み込んで処理するのではなく、 sedやawk等を用いてズバッと変換する方法が知りたいです。 宜しくお願いします。

  • エクセルの関数について

    エクセルの初歩的な部分になってしまうかもですが… 例えば、A1に『1』B1に『1』を入力し、合計数をC1に入力したい場合は、C1に数式を入力すれば良い。のはできるのですが… C1に式が入力されてない状態で、A1とB1に数字を入れるとC1に反映される方法って何かないでしょうか…