[[20031221101303]] 『300行続いた時のその合計を求める』(おじ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『300行続いた時のその合計を求める』(おじ)

初心者です。教えてください。また、質問の仕方も良くわからないので、不備があったらすみません。
例えばA1に¥1000、B1にその個数とありA2に¥4000、B2にその個数と続き、同じ内容(金額、個数はバラバラ)で300行続いた時のその合計を求めることは可能でしょうか?A列とB列しか使いません。教えてください。お願いします!


 合計を求めたいセルに
 =SUM(A1:A300) 
 あるいは 
 =SUM(B1:B300)
 のようにすれば、対象範囲セルの合計を求めることが出来ます。

  (INA)


INAさんありがとうございます。やはり質問が悪かったみたいで・・・。A1が¥1000でB1が2個だと計¥2000ですよね。A2が¥4000でB2が3個だと¥12000です。総合計は¥14000です。それが300行つづくのです・・。それの総合計金額が知りたいのですが・・。よろしくお願いします。


 通常ならC列に小計を出し合計を出すとかした方が良いと思いますが、いろいろな事情が
あると思いますので。
=SUMPRODUCT(A1:A300,B1:B300)です。(ケン)


ケンさんありがとうございます。それで出来ました。小計を出せなかったのは実はA列が金額でB列以降の列が日付だった為、日付が移動するからです。日計を知りたかったのです。そこでもう一つの壁にあたりました!SUMPRODUCTにかかわらず、初歩的かもしれませんが、絶対参照も使い数式を下方向にフィル(っていうのですか?ドラックしてコピーするやつ)をすると@SUMPRODUCT($A$1:$A$300,B1:B300)がASUMPRODUCT($A$1:$A$300,B2:B301)になるのです。これを下にフィル?したらSUMPRODUCT($A$1:$A$300,C1:C300)になるように出来ますでしょうか?すみません、横方向にフィル?できたらよかったのですが・・。よろしくお願い致します。


 C列に(or 列挿入して)小計を出したほうが後々拡張出来て便利なんですがねぇ。
 AVERAGE  MAX  MIN  MODE  RANK   etc  etc 
 非表示にすればジャマにはならないし...まぁ、やはり余計なお世話でしたねぇ。スミマセン
 SUMPRODUCT 賢い関数ですね。自分、使い方が良くわかって無い!     (jun53)

 (おじ)さん、こんにちは。自分もSUMPRODUCTを学習中の身でして、
>これを下にフィル?したらSUMPRODUCT($A$1:$A$300,C1:C300) ←の意味が掴めませんが、
>日計を知りたかったのです。 という意味なら、
C1:C300に日付があるとして、d1に調べたい日付を入力、合計を入れるセルをd2として
=SUMPRODUCT((a1:a300)*(b1:b300)*(c1:c300=d1))
で求められます。意味が合ってなかったらすみません。
ヘルプなどでは、SUMPRODUCT(範囲,範囲)のときには、範囲同士の積の和が求められる関数ですが、
上記式での例のように条件を含めた計算も可能です。
範囲に名前をつけて計算させるとわかりやすいと思います。
フィルしてしまうと、計算する範囲が判りにくくなると思いますよ。
         積雪40p、誰か除雪手伝ってくらさい (kobi) 

 (おじ)さんの言いたい事は分かりましたが、良い方法が思いつきません。
配列式を使うと、何かと不便になる事も多々あります・・・
やはり、作業列を使ったほうが・・・
その内、元祖!さんが・・・(ケン)!

 あれ、やっぱ違う方向に行ってました?
     今日はいつもより早く廻ってまーす!   おめでたい (kobi)


 こんばんは、Yosh!です。通りすがりの者さん、衝突しました。

 OFFSETとかINDIRECTで数式を作れないかと試してみたんですけど、
 SUMPRODUCTのような配列数式の中ではセル範囲を変更するような
 関数は使えないみたいですね。なので、私も作業用のセルを使う
 方法しか思いつきませんでした。一応書き込みしておきます。
 ・B301に =SUMPRODUCT($A$1:$A$300,B1:B300) として右にコピー
 ・301行目を選択、「書式」−「行」−「表示しない」として行を隠す
 ・B列の日計表示欄に =INDIRECT(ADDRESS(301,ROW(A2))) として下にコピー
(Yosh!)


 B1,B2,・・・が日計表示欄だと循環参照してしまいますね。
(おじ)さんの表がどのようになっているのかが良く分かっていないんですけど、
SUMPRODUCT($A$1:$A$300,B1:B300)は入力できていらっしゃるようなので、
B列は個数欄で、日計表示欄は別の列にあるのだろうと私は考えていました。(Yosh!)

 やはり、作業用セルが必要になりますよね?色々かんがえてみたのですが・・・(ケン)


 というかこの表、おかしくないですか?
 Yosh!さんのB301にSUMPRODUCT()で右にフィル、それで良いように思えますけど...

 下のサンプルの場合は

 I2に
 =SUMPRODUCT($B$2:$B$302,OFFSET($C$2:$C$302,0,J2))
 と打ち込んで下にフィル

 J2に
 0 と打ち込んで下にCtrlを押しながらフィル(日数分)

 J列は非表示に。

 違かったら正直すまんかった。
 (ramrun)中休み〜

 A		B	C	D	E	F	G	H	I	J
 商品		単価	12/23	12/24	12/25	12/26	 	日付	合計	offset
 ビール		1500	5	6	10	3	 	12/23	17500	0
 シャンパン	2000	5	 	 	 	 	12/24	15000	1
 ピザ		3000	 	2	 	 	 	12/25	25000	2
 寿司		5000	 	 	2	 	 	12/26	4500	3

 日計	 	 	17500	15000	25000	4500		

 SUMPRODUCTの中でもOFFSETが使える書き方があるんですねぇ。勉強になりました。(Yosh!)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.