Excelで月別(条件)での最大値を求める関数はどのように指定するか教

解決済みの質問

Excelで月別(条件)での最大値を求める関数はどのように指定するか教

Excelで月別(条件)での最大値を求める関数はどのように指定するか教えてください。
画像のように、月日が書かれたB列のセルを参照して、右隣にあるF5のリストにあわせて、H5に月別の最大値が表示できる関数はどのように指定すればよろしいでしょうか?
また、1月・2月・3月・・・と順に書かれた表の月の下へ最大値を表示する場合も併せて教えてください。
例)→ 1月  2月  3月・・・・・
    ¥128 ¥98 ¥248・・・・・
よろしくお願いいたしますm(__)m

投稿日時 - 2010-07-29 23:48:25

連想キーワード:

QNo.6073958

すぐに回答ほしいです

質問者が選んだベストアンサー

補足情報です。

F5セルのリストや一覧表の月の数字が全角と半角が混ざっている(あるいは全角で入力されている)場合は、以下のようにASC関数で半角に統一して検索するようにしてください。

=IF(F5="","",MAX(INDEX((MONTH($B$3:$B$100)&"月"=ASC(F5))*$D$3:$D$100,)))

投稿日時 - 2010-07-30 09:22:39

お礼

なるほど、ありがとうございます。これであれば簡単に最大値を参照できますね!早速できました。補足ですが、入力リストが1月・2月・・・と月なしの数字の1・2である場合、関数の&"月"の部分は空白にすればよろしいのでしょうか?・・・月を消して空白にすると参照する事ができました。

投稿日時 - 2010-07-30 21:47:19

ANo.3

2人が「このQ&Aが役に立った」と投票しています

[  前へ  |  次へ ]

ベストアンサー以外の回答(5件中 1~5件目)

ANo.6

(年は区別しなくていいのかな)
数式案で解決されているようですが、
ピボットテーブルも試してみてください。

0.1 B2セルを選択
0.2 データ - ピボットテーブル・・・
1. 次へ
2. 範囲:$B$2:$D$18 (自動入力)
3.1 [レイアウト]
3.2 月日→列、金額→データ
3.3 金額をダブルクリックして最大値
3.4 [OK]
3.5 [完了]
4.1 列エリアのどこでもよいが日付を右クリック
    グループと詳細の表示 - グループ化
4.2 月(必要に応じて「年」も)反転 [OK]
5. 総計は不要なので「総計」を右クリック - 表示しない
データに変更があったら データの更新の必要があります。

投稿日時 - 2010-07-31 07:33:31

ANo.5

回答No1です。
回答No2の方がスマートな方法を提案していますのでそれを使ってください。

投稿日時 - 2010-07-31 06:31:21

ANo.4

>補足ですが、入力リストが1月・2月・・・と月なしの数字の1・2である場合、関数の&"月"の部分は空白にすればよろしいのでしょうか?

その通りです。
数式の意味はB3:B100セルの月がF5と等しいD3:D100セルの値の中での最大値を求めていますので、数字が半角ならASCの部分も不要になります。

#今回は極めて簡単な数式で最大値を求めることができるので式の修正も簡単ですが、このようなご質問では、「たとえば」ではなく、実際のデータ例をできる限り正確に示さないと、的確な回答ができなくなりますので注意してください。

投稿日時 - 2010-07-30 22:48:24

ANo.2

B列の日付の月がF5セルと一致する行のD列の値の中で(商品名に関係なく)最大値を求めたいだけなら以下のような数式になります。

=IF(F5="","",MAX(INDEX((MONTH($B$3:$B$100)&"月"=F5)*$D$3:$D$100,)))

表の月の下に最大値を表示する場合も同じ数式になります。

投稿日時 - 2010-07-30 09:15:29

ANo.1

H5セルには次の式を入力してから、式を確定する段階でCtrl+Shiftキーを押しながらEnterキーを使って確定します。その後に下方にオートフィルドラッグします。

=IF(F5="","",MAX(INDEX(D:D,MATCH(LEFT(F5,LEN(F5)-1)*1-1,MONTH(B$1:INDIRECT("B"&COUNT(B:B))),1)+1):IF(LEFT(F5,LEN(F5)-1)*1=MONTH(INDIRECT("B"&MATCH(MAX(B:B),B:B,0))),INDEX(D:D,MATCH(MAX(B:B),B:B,0)),INDEX(D:D,MATCH(LEFT(F5,LEN(F5)-1)*1,MONTH(B$1:INDIRECT("B"&COUNT(B:B)))),1))))

投稿日時 - 2010-07-30 08:26:47

補足

ご回答、ありがとうございます。 何か複雑な関数なので何を参照しているのかが分かりません(すいません)全く同じ関数を入力しましたが参照する事ができませんでした。何か私がやり方を間違っているのでしょうか??

投稿日時 - 2010-07-30 21:43:40

あわせてチェックしたい
  • 月別(条件)での最大値を求める関数はどのように指定するか教えてください ...
  • 数学 関数 最大値 ...
  • 最大値を求める関数 ...
PR
【回答募集中】花粉にひと言、物申す![ 詳細 ]

OKWaveのオススメ

教えて弁護士さん!

お金の悩みQ&A特集はこちら