• ベストアンサー

前月のランキングの抽出をしたい

Excelで例えば以下のようなシートがあり9月のC2に前月のランキングを抽出したい場合、どのような関数を使えばよろしいでしょうか?ちなみに情報番号はユニークです。 sheet9月 A        B  C ランク 情報番号 前月のランキング 1      145 2      212 3     5553 4     4669 sheet8月 A        B ランク 情報番号 1     5553 2      145 3      354 4     2730

  • hikson
  • お礼率41% (139/338)

質問者が選んだベストアンサー

  • ベストアンサー
  • Admiral
  • ベストアンサー率19% (65/330)
回答No.2

No.1です。 ごめんなさい。間違えてしまいました。 正しくは、 セルC1=前月のランキングとして、 sheet9月のセルC2 =INDEX(sheet8月!A2:A5,MATCH(B2,sheet8月!B2:B5),1) です。

hikson
質問者

お礼

ありがとうございます。下記の説明で大筋理屈が分かりましたので、その後、試行錯誤の末、上記と同じ結果になりました。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

(データ)Sheet5のA1:B5 ランク 情報番号 1 5553 2 145 3 354 4 2730 Sheet6のA1:B5とC1:C5(関数の結果) ランク 情報番号 前月のランキング 1 145 2 2 212 ランク外 3 5553 1 4 4669 ランク外 (関数式) C2に=IF(ISERROR(MATCH(B2,Sheet5!$B$2:$B$5,0)),"ランク外",MATCH(B2,Sheet5!$B$2:$B$5,0)) といれ、C3:C5に式を複写する。 Sheet5!$B$2:$B$5の$B$5は最下行に修正すること。 (結果) 上記のC列の通り。 Sheet5は順位の順に並んでいるものとしている。

hikson
質問者

お礼

なるほど、これはパーフェクトですね。エラーをランク外にしてしまうわけですね。ありがとうございます。

  • Admiral
  • ベストアンサー率19% (65/330)
回答No.1

sheet9月のセルC1 =INDEX(A:A,MATCH(B1,sheet8月!B:B),1) でどうでしょうか。 MATCH(検索値,検索範囲) で検索範囲内で検索値に一致するセルの行番号を返します。 INDEX(範囲,行番号,列番号) で指定するセルの値を返します。

hikson
質問者

お礼

ありがとうございます。簡潔でよく理解できました。

