• ベストアンサー

エクセルで3行おきの集計

以下のような表で、3行おきの集計がしたいのですが どんな関数を使ったらいいのかわかりません。     1月 2月 ・・・ 12月  純売 350 850    1020 A 粗利 222 551    669  率  63% 65%  純売 500 900 B 粗利 352 450  率 ・ ・ Z 純売だけの当月の計と、粗利だけの当月の計を表の一番下に表示させたいのです。「純売・粗利・率」という2列めのサイクルは、表の一番下まで全く同じです。 結構大きな表なので、数字の入っているセルをピックアップして、足し算するのにも限界があります(・・・最初はそうしていました・・・泣) 当方、恥ずかしながらエクセル初級レベルですので・・・どうか皆さんの力を貸してください。お願いします!

  • pitsu
  • お礼率68% (15/22)

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

普通は上級者の問題として、配列数式を使った解が載っています。 (例データ)A1:A9 1 2 34 2 34 56 3 43 23 (関数式)2,5、8行を合計 =SUM(IF(MOD(ROW(A1:A9),3)=2,A1:A9,0)) と入れて、SHIFTキーとCTRLキーを押しつつ ENTERキーを押す。 先頭と後尾に{ }がつき(配列数式) 結果は79になります。 #2のお答えとよく似ているが最後と「SHIFTキーとCTRLキーを押しつつENTERキーを押す。」が書いてないので別解でしょう。 MOD(ROW(A1:A9),3)=2の2を1や0に変えて他の行の合計を求められます。

pitsu
質問者

お礼

SHIFT+Ctrl+Enterがミソですね! この式の意味をよく理解して、どんどん活用したいと思います。 ありがとうございました!

その他の回答 (4)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.5

#1の方と同じく、私も単純にSUMIFでいいと思います 純売 =SUMIF($A$1:$A$6,"純売",B$1:B$6) 粗利 =SUMIF($A$1:$A$6,"*粗利",B1:B6) =SUMIF(項目を調べる範囲,調べる項目,合計する範囲) で、項目を調べる範囲は、絶対参照で固定して、式を横にコピーします。 あと、それとは、別に飛ばし合計する関数を作ってみました。 Public Function sumstep(c As Integer, r As Integer, range As range) Dim s,i,j s = 0 For i = 1 To range.Rows.Count Step r + 1 For j = 1 To range.Columns.Count Step c + 1 s = s + range.Cells(i, j) Next j Next i sumstep = s End Function 標準モジュールに貼り付けて使います。 使い方 =sumstep(列方向にとばす数,行方向にとばすかず,範囲) 純売 =sumstep(0,2,B1:B6) 粗利 上の式を下にコピー

pitsu
質問者

お礼

うわ~すごいですね~ 皆さん、尊敬します・・・(感激) おもしろそうなので、月末のバタバタが終わったら、ちょっとトライしてみます。 ありがとうございました!

  • taocat
  • ベストアンサー率61% (191/310)
回答No.4

      A    B   C   D  1  項目  1月  2月  3月   2 純売上  100 150 200  3 粗利益   30  50  80  4 利益率  5 純売上  6 粗利益  7 利益率  8 純売上  9 粗利益 10 利益率 ------------------------------------------- 11 (売計) 12 (粗計) 13 (率) このような表(簡単の為に行を少なくしてあります)だとして 今回の場合は純売上とか粗利益とかキー項目があるので 面倒な配列数式は使わなくてもできます。 B11(1月純売上合計)セルに =SUMIF($A$2:$A$10,"純売上",B2:B10) 又は =SUMPRODUCT(($A$2:$A$10="純売上")*B2:B10) B12(1月粗利益合計)セルに =SUMIF($A$2:$A$10," 粗利益",B2:B10) 又は =SUMPRODUCT(($A$2:$A$10="粗利益")*B2:B10) 1月計が終わったら、「1月計」セルのフィルハンドルを、2,3,4月・・・と列方向にドラッグして式をコピーする No1の回答にもありますが、今回のように、「純売上」等の「キー項目」がある場合は、2行置き(3行置きは間違い)とかは考える必要はありません。 以上です。  

pitsu
質問者

お礼

そうなんですね! 間があいている事を気にしすぎて、難しく考えすぎたようで・・・ SUMIFは、キー項目の隣の列に数字がないと使えないのかと勘違いしてました。 しかし、いろいろな回答があって、どれも正解!って、面白いですね~がんばってエクセル覚えます!

  • s_yoshi_6
  • ベストアンサー率73% (1113/1519)
回答No.2

C2:C100に合計したいデータで、純利がC2、C5…、粗利がC3、C6…として 純利合計:=SUM(IF(MOD(ROW(C2:C100),3)=2,C2:C100)) 粗利合計:=SUM(IF(MOD(ROW(C2:C100),3)=0,C2:C100)) SUM(IF(MOD(ROW(C2:C100),3)=2,C2:C100)) は、「行番号を3で割ったときに2余るセルを合計する」という意味なので、行がずれたら「=2」の2の部分が0または1に変わる場合があります。 下記ページを参考にしてみて下さい。 http://www.h3.dion.ne.jp/~fukusima/waza/ura063.html

