- ベストアンサー
CHOOSE関数でインデックスを可変にした場合の値の変更
只今、年間集計の為にExcelで表を作っているのですが 例えば今年度の売上で1月~12月の項目があったとして 5月が年度初めなので =SUM(今年度(例えば今でしたら5月~8月の合計)の売上合計)/CHOOSE(MONTH(TODAY()),5,6,7,8,9,10,11,12,1,2,3,4) という計算式を作ってみました。 このままですとインデックスがMONTH(TODAY()なので値=9が反映されてしまいます。 ですので5=1 6=2 7=3 : 4=12 と、値を定義つける事は出来るのでしょうか? お知恵を賜りたく存じます。 何卒宜しく御願します
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
> CHOOSE(MONTH(TODAY()),5,6,7,8,9,10,11,12,1,2,3,4) > 今年度(例えば今でしたら5月~8月の合計) 今日が9月なら5~8月のの4ヶ月分、5月なら昨年5月から今年の4月ま での12ヶ月分を計算するんだから、month(today())が1,2,3,4,...の 時の返り値は8,9,10,11,12,1,2,...であるべきでしょう。 choose(month(today()),8,9,10,11,12,1,2,3,4,5,6,7) month(emonth(today(),-5)) で、検証のために9月分や10月分の数値を入れた場合、パソコンのカ レンダーを10月や11月に変更しないとtoday()関数の値が変わりませ んが、そこはちゃんとヤッテますか。 別解として、売上額が0でない月を数えて分母に使う方法もあるんで すが、マジで売上のなかった月があると破綻するんですよね。そこ が大丈夫でしたら、countif(売上の書いてある範囲,"<>0")ってのも 試してみて下さい。
その他の回答 (3)
- maron--5
- ベストアンサー率36% (321/877)
>ですので5=1、6=2、7=3・・・・4=1 >と、値を定義つける事は出来るのでしょうか? ◆上のようにするだけなら =MONTH(EOMONTH(TODAY(),-4)) ★EOMONTH関数は、アドイン関数です ★「ツール」→「アドイン」→「分析ツール」にチェックしてから使用してください
- n-jun
- ベストアンサー率33% (959/2873)
エクセルで毎月の複数シート合計から平均値を年間途中の分で出したい>< http://okwave.jp/qa4300623.html 元ログはこちらですよね。 ようは今月が何月であろうとデータの個数を分母にしては?と回答したのですが、 5~8月にデータがあって9月以降にデータがないのか、或いは"0"表示されているのかで混乱しました。 今一つシートの状況が不明なので続けませんでした。
補足
お気づき下さり有難う御座います。 現在では9月以降は0が表示されています。 色々ご迷惑おかけしますが宜しくお願いします。
- mshr1962
- ベストアンサー率39% (7417/18945)
5月を1(ヶ月目)として設定するのであれば =SUM(今年度の売上合計)/(MOD(MONTH(TODAY())+7,12)+1)
補足
早速の御回答有難う御座います。 この回答式で行くと =SUM(今年度の売上合計)/(MOD(MONTH(TODAY())+7,12)+1) で9月度に売上が入った場合は正確に表示されました しかし8月度までの場合は =SUM(今年度の売上合計)/(MOD(MONTH(TODAY())+7,12)) で+1を消さなければ正確な平均値が出ません 同様に10月は =SUM(今年度の売上合計)/(MOD(MONTH(TODAY())+7,12)+2) としなければなりません。 こちらの質問の仕方も悪かったのですが 現在の売上合計/消化した月間数 というのを毎回数式に手を入れず行いたいのです ですので現在は =SUM(現在の売上合計)/4(この4は毎月入れ替えてます:消化した月間数のこと) としています。 これを数式をいじる事無く平均値が出るようにしたいのです。 何分無知でご迷惑おかけしますが宜しくお願いします。
補足
お答えいただき有難う御座います 早速試してみました。 =SUM(売上合計)/MONTH(EOMONTH(TODAY(),-4)) という形で入れたのですが現在は5~8月分までのデータしか入っていない状態でこの数式を入れると5か月分の平均値が出るようになりました。単純に-5にしてみると正しい平均値が出るのですが 他の月に数字を代入すると全く別物の平均値で無い数値が出てしまいます。 私の説明でわかりにくい点も多々あるでしょうがご指導賜りますよう御願申し上げます。