• 締切済み

Exelで最大値を求めた値と別セルの品番を求める

Exelで最大値を求めた値と別セルの品番もランキング集計表で拾いたいです。INDEX,MATCH,MAXを使うと思うのですが。。。 B列の最大は=MAX(B2:B10)で”11”が求められますがどの品番かを隣のセルにランキング形式で算出したいんですが、よくわかりません。MATCHやINDEX関数を使うと思うのですが、式を教えてください。

みんなの回答

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

No.1です。 別Sheetの場合にエラーになるということですが・・・ Excelの場合、仮にSheet2のデータをSheet1に表示するには↓の画像のような感じになります。 前回同様Sheet2に作業用の列を設けています。 作業列C2セルは =IF(A2="","",RANK(B2,$B$2:$B$100)) としてオートフィルで下へしっかりコピー! そしてSheet1のA2セルは =IF(COUNTIF(Sheet2!C:C,"<="&3)<ROW(A1),"",LARGE(Sheet2!B:B,ROW(A1))) B2セル(配列数式)は =IF(A2="","",INDEX(Sheet2!$A$1:$A$100,SMALL(IF(Sheet2!$B$1:$B$100=A2,ROW($A$1:$A$100)),COUNTIF($A$2:A2,A2)))) という数式を入れ、A2・B2セルを範囲指定 → B2セルのフィルハンドルで下へコピー! これで画像のような感じになります。 尚、この数式でもエラーになるのであれば前回も書いたようにOpenOfficeの機能自体を把握していませんので、 これ以上のことはちょっと判りかねます。 この程度でごめんなさいね。m(__)m

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

回答No2です。ランク3までの数値も表示させるのでしたら、E2セルに次の式を入力して下方にオートフィルドラッグします。 =IF(D2="","",INDEX(B:B,MATCH(D2,A:A,0)))

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

ランキングといってもB列で同じ値が有った場合にはランクが3位までといっても型番が3つになるとは限りません。もっと多くなることもありますね。 それらを解決するためには作業列を作って対応することでしょう。 C2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(B2="","",B2-COUNTIF(B$2:B2,B2)/10000) そこでお求めのランク3までの型番の表示ですがD2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(C2="","",IF(RANK(LARGE(B:B,ROW(A1)),B:B)>3,"",INDEX(A:A,MATCH(LARGE(C:C,ROW(A1)),C:C,0))))

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 画像を拝見するとExcelではなく、OpenOfficeのようですね! OpenOfficeを使ったことがないので外しているかもしれませんが・・・ ↓の画像は当方使用のExcel2003での場合です。 画像では同順位がないのですが、現実問題として同順位の場合があると思います。 それにも対応できるようにしてみました。 作業用の列を1列設けています。 作業列C2セルに =IF(B2="","",RANK(B2,$B$2:$B$100)) という数式を入れオートフィルで下へずぃ~~~!っとコピーしておきます。 E2セルに =IF(COUNTIF($C$1:$C$100,"<="&3)<ROW(A1),"",LARGE($B$1:$B$100,ROW(A1))) F2セルに =IF(E2="","",INDEX($A$1:$A$100,SMALL(IF($B$1:$B$100=E2,ROW($A$1:$A$100)),COUNTIF($E$2:E2,E2)))) このF2セルは配列数式になってしまいますので、Shift+Ctrlキーを押しながらEnterキーで確定します。 数式の前後に{ }マークが入り配列数式になります。 最後にE2・F2セルを範囲指定しF2セルのフィルハンドルで下へコピーすると 画像のような感じになります。 尚、数式内の「,」はOpenOfficeの場合は「;」(セミコロン)に置き換えないとエラーになった記憶があります。 あくまでExcelでの方法ですので、ダメだったらごめんなさいね。m(__)m

chachaking
質問者

お礼

まずはopen officeでしたので失礼しました。 早速ありがとう御座います。同じように作成して( ,を;に変えて)出来ましたが、いざ本データに同じ要領でやるとうまくいきませんでした。。。それは例えば、同じブック内で別シートのデータを選択しているのには関係ないんでしょうか? 数式エラーは出ないのでうまく集計してくれると思ったのですが(笑 数量のセルにも計算式が入っているのは関係ないと思いますが。。。初心者の質問ならば失礼しました。もう少し、勉強しなおします。