[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ExcelのMAX関数について』(まーちゃん)
こんにちは。以下のような内容のセルがあります。
A B C D E 1 規定 3 2 3 生産 成功 失敗 生産率 MAX関数 4 4 3 1 75% FALSE 5 2 2 0 100% FALSE 6 5 1 4 20% FALSE
ここでD4からD6までの最大値を出したいと思います。
条件:生産個数が規定個数を上回っていること
そこで、E4のセルに以下のような関数を入力しました。
「=AND($B$1<=A4,D4=MAX($D$4:$D$D6))」
しかし、全てFALSEになってしまいます。生産率の列は100%が
最大値で、でもそれの生産は2と規定に
達していないので全て偽になるのは分かります。
当然A5を3以上であればE5がTRUEになるのは分かります。
要するにこの場合の問題は、表の中で規定に達した中の最大値
(この表では75%のE4)がTRUEになってほしいのです。
これを実現するにはどうしたらよいでしょうか?
最終的には条件付き書式で該当セルに色をつけたいのですが
関数の書き方さえ分かればそこはクリアできます。
[エクセルのバージョン]
Excel2007 ※ただし、保存形式は互換モードで保存しています。
[OSのバージョン]
Windows Vista
よろしくお願いします。
作業列を使用して 「既定個数以上の生産率」の数字を出して それをもとに設定してはいかがでしょうか。
(ていおう)2009/11/7 1:00
条件付き書式なら ↓ でできませんか?
=AND(A4>=$B$1,D4=MAX(IF($A$4:$A$6>=$B$1,$D$4:$D$6)))
セルに入力するのではなく条件付き書式で試してください。 2003では一応確認しました。2007でどうなるか未検証。 範囲もあまり広いようだとどうなるか分かりません。 しいてお勧めするつもりもありません。
なおセルに直接入力して検証するときは 数式を入力後 Ctrl+Shift+Enter で確定します(配列数式) あとは通常通りオートフィル
(sky)
条件付き書式で直接設定するなら
D4をアクティブセルにしてD4:D6を範囲指定して
数式 =MAX(($A$4:$A$6>=$B$1)*$D$4:$D$6)=D4
でも設定は可能です。 2007で検証済みです。
(ていおう)2009/11/7 1:54
> =MAX(($A$4:$A$6>=$B$1)*$D$4:$D$6)=D4
↑ 提示例で言うと、5行目が 75% でも色がつくのでは?
(sky)
> ↑ 提示例で言うと、5行目が 75% でも色がつくのでは?
おっしゃるとおりでした。 失礼しました。 m(_ _;)m
(ていおう)2009/11/7 2:11
ていうか何も無理して条件付き書式に 配列数式なんか入れることないですね。ムダなだけ。 どこか一つのセルに入れておいて、それを参照すれば済むことです。
どこのセルでもいいんですが D1セル =MAX(IF(A4:A30>=B1,D4:D30)) 範囲はテキトー
Ctrl+Shift+Enter で確定
条件付き書式: =AND(A4>=$B$1,D4=$D$1)
ついでに DMAX 関数を使った例です。
A B C D E F
1 規定 3 75% 生産
2 >=3
3 生産 成功 失敗 生産率
4 4 3 1 75%
5 2 2 0 100%
6 5 1 4 20%
F1: 生産 F2: =">="&B1 D1: =DMAX(A3:D30,D3,F1:F2) ← 通常通り Enter のみで確定(範囲テキトー)
条件付き書式: =AND(A4>=$B$1,D4=$D$1)
DMAX 関数も直接条件付き書式に入れることができますが ムダなのでやめといた方がいいでしょう。
(sky)
ていおうさん、skyさんの回答はいずれも役に立ちました。
とりあえず作業セルに配列数式で実現できそうです。
ありがとうございました。またお願いします。
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.