
日付の範囲を指定して最大値を求める方法はありますか?
7月1日から9月30日までの範囲で各月ごとに、
測定値の最大値を出したいと思っています。
ところがMAX関数を使うと、
3ヶ月間の間の最大値を出してしまい、
各月ごとに最大値を出すことができません。
もしも可能であれば、各月ごとに最大値を出す方法を教えてください。
私の希望のやり方としては、毎日事に当日までの最大値を出したいと思っています。
7月10日であれば、7月1日から7月10日までの最大値であり、
8月10日であれば、7月分は一切含まない、
8月1日から8月10日までの最大値を出したいと思っています。
No.5ベストアンサー
- 回答日時:
#2 jindon です。
長々と説明するのは好きではありませんが。
提示した配列数式の簡単な説明です。
1.A列の日付はシリアル値で入力されていることが条件です。
2.日付の並びは範囲内(A1:1:100)であれば、ランダム(前後しても)でかまいません。(日付がシリアル値だから)が、年をまたぐ(年の違った同月日付がある)場合は数式を下記に変える必要があります。
=MAX(IF((((YEAR(A2:A100)=YEAR(TODAY()))*MONTH(A2:A100)=MONTH(TODAY()))*(A2:A100<=TODAY())),B2:B100))
また、範囲を拡大する場合はA1:A100、B2:B100を同等に拡大してください。
A1からA100までの日付で
月がMONTH(TODAY()):今月 で、且つ
<=TODAY():今日までのB列の最大値を返します。
No.4
- 回答日時:
(1)A列に日付が入っているとします。
正式な日付シリアル値であること。即ち2004/7/14のような入れ方で入れてあること。文字列などは不可。(2)A列の日付順にデータが並んでいること。
最低月ごとに纏まっていて、月の順序ではあること
でも良さそう。
(3)例えばB列に最大数を考えるデータがあるとします。B列以外の場合は(5)の式が変る。
(4)C列(どの列でも空き列であれば良い)に
=MONTH(A1)といれて、下方向に複写します。これでそのデータの月の数字が出ます。
(5)D1に
=MAX(OFFSET($D$1,MATCH(MONTH(A1),$B$1:$B$70,0)-1,0):D1)
と入れて下へ複写します。
これでD列各行は同じ月の最上行から自分の行までの(B列計数の)最大数を表示します。
(6)$B$1:$B$70の70はA、B列データのデータ入力可能性のある最下行で置換えてください。
十分にテストして見てください。データの各行組み合わせで結果が変る問題ですから。
まあしかし、関数による解は、試行錯誤と思いつき的な手法が要ります。
VBAで組めば思いつく通りのロジックで組めます。
(A)直前までの最大値を覚えておいて、それと比べる
(B)月が変ったか毎行判別して、変れば最大値を0にリセットして(A)をすれば良い。
やはり関数のみでは無理があるようですね。
といっても、皆さんのやり方でもうまく出来ましたが、
今後はマクロなども勉強したいと思います。
No.3
- 回答日時:
こんにちは。
maruru01です。日付がA列、データがB列にあるとします。
(1)月ごとの最大値
=MAX(IF(TEXT(A1:A50,"yyyymm")="200407",B1:B50))
と入力して、[Ctrl]+[Shift]+[Enter]で確定します。
(数式の両端に「{}」が付いて、配列数式になります。)
これで、2004年の7月のデータの最大値が表示されます。
数式中の「200407」で年月を指定します。
現在の年月なら、数式中の「"200407"」を、
「TEXT(TODAY(),"yyyymm")」
に変更して下さい。
(2)ある日付までのその月のみの最大値
ある日付をD1に入力するとして、
=MAX(IF((A1:A50>D1-DAY(D1))*(A1:A50<=D1),B1:B50))
と入力して、やはり[Ctrl]+[Shift]+[Enter]で確定します。
どちらもデータ範囲は、適宜変更して下さい。
MAX関数は範囲のみしか指定できないと思っていました。
でも色々な使い方があるんですね。
創意工夫というか、今後はVBAも覚えます。
本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【関数】3つのセルの中で最新...
-
【マクロ】数式を入力したい。...
-
【マクロ】変数に入れるコード...
-
エクセルの関数について
-
【マクロ】excelファイルを開く...
-
エクセルのリストについて
-
【マクロ】実行時エラー '424':...
-
【マクロ】左のブックと右のブ...
-
Office2021のエクセルで米国株...
-
【マクロ】元データと同じお客...
-
エクセルのVBAで集計をしたい
-
【マクロ】【相談】Excelブック...
-
vba テキストボックスとリフト...
-
【マクロ】【配列】3つのシー...
-
他のシートの検索
-
【画像あり】オートフィルター...
-
エクセルシートの見出しの文字...
-
LibreOffice Clalc(またはエク...
-
【関数】=EXACT(a1,b1) a1とb1...
-
Dir関数のDo Whileステートメン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】元データと同じお客...
-
エクセルの関数について
-
【画像あり】オートフィルター...
-
エクセルのVBAで集計をしたい
-
エクセルのリストについて
-
【マクロ】数式を入力したい。...
-
【マクロ】【相談】Excelブック...
-
Office2021のエクセルで米国株...
-
【マクロ】実行時エラー '424':...
-
他のシートの検索
-
エクセルの複雑なシフト表から...
-
【マクロ】【配列】3つのシー...
-
vba テキストボックスとリフト...
-
【マクロ】左のブックと右のブ...
-
【マクロ】変数に入れるコード...
-
エクセルシートの見出しの文字...
-
【マクロ】別ファイルへマクロ...
-
【関数】同じ関数なのに、エラ...
-
Amazonでマイクロソフトオフィ...
-
ページが変なふうに切れる
おすすめ情報