- ベストアンサー
EXCELで利益の多かった月と値を表示させたい
A列には月をB列には利益を表示させてます。 利益が一番多い月をC1、その月の利益をD1に表示させたいのですがどうしたらよいでしょうか? 例 A B C D 1-1月-010--3月--017 2-2月-005 3-3月-017 4-4月-001 5-5月-008
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
B列のデータの表示が気になります。もしもB列の書式設定を文字列にして010のように入力をしているのでしたらこれまでの皆さんの方法では答えを求めることはできませんね。 その場合には、C1セルには次の式を入力して、式を確定する段階でCtrl+Shiftキーを押しながらEnterキーを押します。 =INDEX($A:$B,MATCH(MAX(VALUE($B:$B)),VALUE($B:$B),0),COLUMN(A1)) 上式に括弧がついた形で数式バーに表示されます。その後にC1セルの式をD1セルにオートフィルドラッグします。 B列のデータはできれば書式の表示形式を標準のままで入力し、その後に表示形式のユーザー定義で種類の窓で000のように入力することで010などの表示にすることがよいでしょう。そうすることでこれまで皆さんが提案されている式を使うことができますね。
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17069)
最大値を求めるぐらい判るでしょう。MAX関数。 この行のA列を取るのにどうするか。 値を指定して、同じ値の行を求めるのはMATCH関数。 (ただし一番上の行だけしか求めてくれない。) そしてその行の左列はINDEX関数で持ってくる。 思考プロセスはこういうもの。 指定した値のある行の左列にあるが、利益高の右列に在ればVLOOKUPのFALSE型で求められるが、左列に在るので使えないのだ。其れでINDEX関数を使う。 D2に =MAX(B2:B6) 第2行目からデータとする C2に =INDEX($A$1:$A$6,MATCH(D2,$B$1:$B$6,0),1) 範囲はA2tとB2からでもよい。 関数解説書には良く載っているパターンだよ。
お礼
遅くなりましてすみません。 回答ありがとうございました。
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! 一例です。 データは1行目~12月の12行目にあるとします。 C1セルに =INDEX(A$1:A$12,MATCH(MAX($B$1:$B$12),$B$1:$B$12,0)) (エラー処理していません) として隣のD1セルまでオートフィルでコピーではどうでしょうか? 尚、余計なお世話かもしれませんが・・・ 万一最大値が複数ある場合(こういうことはまずないと思います)は C1セルに =IF(COUNTIF($B$1:$B$12,MAX($B$1:$B$12))<ROW(A1),"",INDEX(A$1:A$12,SMALL(IF($B$1:$B$12=MAX($B$1:$B$12),ROW($A$1:$A$12)),ROW(A1)))) これは配列数式になりますので、もしこの画面から数式をC1セルにコピー&ペーストする場合は C1セルに貼り付け後、数式バー内で一度クリックします。 編集可能になりますので、Shift+Ctrlキーを押しながらEnterキーで確定 それを列方向と行方向にオートフィルでコピーしてもOKだと思います。 以上、長々と失礼しました。m(__)m
お礼
遅くなりましてすみません。 回答ありがとうございました。
- aokii
- ベストアンサー率23% (5210/22062)
B列を元に降り順に並べ替えてはいかがでしょう。
お礼
遅くなりましてすみません。 回答ありがとうございました。
お礼
遅くなりましてすみません。 回答ありがとうございました。