[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『前日の値を反映』(にし)
下のように、あいうは各ABCの3列になっています。
毎日数値を入力し、1か月でまとめます。
別枠にA、B、C の前日の計と累計を反映したいのです。
累計は単純に足し算するだけなのでいいのですが、
前日の計をうまく残す?というか、わかるようにしたいのですが
何かいい方法はありますでしょうか?
よろしくお願いします。
あ い う
A B C A B C A B C
1日 1 0 1 0 1 0 3 2 1
2日 0 1 0 1 1 0 0 1 1
3日
4日
31日
計 1 1 1 1 2 0 3 3 2
別枠に表を作ります。↓
A B C
前日計 4 3 2 ← ここの式がわかりません。
累計 5 6 3
例えば、2日に入力が終わった時点で、前日1日のABCの各計もわかるようにしたいのです。
WindowsXP
Excel2003
前日のデータは、全列に数値が入力されていると考えていいですか?
(つまりゼロなら0で埋められている? サンプルではそうなっていますが、 ポイントになりそうな部分なので確認して置きたいのですが。)
(半平太) 2009/09/07 11:21
1. 慎重に考えると、当日分が全部記入されているかチェックする必要があるかもしれません。 その場合は、 まず、A40セル =LOOKUP(99,IF({1,0},1,MATCH(99,ROW(A$3:A$33)/MMULT(N(ISNUMBER(B3:J33)),SIGN(ROW(A1:A9))))))
※ もし、そんなに慎重に考えなくてもよければ(つまり、全部入力されているに決まっていれば)、 =IF(ISNUMBER(MATCH(9^17,B3:B33)),MATCH(9^17,B3:B33),1) でも構いません。
これで、A40セルに当日の行位置が表示されます。(サンプルの場合ですと「2」と表示されます)
ただし、A40は「前日計」と云うタイトルが表示されるところなので、(そう勝手に決めました 汗) セルの書式(表示形式)をユーザー定義で、「前日計」として、表面上はタイトルの様に見せかけます。
2.次に、前日計を計算します。 (1) B39:D39に、順に A、B、C と集計基準の項目名を入力します。
(2) B40セルに下式を入力して、D40までコピーします。 =IF(COUNT(INDEX($B3:$J33,$A40,0))<9,"当日未記入セルあり",IF($A40=1,0,SUMIF($B2:$J2,B39,INDEX($B3:$J33,$A40-1,0))))
※ もし、当日分が全部記入されているに決まっているならば =IF($A40=1,0,SUMIF($B2:$J2,B39,INDEX($B3:$J33,$A40-1,0))) でも構いません。
結果図 <当日の入力が不完全な場合> 行 ___A___ _B_ _C_ _D_ _E_ _F_ _G_ _H_ _I_ _J_ 行 ___A___ _B_ _C_ _D_ _E_ _F_ _G_ _H_ _I_ _J_ 1 あ い う 1 あ い う 2 A B C A B C A B C 2 A B C A B C A B C 3 1日 1 0 1 0 1 0 3 2 1 3 1日 1 0 1 0 1 0 3 2 1 4 2日 0 1 0 1 1 0 0 1 1 4 2日 0 1 0 1 1 0 0 1 1 5 3日 5 3日 3 1
32 30日 32 30日 33 31日 33 31日 34 34 35 計 1 1 1 1 2 0 3 3 2 35 計 1 1 1 1 2 0 3 3 2 36 36 37 37 38 38 39 A B C 39 A B C 40 前日計 4 3 2 40 前日計 当日未記入セルあり ↑ ↑ 実体は2 実体は3
(半平太) 2009/09/07 13:44
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.