- ベストアンサー
Excel2010 ワーストランキングの作り方
- Excel2010を使用して売上のワーストランキングを作る方法について質問があります。
- ネットで検索して見つけた方法ではうまくいかず、どの関数を使えばいいのかわからない状況です。
- Excel初心者のため、詳しい説明をお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
分かり易くパソコンに負担の掛けない方法は作業列を作って対応することです。 シート1のG2セルには次の式を入力して下方にドラッグコピーします。 =IF(F2="","",RANK(F2,F:F,1)+ROW(A1)/10000) ここでRANK関数の引く数の1はワーストを選ぶ場合でベストを選ぶ場合には0とします。 H2セルには次の式を入力して下方にドラッグコピーします。 =IF(G2="","",RANK(G2,G:G,1)) そこでシート2にお求めの表を作るとしてA1セルにはワーストと入力して5位場でを表示したい場合にはB1セルに5と入力します。 A2セルからD2セルまでには順位、日付、商品、利益の文字を並べます。 A3セルには次の式を入力してD3セルまで横にドラッグコピーしたのちに下方にもドラッグコピーします。 =IF(ROW(A1)>COUNT(Sheet1!$A:$A),"",IF(INT(INDEX(Sheet1!$A:$H,MATCH(ROW(A1),Sheet1!$H:$H,0),7))>$B$1,"",IF(COLUMN(A1)=1,INT(INDEX(Sheet1!$A:$H,MATCH(ROW(A1),Sheet1!$H:$H,0),7)),INDEX(Sheet1!$A:$H,MATCH(ROW(A1),Sheet1!$H:$H,0),IF(COLUMN(A1)=2,1,IF(COLUMN(A1)=3,3,6)))))) 最後にB列を選択して右クリックし「セルの書式設定」の「表示形式」で好みの日付表示に設定します。 以上で終了ですが、上の操作ではワーストの場合のランクを表示しますが、ベストのランクを表示する場合にはシート1のG2セルに入力されている式でRANKU関数の引数を1から0にして(次の式にして)下方にドラッグコピーします。操作はこれのみです。 =IF(F2="","",RANK(F2,F:F,0)+ROW(A1)/10000)
その他の回答 (1)
- keithin
- ベストアンサー率66% (5278/7941)
もっと普段使いの関数だけで計算してみましょう。 シート1のG1に「ベスト」と記入 G2に =IF(F2="","",COUNTIF(F:F,">"&F2)+COUNTIF($F$2:F2,F2)) と記入、以下コピー シート1のH1に「ワースト」と記入 H2に =IF(F2="","",COUNTIF(F:F,"<"&F2)+COUNTIF($F$2:F2,F2)) と記入、以下コピー いわずもがなですがG列H列は、勿論邪魔にならないZ列とかBB列とかに配置して作成します。 シート2とか別のシート(ベストやワーストの表のシートで十分)に配置しても全然問題なく出来ます。 一方A列やB列を空けて配置できると、下記の関数でもっと簡単なVLOOKUP関数で計算できるようになるのでモアベターです。 ベストの表のB3は =IF(ROW(B1)>MAX(Sheet1!G:G),"",INDEX(Sheet1!A:A,MATCH(ROW(A1),Sheet1!G:G,0))) と記入、以下コピー。 ワーストの表のB3は =IF(ROW(B1)>MAX(Sheet1!H:H),"",INDEX(Sheet1!A:A,MATCH(ROW(A1),Sheet1!H:H,0))) と記入、以下コピー。 商品や利益も全く同様に計算します。 各表の順位は改めて利益からRANK関数で求めてみてください。
お礼
遅くなってすいません。 回答ありがとうございます。 こちらもとても参考になりました。 同じ表を作るにも色々な方法があるのですね。 もっともっと勉強して理解できるようにしていきます。 ありがとうございました。
お礼
遅くなってすいません!! 初めての質問で回答いただけるか不安でしたが、 早々の回答とても感謝しています。 ワーストの作り方もとても参考になりました。 ただまだ理解は出来ていないため、 理解できるようにもっと勉強していきたいと思います。 ありがとうございました。