①一番販売した営業所の営業所名を表示させたいです。
この場合は営業所Dを表示させたいのですが、関数はありますか?
②できれば、こちらも知りたいです。
■抽出項目
ベスト順位 1位、2位、3位
ワースト順位 1位、2位、3位
このような関数はありますか?
Excelで「RANK」という関数があります。
RANK(数値,範囲,順序)
ヘルプによると
「順序に従って範囲内の数値を並べ替えたとき、数値が何番目に位置するかを返します。」
セルにRANK関数と売上を指定すればベスト順位はこのままで出せます。ワーストは順序を0以外にすれば
出せますね。
営業所名は、RANKの結果でソーティングしても表示きますし、LOOK-UPみたいな参照関数を利用すれば
かっこよく表示できますね。
使い方はこちらのサイトなどを参考にしながら、応用してみてください。
それほど難しくはないと思います。
http://www.eurus.dti.ne.jp/~yoneyama/Excel/nyumon/seiseki/sei-n0...
①
=INDEX(A2:H2,,SUMPRODUCT((E4:H4=MAX(E4:H4))*COLUMN(E4:H4)))
② ①のMAXのところをLARGE関数やSMALL関数に変えます。
例えば、上から2番目なら
=INDEX(A2:H2,,SUMPRODUCT((E4:H4=LARGE(E4:H4,2))*COLUMN(E4:H4)))
下から3番目なら
=INDEX(A2:H2,,SUMPRODUCT((E4:H4=SMALL(E4:H4,3))*COLUMN(E4:H4)))
参考
http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/max.htm#large
実際に入力してできました。解決しました。ありがとうございます。
=INDIRECT(ADDRESS(2,COLUMN()+MATCH(MAX(E4:H4),E4:H4,0)))
(1)列位置の取得
E4:H4の範囲内で最大値を保持しているセルの位置を求める
=MATCH(MAX(E4:H4),E4:H4,0)
式が入力されているセルの列番号を求めて加算
=COLUMN()+MATCH(MAX(E4:H4),E4:H4,0)
(2)行位置をあわせてアドレスを取得
営業所名は2行目に書いてあるので固定値
=ADDRESS(2,COLUMN()+MATCH(MAX(E4:H4),E4:H4,0))
(3)取得したアドレスに入っている営業所名を取得
=INDIRECT(ADDRESS(2,COLUMN()+MATCH(MAX(E4:H4),E4:H4,0)))
それぞれの式を入れて順に理解していってください。
順を追って理解します。ありがとうございます。
(1)一番販売した営業所の営業所名を表示
=LOOKUP(MAX(E4:H4),E4:H4,E2:H2)
全営業所の売上の中から最大値(MAX)を検索して
それに対応する営業所名を表示しています。
(2)順位
=RANK(E4,$E$4:$H$4,0)
上記は営業所Aのベスト順位を表示します。
E4をF4~G4に変更すると営業所B~Dのベスト順位が表示されます。
最後の0を1にするとワースト順位を表示できます。(=RANK(E4,$E$4:$H$4,1))
ありがとうございます。