関連するQ&A

  • Excelで特定も文字を含む行全てを、別のシートに抽出する方法を教えて

    Excelで特定も文字を含む行全てを、別のシートに抽出する方法を教えてください。 Excel2007で名簿を作成しています。 それぞれに、ある条件で「A」「B」「C」と3つに分類しています。 それぞれの分類ごとに、別シートに一括して抽出する方法をご教示ください。 例 Sheet1には (所属名)(コード)(氏名)(コード)(資格)(コード)(年数)(ランク)など14項目あります ※コードの一部には入力規則を使用したブルダウンで選択したり、lookup関数で、数字を入力すると所属名が表示されるようになっています 抽出条件となるランクは、年数のセルが●●以上であれば「A」、●●以下であれば「B」という関数を使用しています。 名簿に入力するごとに、「A」「B」「C」と別のシートに抽出させたいのです。 こちらのサイトでいろいろ検索し参考に試してみましたが、抽出できませんでした。 関数でもマクロでもいいので、抽出する方法を教えてくださると大変嬉しいです。 宜しくお願い致します。

  • Excelにおけるデーター抽出

    Excelのシートに記載されている内容は次の通りです。 (1) セルA5~A60の間に1~56の昇順の番号 (2) セルB5~B60には氏名 (3) セルC5~C60には○、×、△の記号 このシートからC列が ○ の記号が付与されている者だけの氏名を別のシートのB7~B**の間に抽出するのですが、抽出したシートの行に空白ができないようにするには式をExcel関数で作成することは可能でしょうか? 若し、不可能でしたらマクロで行う場合のプログラムを教えて下さい。

  • エクセルで検索と抽出

    マイクロソフトエクセル2003で Aさん   100   1月 Bさん   101    Cさん   102   1月 Dさん   103    Fさん   104   1月        から抽出 Aさん   100 Cさん   102 Dさん   103 とういうデーターから1月と記入がある人だけど別のシートの抽出したいのですが何か良い関数またはマクロなどありましたらご指導お願いします。

  • エクセルで抽出なんですが。。。

    エクセルで抽出なんですが。。。 1つのファイルにAというシート Bというシート があります。 それぞれのシートの中に共通した受注番号を振ってる列があります。 Bのシートでその受注番号の行に確定した金額をいれたら、 Aのシートにも反映させたいのですが、 どういう関数をつかえばよろしいでしょうか? 場所は決まっていませんので、 共通の項目(受注番号)を条件に使いたいと思ってるのですが・・・ すみませんが、よろしくお願いします。

  • エクセルで前年同日・前月同日を呼び出したい

    エクセルで、当月の日毎の売上データを作成しています。 比較をするために、前年同日の売上をB2に、前月同日の売上をC2に呼び出したいのですが、どのような関数を使用すれば良いでしょうか。 sheet1 A列に前年度の日々の売上 sheet2 A列に前月の日々の売上 が入っています。 よろしくお願いします。

  • エクセルRANK関数の同率順位を別表に抽出する時

    お世話になります。 エクセル2003を利用しています。初心者なので教えていただきたく存じます。 以下文面のようにランキング表を作りました。 RANK関数を利用してランキングを出し、順位表にTOP5(重複していても)まで出したいと思っています。 A列にA店~Z店までの名前(A店という名前は仮です)が入っており、 B列に上から結果数字がランダムに入力がされており、 C列にRANK関数を使って順位がその結果の横に数字として反映されています。 B列の順位の数字が大体1~20程度までの数字が記入されており、C列のRANK関数の結果が当然ですが重複して順位が表示されている状態です。 別表を作成して1~5位のランキング表を作り、A列に入っている店名とを表示させたいと思っております。 1位と2位は単独であったので店名はINDEXとMATCH関数を使ってきれいに抽出できたのですが、 3位以下は重複しているようで#N/Aと表示されてしまいます。 表示の仕方として「あいうえお順(A~Zの若い順)」で表示できればと思っております。 無知で恐縮なのですが、情報不足の点等あればご指摘いただきたく存じます。 お詳しい方、ご教授宜しくお願い致します。

  • Excel INDEX関数ズレて抽出される

    INDEX関数で行列番号取得にMATCH関数を使用したときにズレてしまう。 定例のミーティングの参加表を作成しようとしています。 シートの構成は添付画像の通りです。 Sheet1 定例のミーティングの参加表 巡回Aは月ごとに担当者が変わる。 Sheet2 巡回Aの月別の担当表 巡回Aの担当表を用意して、COUNTIF関数で参加表の氏名が巡回Aのリストに含まれていない場合(カウント0)は空欄にし、0以外の場合、INDEX関数で列番号のところにMATCH関数をネスト、MONTH(TODAY())+1とし、ex. 8月なら翌月の9月に該当する列番号を抽出して巡回Aの出席を月が変わると連動するようにしたいです。 =IF(COUNTIF($B$22:$B$29,$B3)=1,IF(INDEX($C$22:$N$29,MATCH($B3,$B$22:$B$29,0),MATCH(MONTH(TODAY())+1,$C$20:$N$20,0))=0,"",INDEX($C$22:$N$29,MATCH($B3,$B$22:$B$29,0),MATCH(MONTH(TODAY())+1,$C$20:$N$20,0))),"") 職場のExcel2016では列がズレてしまい、抽出ができないです。 Excel365では問題なく抽出ができました。 2016でズレるのは何故でしょうか。 詳しい方居ましたらご教授下さい。 よろしくお願い致します。

  • Excel2010 ワーストランキングの作り方

    Excel2010を使用しています。 売上のワーストランキングを作りたいのですが、作り方がわからず困っています。 普通のランキングは作ることができたのですが、ワーストランキングの作り方がわかりません。     A    B    C   D   E   F  1 日付  時間  商品 売価 減価 利益  2 01/10 10:20  ○   100  60   40  3 01/11 10:25  ×   200  140   60  4 01/12 10:21  △   150  50   100  5 01/14 11:00  □   250  190   60  ・  ・  ・ 300 シート1にこのような表があります。 そして別のシートに     A    B    C   D   E   F  1          利益ベスト5  2 順位  日付  商品 利益  3  1   01/12  △  100      4  2   01/11  ×   60  5  2   01/14  □   60  6  3   01/10  ○   40 これはネットで検索して ランキングのシートのA3~A6には =IF(シート1!$F$2="","",IF(RANK(LARGE(シート1!$F$2:$F$300,ROW(A1)),シート1!$F$2:$F$300)>5,"",RANK(LARGE(シート1!$F$2:$F$300,ROW(A1)),シート1!$F$2:$F$300))) と入れたら順位を自動で表示できるようになり、 B3~B6には =IF($A$3="","",INDEX(シート1!$A:$A,1000-LARGE(INDEX((LARGE(シート1$D$3:$D$300,ROW(A1))=シート1$D$3:$D$300)*1000-ROW(シート1$D$3:$D$300),0),COUNTIF($B3:$B3,$B3)))) と入れたら日付が表示されるようになりました。 C列、D列もB列の =IF($A$3="","",INDEX(シート1!$A:$A,1000-・・・ のAをCとFに変えることで商品・利益が表示されるようになりました。 そこでこれのワーストランキングを作りたくてLARGEをSMALLに変えればできるのかと 思っていましたができませんでした。 正直上の関数も完全には理解できていません。 ネットで探しても自分のやりたいことにあう記事がなく質問することにしました。 Excel初心者で説明も下手ですが、よろしければお願いします。 自分の作りたいのは下のようなものです。     A    B    C   D   E   F  1          ワースト5  2 順位  日付  商品 利益  3  1   01/10  ○   40  4  2   01/14  □   60  5  2   01/11  ×   60  6  3   01/12  △   100 よろしくお願いします。      

  • 一致する項目が最も多いものを抽出する方法は?

    エクセルの初心者です。 関数で今日の注文を入力すると過去の注文から 今日の注文と項目が一致する または一致する項目が最も多い注文番号を抽出する方法をおしえてください。 Sheet1 注文番号 0924 項目1 A-1 項目2 A-5 項目3 B-3 項目4 C-7 上が今日の注文とします。 これを下の過去の注文リストと照合させて一致するまたは一致する項目の最も多い 注文番号を抽出したいのです。 Sheet2 注文番号 0920  0919 0918 0917 項目1 A-2 A-1 B-2 A-1 項目2 A-5 B-1 B-3 A-5 項目3 B-3 C-1 B-1 項目4 B-4 D-1 B-3 項目5 C-7 項目の数量は日によって変わります。 Sheet1と2は同一シートにすることも可能です。 抽出する項目は上からABC順などに並んでいないと不可能でしょうか。 ご多忙の中申し訳ございませんがよろしくお願いします。

  • エクセルで指定月の最小値を抽出したいです

    日頃からお世話になっております。 今回教えていただきたいのは、 エクセルにて指定月の最小値の 抽出方法が分からず困っております。 まずは、簡易化したエクセルが下記です。 ---------- シート1 ----------   A       B 1 2014/5/12 15.1 2 2014/5/23 20.8 3 2014/5/30 10.1 4 2014/6/11 25.6 ---------- シート2 ----------   A(指定月) B(最大値)  C(最小値) 1 2014/5    20.8      ● 2 2014/6    25.6      ● ---------- 上記の構成で、B1に 下記のコードを入れると 正しく最大値は抽出されます。 =MAX(INDEX((YEAR(シート1!A$1:A$65640)=YEAR(A1))*(MONTH(シート1!A$1:A$65640)=MONTH(A1)*シート1!B$1:B$65640,)) しかしながら、シート2のC1に 上記のコードのMAXをMINに 書き換えるだけでは最小値は 抽出してくれません。。。 何かほかに手立てはありますでしょうか? ご教授よろしくお願いいたします。>< ※ちなみにエクセルは Excel2007を使用しております。

専門家に質問してみよう