- 締切済み
MAX関数
A,C,E,G,I,K,M列に名前、B,D,F,H,J,L,列に2桁から3桁の数字が約300名分入力されているシート内の最大数値と最低数値を取り出す関数ご教示お願いします。AとB列、CとD列・・・2列だけならMAX関数とMATCH関数で取り出すことは出来たのですが、複数の列で全体から取り出すことが出来ません。よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
データ例 a 11 d 34 b 23 e 26 c 4 f 35 最高と最小は =MAX(A2:D4) =MIN(A2:D4) と 範囲に文字列の列を含めてもできる。 ーーー その左の名前は、MATCH関数は1列しか検索しないので 別の方法を考える。 ユーザー関数 Function mxr(a, x) r = a.Find(what:=x).Row mxr = r End Function Function mxc(a, x) c = a.Find(what:=x).Column mxc = c End Function を定義して 最大は =INDEX($A$1:$D$100,mxr(A2:D4,MAX(A2:D4)),mxc(A2:D4,MAX(A2:D4))-1) で f 最小は =INDEX($A$1:$D$100,mxr(A3:D5,MIN(A3:D5)),mxc(A3:D5,MIN(A3:D5))-1) で c ーーー しかし最大(小)値が2セルある場合は無力。
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 私の考えすぎでしたらごめんなさい。 質問の中にMAXとMATCH関数で・・・ とありましたので もしかして、最大値・最小値を検索し、その氏名も一度に表示したいのかな? と思って顔をだしました。 一応そういうことだとして ↓の画像で 最大値・最小値のセルは単純に 最大値O2セルは =MAX(A2:L1000) 最小値O3セルは =MIN(A2:L1000) としています。 そして、最大値・最小値の氏名を返す数式は P2セルに =IF(O2="","",INDEX($A$2:$L$1000,MAX(INDEX(($A$2:$L$1000=O2)*ROW($1:$999),)),MAX(INDEX(($A$2:$L$1000=O2)*COLUMN(A:L),))-1)) という数式を入れ、オートフィルで下へコピーすると 最大値・最小値の氏名が返るようにしてみました。 尚、数式は1000行まで対応できるようにしています。 以上、参考になれば幸いですが、 今、書き込みながら「余計なお世話かも・・・?」って感じがしてきましたので その場合は読み流してくださいね。m(__)m
- okormazd
- ベストアンサー率50% (1224/2412)