
vistaでエクセル2007を使用しています
たとえば縦軸に
9月
1日 33 44 55
2日 63 24 75
3日 43 64 35
:
:
とあります
最終行に月平均を出しているのですが
毎月30日の時はシートの平均を
AVERAGE(D4:D33)で出して
31日の時はD33を34にしたり
また翌月は33に変更したりしているのですが
これを自動で30日の時、あるいは10月なら30日とか
計算してくれるようにすることは
可能でしょうか?
入力データから
毎月複数のシートを変更しなくてはならず
面倒といったら面倒なんです。
30日用のデータと31日用のデータに分けて作って
月によって変更しようかとも
思ったのですが毎月些細な変更があり
そうもできないのです
出来ないのでしたらしょうがないのですが
なんとかうまくできる方法があれば
お教え願えますでしょうか
No.5ベストアンサー
- 回答日時:
回答No4です。
A4セルへの入力の式は次のようにしてください。
=IF(MONTH(DATE(YEAR($A$1),MONTH($A$1),ROW(A1)))<>MONTH($A$1),"",DATE(YEAR($A$1),MONTH($A$1),ROW(A1)))
<>の前に)が一つ足りませんでした。大変失礼いたしまいた。
式の意味はA1セルのデータを使って年や月は決めていますが日にちは1日から始まるのでROW(A1)としてA4セルでは1となります。それが下の行に移るにつれて、例えばROW(A32)となった場合には自動的に月の値が次の月に変わって日にちも変わることになります。その月がA1セルの月と変わらない間は日付を表示していきますが、A1セルの日付の月とROW関数を入れた日付の月が違う(<>)場合にはセルを空白にしなさいということになります。
A1セルに2009/10/1と入力すれば10月31日までは10月で表示されますが11月になれば空白のセルにすることになります。
No.4
- 回答日時:
AVERAGE関数は数値の合計を数値の入力されているセルの数で割って求めているので30日が31日になっても問題は無いでしょう。
どうやら月の変化による月末の日にちを問題にしているようですね。
月末の日にちはうるう年などでも変わりますので年のデータも必要となります。
例えば9月と行ってもいつの年かを設定したうえで9月と表示するようにしてはどうでしょう。
月と表示するセル例えばA1セルに2009/9/1と入力してから右クリックして「セルの書式設定」を選択し、「表示形式」タブの「ユーザー定義」で種類の窓に m"月" と入力してOKします。これでセルには9月と表示されます。
そこで例えばA4セルに1日、A5セルに2日、・・・・・表示させるためにはA4セルに次の式を入力して下方にオートフィルドラッグします。
=IF(MONTH(DATE(YEAR($A$1),MONTH($A$1),ROW(A1))<>MONTH($A$1),"",DATE(YEAR($A$1),MONTH($A$1),ROW(A1)))
その後にそれらのセルの「セルの書式設定」から表示形式のユーザー定義で d"日" とすればよいでしょう。これで指定された月の月末の日にちまでが自動的に表示されます。
なお、指定された月の月末の日にちは次の式で求めることができます。
=DAY(EOMONTH(A1,0))
AVERAGE(D4:D33)関数ではデータが無い空白のセルは当然無視されてデータが入っているセルのみが平均に使われます。データが入っていなくてもその月の日数で平均を求めたい場合には次のような式になりますね。
=SUM(D4:D34)/DAY(EOMONTH(A1,0))
長々と説明しましたがご参考になりましたら幸いです。
この回答への補足
仕事が立て込み遅くなり申し訳ありません
丁寧にお教えいただきましてありがとうございます
=IF(MONTH(DATE(YEAR($A$1),MONTH($A$1),ROW(A1))<>MONTH($A$1),"",DATE(YEAR($A$1),MONTH($A$1),ROW(A1)))
参考に入力テストを行っていたのですが
上記のとおり
A1セルに行って
A4セルに式を入力したのですが
この関数に関して多すぎる因数が入力されていますと
エラーが出ます
途中の""の部分です
どのような意味なのかわからずに困っています
再度お教えいただければ幸いです
No.3
- 回答日時:
こんばんは!
すでに回答は出ていますが・・・
AVERAGE関数は空白セルや文字列のセルは無視されますので、
極端に言えばD列全てを範囲指定して
=AVERAGE(D:D)
という数式でも希望の結果は得られると思いますよ。
(D列には平均値を求めたい数値だけということが前提です)
以上、参考になれば幸いですが、
的外れなら読み流してくださいね。m(__)m
No.2
- 回答日時:
そもそも
>31日の時はD33を34にしたり
>また翌月は33に変更したりしているのですが
これはやらなきゃダメですか?
全てを31日分の範囲にしてあげても良いのでは?と思います
数値を入れなければAVEは無視してくれるので結果が変わらないはずですよ
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Microsoft Officeを2台目のPCに...
-
outlookのメールが固まってしま...
-
大学のレポート A4で1枚レポー...
-
Excelで〇のついたものを抽出し...
-
Office2021を別のPCにインスト...
-
Teams内でショートカットって貼...
-
Excel 日付を比較したら、同じ...
-
エクセル 同じ数字を他の列に自...
-
office2019 のoutlookは2025年1...
-
Microsoft Formsの「個人情報や...
-
会社のOutlookにてメールを予約...
-
ms teamsの日々のスケジュール...
-
Excel テーブル内の空白行の削除
-
別シートの年間行事表をカレン...
-
マクロ自動コピペ 貼り付ける場...
-
エクセルで質問です。 ハイパー...
-
エクセルマクロ(超初心者)
-
パソコンWindows11 Office2021...
-
Officeを開くたびの「再起動メ...
-
1つのPCに「Excel 2010」「Exc...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Microsoft Officeを2台目のPCに...
-
大学のレポート A4で1枚レポー...
-
Office2021を別のPCにインスト...
-
エクセル 同じ数字を他の列に自...
-
エクセルからメールを作れるか...
-
Microsoft365、ページ設定がで...
-
快活CLUBについて 私用で使う書...
-
パソコンWindows11 Office2021...
-
libreoffice calcで行を挿入し...
-
エクセルで質問です。 ハイパー...
-
outlookのメールが固まってしま...
-
Microsoft Formsの「個人情報や...
-
別シートの年間行事表をカレン...
-
Microsoft Formsでクイズの解答...
-
マクロ自動コピペ 貼り付ける場...
-
Excelで〇のついたものを抽出し...
-
Excel 日付を比較したら、同じ...
-
エクセルで特定のセルの値を別...
-
Officeを開くたびの「再起動メ...
-
office2019 のoutlookは2025年1...
おすすめ情報