参考URL:
http://www.h3.dion.ne.jp/~fukusima/waza/ura063.html
pitsu
質問者

お礼

ありがとうございます! ROWやMODなんて、使ったことありませんが、がんばってやってみます!

  • radio98
  • ベストアンサー率18% (16/88)
回答No.1

SUMIF関数でいけそうな気がします。 "純売り" という言葉がある行のある列を合計するという感じです。 3行おきと考えてしまうと難しいですけどね。

関連するQ&A

  • エクセル2000で集計行に色をつける

    エクセルの縦に長い表があります。 途中、ところどころが集計行、一番下が総合計です。 以前、こちらで教えていただいた「集計」機能で作成したものです。 今回の質問は、その集計行のセルに色をつける方法です。 集計行のE列には必ず「○○ 計」の文字列がありますから、これを判別して、B列からE列まで色をつけるVBAまたは、便利な方法がありましたら教えてください。 よろしくお願いします。

  • エクセルで「集計」操作時

    エクセルで、「集計」操作をすると、集計したいところにあらかじめ「レ点」が付きますが、希望するところに付きません。 (1)どこかに、記憶させておくことはできるのでしょうか? 仮に)部門別売上粗利表を「部署」「得意先名」「売上額」「粗利額」「受注番号」「備考」と有った場合、「備考」にレ点がついてしまいます。いつもこのレ点をはずし、売上、粗利にレ点をつけます。 面倒です、「集計」を削除して、また、セットする時、また、「備考」にレ点が付いています。「売上、粗利には付いていません」非常にめんどうなのですが、使い方が悪いのでしょうか? (2)また、集計した結果、「部署計」が同一部署の最後に表示されますが、総計は、すごく離れた行に出来上がります。最終部署計のすぐ下に出来上がって欲しいのですが・・・。 (3)それと、明細に罫線を付けていた場合、最終部署計と総合計には罫線が引き継がれません。そのため、毎回この行に、罫線を設定しています。なにかいい方法はあるのでしょうか?

  • エクセルで2行毎ずらして表示するには?

    ひとつのシート内に複数の表を貼り計算をしています。 複数の表の下に集計結果を表示しました。 集計結果は月ごとに昇順で表示しています。 集計結果の月ごとの部分を新たに増やしたいのですが コピーをすると「複数の表のなかの2行ある計算範囲」が1行ずつしか下に 移動しませんが2行ずつ移動する簡易な方法はありますでしょうか?

  • EXCEL 2002 集計

    エクセル 2002 で会社の月切ごとの不良集計を1つの不良集計表にしたいのですがどうしたら良いですか、宜しくお願いいます。 4月~9月切りのファイルが3.5インチFDに入っています。 表の形式はA列に機械NOが1~15台 B列に各機の生産数  C列~J列までは不良項目が入っています、K列には不良合計 L列には不良率 上記のような内容です、宜しくお願いします。

  • Excelを使った複雑な集計方法の仕方、教えて!

    何度もしつこく聞いてすみません。 Excelの関数で次のようなものは求められるでしょうか。 (前に書いた例は、「きちんと設計図ができていないので、回答できない」とご指摘をいただいて、いろいろ考えたのですが、こんな設計図で分かるかどうか不安ですが、どうしても数値を求めたいのです。 (例は前より分かりやすくしたつもりです。頭の回転の鈍い、どうしようもない娘=高3と思って回答をお寄せいただけたら嬉しいです。お願いします。) ○求めるもの…いくつかの活動団体が、あるホール(大小複数のホール)を、借りたとして、その借りた団体べつに、借りた回数を集計する。ただし、午前・午後別に借りたホール数を計算する) ○例えば、7月1日にA団体が、午前1ホール、午後3ホール借りたら、1日は4ホール借りたという計算。  B団体が、7月3日には午前午後にそれぞれ1ホール借りて、17日に午後3ホール借りたら、合計は5ホール借りたという計算になるような関数での集計方法を知りたい。  COUNTIFやSUMPRODUCTを試してみたのですが、こんな複雑な(?)集計方法の例は出ていないので、分からないのです。 設計図になるかどうかは分かりませんが、表の組み立てずは次のようにしました。 ○縦の列。左から「A列」に日付、「B列」に団体名、「C列~D列」に午前・午後、 ○横の行。上から下に向かって、借りた日付ごとに、団体名、午前の回数、午後の回数が、記載されている。 A団体が、3日と7日と14日と21日に借りたら、団体名のところのセルにA団体名は4回出てくる。そしてその右隣のセルに午前の回数、またその右隣に午後の回数が書かれている  sheet2または、上述した表の少し下に、数値の呼び込み(集計するための)表を作る。   そして1か月(または数か月)の、団体名別の借りた頻度数を割り出したいのです。 集計表は、A列に団体名  B列に午前、午後合わせた計の列(別でもいいけれど、別にするときは、C,D,E列に、午前、午後、合計の名称。数字行に、団体名・午前午後計の数値が、2列めから下へ並んでいく。 こんなようなことで表のイメージはおわかりいただけたでしょうか。 よろしくお願いいたします。

  • エクセルで本社提出用の月別集計表を作成していて

    エクセルで本社に月別集計を提出しています。集計表は本社から送付されたものを使用しないといけないです。 日にちを毎月入力していましたが、できない人がいるので、A1とA2のセルに年月を入力するだけで日にちが入るようにしました。 ところが仮題 平成23年5月 ○○営業所と入力されている年月を自動的に変換できないのです。 5月計も自動的に変換できません。 どちらも一つのセルに入っています。 変換できる方法がありましたら教えてください。 よろしくお願いします。

  • 集計するマクロ

    面倒ですが宜しくお願い致します。 例えば宅配会社だとして 日付 支店 地域 種類 金額 6/1 A店  A町  A  160円 6/2 B店 B町 B  100円 6/2 C店 B町  C 150円 ~ 7/30 Z店  Z町 Z 200円 のような表があったとして この表でA店,B店のみで種類がA,B以外の月ごとで地域ごとの合計金額を集計して表にするようなマクロを作るにはどうすればよいでしょうか?

  • Access2007 集計レポートについて(2)

    Access2007 集計レポートについて、質問内容が不明との事で 再度イメージを添付し説明させて頂きます。 ブランドは全部で8つ、担当は全部で16名、それぞれのグループの 計が5つ、合計覧が1つあります。 各担当には目標と実績があり、目標数値は目標テーブルに入力された 数値を反映させ、実績は基幹システムのDBへリンクし集計させます。 また、1~8までのブランドの合計、当月受注予算、(予算に対しての)増減、 年度累計、(年度累計に対しての)増減も作成したいと思います。 レポート フッターを利用して集計レポートを作成していたのですが、 レコードセットのフィールド数:255を超えています、とのメッセージが 表示され先に進まなくなってしまいました。 そんなに複雑な表ではないと思っていたのですが、壁にぶち当たってしまいました。 この様はレポートの作成はできないのでしょうか? どうかご指導、お願い致します。

  • エクセル集計表から、別ブックに抽出したい。

    お世話になります。 エクセルで作成した集計表があります。この表のうち、各項目の小計を別ブックに抽出し、元の集計表よりもさらに集約した表を作成したいと考えています。 元の表の縦列には集計したい各項目の小計をおいています。この元データが細かく区分されたデータですのでざっくりした簡単な見やすい表を作成したいのですが、別のブックに抽出するにはどうすれば良いでしょうか。また元データを更新すれば、抽出した別ブックも更新できるとさらに助かります。 いうなれば、アウトライン小計を閉じたような状態の表を別のブックに作成したいのです。 下のような例ですと、各見込と実績は、小計を閉じた状態です。開けばもっと縦列が膨らみます。            1月    2月    3月    4月    ・・・・・・・        見込 みかん  実績       差額  見込 りんご  実績       差額 詳しい方、アドバイスをどうぞ宜しくお願い致します。

  • エクセル。複数のシートを使っての複雑な集計のやり方

    エクセル。複数のシートを使っての複雑な集計のやり方を教えていただきたいです。 縦は上から150期から155期まで、横は4月から3月まで(12カ月)でそれぞれ売り上げ額が入っています。 その下には各月の粗利益%が入っています。このような表が入った計10シートが同じファイル内にあることとします。 この10シートの集計をしたいのです。 私はよくわからなくって、すべてひとつひとつシートを選んではクリックしながらとても長い数式を入れていました。これでもできたのですが、 いろいろネットで調べたら、サム関数を使ってシートを一気に選択して(コントロールを押しながらシートを選択して)コピー出来る事を知りました。 それはなんとなくわかったのですが、売り上げの下にある、「粗利益〇%」の集計もしたいのですが、いまいち簡単なやり方がわかりません。 粗利益の合計を出すには→各月の売り上げ×その月の粗利益を、売り上げで割ると出るので、 それを地道に、たとえば155期4月の粗利益の集計を出す場合は、(1)シートの4月の売り上げ×粗利益+(2)シートの4月の売り上げ×粗利益+・・・(とこれが10シート続きます)これを、(1)シートの4月売上+(2)シートの4月売上+・・・で割るという数式になります。 10シートなので、相当長い数式になってしまいます。 これができたら他にひとつひとつコピーしていくというかんじでした。 上記のようなサム関数などでシートをまとめて集計するようなやり方ってないのでしょうか? 掛けたものを足してそれをまた割ってという場合は、簡単に集計するのは難しいのでしょうか? もっと簡単なやり方があったら教えていただきたいです。 わかりにくくすみませんが、わかる方、教えていただきたいです。

専門家に質問してみよう