• 締切済み

エクセルで複数ページの中から指定した値を含む行の指定したセルの値の取得方法?

エクセル2007を使用しているものですが月毎の複数のシートのランキングを表示したいのですが、そのランキングに対応した同じ行の日付を取得する方法を教えてください。 シート名が下記のような感じで月ごとに複数あります。 当月 2009年10月 2009年9月 2009年8月 ・・・ すべてのシートの形式は同じで下記のようになっています。 B列 = 日付 X列 = 損益  ・・・ B    C    D  ・・・W    X ・・・ ・ ・ 10   日付                 損益 11   10/31                12,000 12   10/24                 8,000 13   10/12                -2,000 14   10/11                45,000 ・以下1日まで続く ・ で、上記とは別のシート(集計)に下記の形式で月毎のすべてのシートのランキング(ベスト5&ワースト5)を出したいのですが  ・・・H    I     J   ・・・  O     P    Q ・ 9      ベスト5                ワースト5 10  順位   日付   利益       順位   日付   損失 11  1     8/21   82,000      1     9/11   -32,520 12  2    10/24   48,000      2    11/4   -20,100 ・以下5位まで続く ・ 損益ランキングは、 =LARGE('当月:2009年8月'!$I$11:$X$100,1)   =SMALL('当月:2009年8月'!$I$11:$X$100,1) =LARGE('当月:2009年8月'!$I$11:$X$100,2)   =SMALL('当月:2009年8月'!$I$11:$X$100,2) ・・・で出せたのですが、どうしてもランキング金額に対応した同じ行の日付が出せませんでした。 どのようにすれば日付を出すことができるでしょうか? よろしくお願いします。

みんなの回答

  • kybo
  • ベストアンサー率53% (349/647)
回答No.1

J11のセルがベスト5の1番目だとすると、I11のセルに以下の様に入力しEnter、下へこの数式をコピーします。 =INDEX(' 2009年8月'!$B$11:$B$100,MATCH(J11,' 2009年8月'!$I$11:$I$100,0))

jun_jii
質問者

補足

回答ありがとうございます。 =INDEX(' 2009年8月'!$B$11:$B$100,MATCH(J11,' 2009年8月'!$I$11:$I$100,0)) 上記の最後の「2009年8月'!$I$11:$I$100」部分は I ではなく X でしょうか? だとすると、その数式は申し訳ありませんがすでに試していて、これですと複数のページからは無理でした・・・(ランキングを複数ページから取得しているため) =INDEX('当月:2009年8月'!$B$11:$B$100,MATCH(J11,'当月:2009年8月'!$X$11:$X$100,0)) のように「当月:」を足して表示できるとうれしいのですが・・・それも出来ず・・・ 最終的に自分のレベルでできたのが回答いただいた式を IF でひたすら続けるというものだったのですが、これだと月が変わるごとにシートが増えるため、そのつど数式を追加しなければいけないため大変なので、できれば何とかならないものかと質問しました・・・ 良い方法はあるでしょうか?

関連するQ&A