• ベストアンサー

エクセルの抽出。

かなり基本的なことかもしれません。 関数により、ランクを振り分けたものを別表に転記するにはどうしたらいいですか? たとえばA列に名前、B列に得点、C列に判定として、 別表に1判定のもの、2判定のもの、3判定のものと転記したいのですが。 A名前 B得点 C判定 test1 98 1 test2 60 2 test3 55 2 test4 40 3 test5 90 1 別表 A列1判定 B列2判定 C列3判定 test1 test2 test4 test5 test3 よろしくお願いします。

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

  • ベストアンサー
noname#204879
noname#204879
回答No.2

》 かなり基本的なことかもしれません そうでもありません。考え方によっては短い式でも可能になります。    A    B   C 1  名前  得点  判定 2  test1    98   1 3  test2    60   2 4  test3    55   2 5  test4    40   3 6  test5    90   1 7 8  別表 9  1判定 2判定 3判定 10 test1  test2  test4 11 test5  test3 C2: =SUMPRODUCT((A$10:C$11=A2)*COLUMN(A2:C2))

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

一例です。 前提ですが、元表はSheet1、抽出表はSheet2、sheet2の1行目はセルの書式設定のユーザ定義で0"判定"としてsheet1のC列の数値が入力されているものとします。 sheet2のA2に以下の数式を設定、縦横にコピーして下さい。 尚、配列数式の為、入力完了時にshift+ctrl+enterキーを同時押下して下さい。 =IF(COUNTIF(Sheet1!$C:$C,A$1)>ROW(A1)-1,INDEX(Sheet1!$A:$A,SMALL(IF(Sheet1!$C$2:$C$1000=A$1,ROW(Sheet1!$C$2:$C$1000),99999),ROW(A1))),"")

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VBAで成績表を作りたい

    VBAについては全く初心者ですが、自分なりに調べて成績表を作ってみました。 A列個人の名前、B・C・D列にそれぞれ1~3回目のテストの総得点が入っていとして、E列に得点のランク別にA~Mの成績を出します。 Select Case を使って成績を出すようにしたいのですが、1~3回目のテストの中で、1番高得点だったもので判定したいのです。 また、全員が3回ともテストを受けているとは限らず、得点が空欄になる人もいます。 具体的には A列   B列    C列   D列   E列 ○さん  580点 620点 530点  C列の得点で判定 △さん  550点 580点 600点  D列の得点で判定 □さん  600点      590点  A列の得点で判定 1回分のテストの得点だけでは Select Case を使って上手く判定できたのですが、3回分の中から選択させる方法がわかりません。 関数を使う方法もあると思いますが、今回はVBAを使って作りたいと思います。 よろしくお願いします!

  • エクセル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の若い順)」で表示できればと思っております。 無知で恐縮なのですが、情報不足の点等あればご指摘いただきたく存じます。 お詳しい方、ご教授宜しくお願い致します。

  • エクセルでの3D計算(串刺し演算)

    エクセルで串刺し計算し、 合計を求めることができると思いますが、 RANK関数で順番をつけることは可能ですか? 例えば、 sheet1のA1~A10に名前、B1~B10に得点が入っています sheet2のB1~B10に名前、C1~C10に得点が入っています このような状態で、得点の降順で順位をつける場合、 どうしたらよいでしょうか? 教えてください。よろしくお願いします。

  • Excelの順位と抽出

    A列にはRANK関数でつけた順位 B列には氏名 C列には点数 D列にはVLOOKUP関数で順位昇順の氏名 があります。 今回はA、C、Dさん退席、次はB、Gさん退席…と出入りが激しい場合、 このままでは人数が多いと頭の中でいない人を排除して見る事になって D列が分かりづらくて仕方ありません。 存在している人を抽出する方法はありませんか?

  • 検索から抽出

       A  B  C 1  あ  10  20 2  い  11  21 3  う  12  22 ・ ・ ・ 11 ア  51  101 12 イ  52  102 13 ウ  53  103 A列物品名、B列個数、C列単価の上記シ-トがあった時 別表に物品別に検索及び抽出の関数を教えて下さい。 Vre2003です。

  • Excel:関数の使い方

    宜しくお願い致します。 画像を添付しますので、どうやれば出来るのかを教えてください。 【前】 この表は、名前(B列)・得点(C列)が出ています。 この表を使ってやりたいことは・・・ 【後】 得点(C列)が    ●50未満はC    ●50以上75未満はB    ●75以上はA で判定。 さらにその結果を・・・・ 上の行から判定を見ていき、G4からG8は連続してC判定で、その群の最低点がどこかを示す。 (連続した判定の中の、最低得点を示したいのです) これは無理でしょうか? 判定はIF文で出来ます。 最低得点は、MIN関数を上手く使えば示せるのでしょうか。 教えてください。宜しくお願い致します。

  • Excelで最高値の抽出&合計値の算出

    お世話になります。 Excelで、たとえば A 10 500 A 1 300 A 2 1000 A 1 400 B 55 8000 B 10 1200 B 1 10 C 60 12000 C 1 20 という表があったとします。 これで、A、B、Cそれぞれについて、B列の最大値と、C列の合計値を出したいと思っています。つまり A 10 2200 B 55 9210 C 60 12020 とアウトプットしたいと思うのです。 これをやるには、どのような関数やマクロを使ったらいいでしょうか? 関数はごく基本的なものが使えますが、マクロは何回かしか使ったことがありません。 しかし、マクロでないと実現できないということであれば、勉強してみたいと思います。 なにとぞよろしくお願いいたします。

  • Excel RANK関数 条件に一致する数値の順位

    EXCELのRANK関数で条件に一致する数値の順位を出したいのですが、そのような関数は出来ますか? A列 B列 C列(RANK) A  10  1 B 9 1 A 8 2 B 7 2 A 6 3 B 5 3 A列とB 列からC列を求めたいのですが、できますか?

  • エクセル 条件つきで最小値を求めたいです

    A列に200名を超える生徒の名前が入っています。 B列に計算テストの結果が入っています。 計算テストは何度も行われており、A列に何度も同じ生徒の名前が出てきます。A列に入っている生徒の名前は1000を超えます。 A   B 田中  42 佐藤  48 鈴木  52 佐藤  56 田中  72 鈴木  60 鈴木  23 などです。この中で鈴木君のとった得点の最小値は23点ですが、それを求める数式を知りたいです。 『rankif』とか『minif』みたいな関数があればいいのですが、ないですよね。ちなみに、私が使用しているパソコンはexcel2000です。 他のシートやC列から右に生徒を判別する関数を入れていけば、私の知っている知識でも可能なのですが、関数を多用すると重くなりますし、避けたいです。また、もともとのデータの入力の仕方を変えたらいいのですが、それはできない状態です。 =MIN(IF(A2:A7="鈴木",B2:B7),false) みたいな感じかなと式を立てたのですが、うまくいきません。上の状態で、セルに23と表示されるには、どうすればいいか教えてください。お願い致します。m(_ _)m

  • エクセルで抽出の関数は?

      A B C   ----------- 1 A 1 あ 2 A 2 い 3 B 3 う 4 B 1 え 5 C 2 お 上記のようなA1からC5までの表があるとします。 例えばA6に「A」B6に「2」と入力した時に、C6に「い」と表示したいのですが、どのような関数を使って表示すればいいのですか? A列とB列の条件が合致するものをC列に表示する行を作成したいのです。教えてください。  

専門家に質問してみよう