• ベストアンサー

Excelの質問

  A   B 1山田 65 2佐藤 77 3田中 77 4小林 90 Aの列を生徒の名前、Bの列をテストの点数とします。上位三名の名前をC1、C2、C3に書き出したいのですがうまくできません。また、この例のように点数が同じ人がランクインしている場合は五十音順になるようにもしたいのですがやり方が分かりません。どなたか教えてくれないでしょうか。

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

  • ベストアンサー
  • yosifuji20
  • ベストアンサー率43% (2675/6115)
回答No.3

VBAを使わなくても通常のマクロでできますね。 50音順にしたいのならば、名前の次にヨミカナのセルを設けないとうまくいかないですね。 A   B    C 名前  ヨミカナ 点数 これで、ツール、新しいマクロの記録、に入って データ、並べ替え、キー C,B マクロの終了 と指定すれば、点数、ヨミカナの順に並んだデータが得られます。 このマクロを一度作れば直からはデータ入力の範囲を変えない限り、自動的に結果が得られます。

その他の回答 (2)

  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.2

VBA使っていいなら、 ・Bを基準に降順ソート ・A列の上から3つを書き出し で上位3名の抽出はできます。 五十音順は「名前の読み」の入力列がないとできません。 ちなみにこの列をCに置いた場合、ソート処理を ・Bを第1、Cを第2基準にしてソート に置き換えることで「同点は50音順」になります。

回答No.1

VLOOKUP関数でできると思いますよ。 参考にならなかったらすみません!!

関連するQ&A

  • エクセルで2つの条件を元に

    エクセル2007で名簿を作っています。 1ヶ月ごとにメンバーの順が変わります。 シート1(番号順に名簿を作りました)   A  B   C  1 1     山田 2 2     木村 3 3 副長 佐藤 4 4     鈴木 5 5 班長 田中 6 6     長田  シート2(こちらがメンバーに配る名簿です)   A   B  C   D 1 班長    1    3 2 田中    山田  鈴木 3 4 副長    2    4 5 佐藤    木村  長田 A2に田中,A5に佐藤を選んでくるのはvlookupで成功しました。 質問したいのは C列D列に上記の番号のようにシート1の名前を入れていきたいのですが,田中,佐藤の分を抜いた上で番号の若い順に選んできたいのです。 どのような関数をどのように使えば成功するでしょうか。  

  • エクセルで同じ言葉が入っているセルの中でのランクづけ 

    エクセルで同じ言葉が入っているセルの中でのランクづけ  いつもお世話になっています。 このようになっている表があります。 A      B       C       D         E 001    田中     りんご     3.8 002    山田     りんご     2     003    佐藤     なし      3.1 004    鈴木     桃       1.2 005    小林     なし      0.8 006    大田     りんご     3.5 007    加藤     桃       2.4 008    磐田     桃       1.9 のようにA列に数字B列に名前C列に言葉D列に数字が入っているのですが、E列に 「「りんご」を選んだ人の中でのDの数字の順位」を入れたいのです。 具体的には A      B       C       D         E 001    田中     りんご     3.8        1 002    山田     りんご     2         3 003    佐藤     なし      3.1        1 004    鈴木     桃       1.2        3 005    小林     なし      0.8        2 006    大田     りんご     3.5        2 007    加藤     桃       2.4        1 008    磐田     桃       1.9        2 となってほしいのですが、可能でしょうか?ランクは数字の大きい方が上位です。 よろしくお願いします。

  • エクセルで、次のような自動入力をしたい

      A    B    C    D   E  ・・ AA 1 田中 鈴木 佐藤          山田 2 鈴木 山田              海岡 3 田中 佐藤              佐藤 というような表があり、AAの列に名前を入力したとき、 D1に「山田」、C2「海岡」と、その行に関してAA列に新規の名前が入力されたときにD1,C2に自動入力することは、VBAで簡単にできますか? 3列目には「佐藤」さんがすでいるので入力不要です。 よろしくお願いします。(マクロ初心者です)

  • エクセルで・・・

    エクセルで以下のシートがあります。 A   B  C  D 小林  ●  ●  ● 田中 佐藤  ●     ● このシートで、B/C/D列に数にかかわらず、一つでも『●』が入っていたら、1とカウントしたいのです。上のシートでいけば、小林は『1』、田中は『なし』、佐藤は『1』で、合計『2』とカウントしたいのです。どのような関数を使えばいいでしょうか?宜しくお願い致します。

  • エクセルで

    以下のようなシートがあります。 A   B   C 01   小林  (1) 02   佐藤  (2) 03   田中  (1) 04   本多  (1) 05   近藤  (2) A列⇒個人別番号(上から下に大きな番号になる) B列⇒名前 C列⇒グループ 以上のシートをもとに、別のシートに、『グループ(1)』と『グループ(2)』の名簿を作成したいのです。名簿のイメージは以下の通りです。 A列      B列 グループ(1)   グループ(2) 小林      佐藤 田中      近藤 本多 名前は、個人番号の小さい順番で並べていきたいのです。理想は関数で作成したいと考えています。宜しくお願い致します。

  • 同じ行に混在している別々の項目の抜き出し

    Excelにて困りごとです。 同じ行に、例えばA列に「佐藤」「田中」「山田」の氏名がランダムに何回も(例えば100行ランダムに)書いてあり、B列に毎回のテストの点数、C列にテストを受けた日付が記載してあるとします。 これを各受講者ずつ抜き出して、佐藤さんの場合はD列に点数、E列に日付、田中さんはF列に点数、G列に日付、というように並べるには、どういう関数を使えばいいでしょうか?

  • エクセルのデータ並べ替え(抽出)の方法

    エクセルのデータ並べ替え(抽出)の方法 を教えてください。 下記のようなデータがあるとします。   A    B    C   D 1 田中  東京  千葉  福岡 2 山田  京都  滋賀 3 佐藤  奈良  青森  USA 4 鈴木  カナダ 愛媛 A列は名前、B列以降は文字列です。B列以降はC列までの行、D列までの行とさまざまです。重複セルはありません。 これを下記のように並べ替えたいです。   A    B    C   D 1東京  田中 2千葉  田中 3福岡  田中 4京都  山田 5滋賀  山田 6奈良  佐藤 7青森  佐藤 8USA   佐藤 9カナダ 鈴木 10愛媛  鈴木 こういうことは可能でしょうか??? 教えてください。 よろしくお願いします。

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

    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

  • excel 重複したデータのコピー

    例えばこんなデータがあるとします。 名前  値 鈴木  1 佐藤  2 佐藤  5 小林  2 田中  3 田中  1 田中  2 斉藤  0 山田  4 山田  2 というデータから 佐藤  2 佐藤  5 田中  3 田中  1 田中  2 山田  4 山田  2 という感じで名前が2つ以上あるデータだけ抽出・コピーをしたいのですが、 どういう風にすれば出来るでしょうか。

  • エクセルにて特定のセルを判別する方法

    エクセル(一応2007を使用しています。)で、 下記のような表にてテスト結果の集計をする際、   A     B      C 1名前 クラス 点数 2鈴木    A 3田中    A 4佐藤    B 5森山    B C2からC5までに直接テストの点数を入力するのですが、その際に、 例えば、C2セルを選択している間だけ、A2の鈴木のセルの色が変わったりするようなことはできますでしょうか? 実際の表は、点数はC列ではなくもっと右にあるのでA列の名前と離れているので選択しても誰の名前の行を選択しているのかわかりにくいので困っていました。 よろしくお願い致します