エクセル2007でソートが上手くできない

このQ&Aのポイント
  • エクセル2007で平均点をキーにして降順で並び替えたいが、うまくできない。
  • 番号から点数までのデータにVLOOKUPを使用し、平均点はAVERAGE関数を使用している。
  • 範囲選択後、データの並び替えで「平均点」を最優先キーにして降順に指定している。
回答を見る
  • ベストアンサー

エクセル2007でソートが上手くできない

番号 名前 性別 コース 点数・・・ 平均点 1    A   男   A   10     70 2    B   女   B   20     65 3    C   男   A   30     50 という風にして平均点をキーにして降順で並び替えたいのですが、 上手く降順になりません。 やり方としては番号~平均点の行も含め範囲選択し、 データ-並び替えから最優先されるキーを「平均点」、順序を「降順」にしています。 番号~点数までは別のシートやファイルからVLOOKUPを用いて飛ばしています。 平均点はAVERAGE関数を用いて出しています。 原因がわかる方は回答をお願いします。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.3

ん? 番号だろうが何だろうが,同じ事です。 VLOOKUP関数が検索値にしている「ナイショの何か」を, ・元のリストからコピーして貼り付ける ・元のリストからコピーして型式を選んでリンク貼り付ける(ただし,元のキーが別のシートにある場合) 意味が判らない?ときは: いま =VLOOKUP(A2,Sheet1!A:D,2,FALSE) のように書いていたら そのA2(A列)に,いまA2の式が参照しているオリジナルデータを,元のリストからコピーして貼り付ける,と言ってます。 それでも判らない時は 1)あなたが実際に使っているVLOOKUPの式 2)そのVLOOKUPの式が見ている「検索値」のセルに記入してある式 を,アナタの問題の実際のエクセルの数式バーから実際のまま編集せずコピーして,ご相談に添えてご質問を投稿し直して下さい。

その他の回答 (2)

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

番号をキーにしてVLOOKUPしているのでしたら,その番号の数式がマズイと,そういう状況が起こります。 方法1) 番号欄を生データにする。たとえば数字の1,2,3…がホントの番号なら,その番号を数字として記入し直す または元データの番号(生データ)をそのままコピーして貼り付ける 方法2) 番号欄の「元データ」が「別のシートにある」場合 番号欄の元データのセル範囲をコピーする 問題の表の番号列に,「型式を選んで貼り付け」の「リンク貼り付け」で貼り付ける

little_bob
質問者

補足

記入ミスをしてしまいました。 番号は必要ありませんでした。

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

データの入っている行を考えたときにその行だけのセル番号を使った式でAVERAGE関数はできていることでしょう。また、平均点以外の項目でも該当する他のシートの行だけからデータを引っ張っていれば問題はないでしょう。しかしVLOOKUP関数などで例えば引数の中にROW関数などが入っている場合には正常な並べ替えができなくなることも考えられますね。また番号の件ですがその番号はどのように入力されたものでしょう。関数などを使って入力されている場合には要注意ですね。

little_bob
質問者

補足

当方の記入ミスです。 番号は必要ありませんでした。

関連するQ&A

  • 関数で求めた2つのセル範囲内の、平均値を出したい。

    日の出から日の入までの範囲の平均温度を求めたいのですが、日の出時刻と日の入り時間はVLOOKUP関数によって求めています。 A列に時刻、B列に温度が並んでいます。 求めた時刻が例えば、日の出6:00(セル番号 A360)、日の入18:00(セル番号 A1080)となっている場合。 当然ながら、=AVERAGE(A360:A1080)と入力すれば可能ですが、 =AVERAGE(VLOOKUP関数数式:VLOOKUP関数数式)はエラーとなります。 =AVERAGE(VLOOKUP関数数式,VLOOKUP関数数式)は2点のみの平均温度となってしまいます。 どのような方法で解決できるでしょうか? あるようで見つからないのですが、指定した範囲内に一致する数値があった場合にそのセル番号を返すような数式はあるのでしょうか?

  • エクセルの行列方向での並び替え

    エクセルのデータを下記のように並べ替えるのにはどうしたら宜しいのでしょうか?   1  2  3          1  2  3 A 1.23 2.85 1.11    A 2.85 1.23 1.11 B 12.34 15.72 15.57   B 15.72 15.57 12.34 C 16.07 16.99 15.93   C 16.99 16.07 15.93 ・   ・ ・       並び替え→      ・ ・   ・ E 16.94 14.87 13.87           E 16.94 14.87 13.87 上記のように行単位降順の並び替え方法を教えて下さい。 並び替えオプションで列単位として優先されるキー3行については並び替えができますが、データを一括に並び替えしたいのです。  

  • エクセルの関数

    60人位のあるテストの点数で平均を求めた後、平均点以上と平均点以下の集団に分けて、おのおのの平均を求めたいのですが、良い方法はありませんか?平均は、アベレージで求められアベレージの数はわかるのですが、アベレージ以下の人数とかは、求め方がわかりません。宜しくお願いします。

  • エクセル関数VLOOKUPで教えてください。 

    エクセル関数VLOOKUPで教えてください。  シ-ト1にA列から学籍番号・B列に氏名・C列に点数(数値)を記入してあります。 シ-ト2に順位表を作成しA列にLARGE関数を使用してシ-ト1から点数降順(昇順)に表示しました。シ-ト2のB列に学籍番号 C列に氏名 をVLOOKUP関数でシ-ト1から抽出したいのですが、点数が同点の場合に当該複数名を表示せず単一名になってしまいます。VBA・マクロを使用せずに関数のみで同一点数獲得者の氏名を個別個々に表示させる方法を教えてください。

  • エクセルで統計

    エクセルで統計の方法を教えてください。 あるクラスで5教科の試験を行ったのですが、その点数の結果をグラフ化したいのです。 クラスの人数は80名(男女混合)で、各教科50点満点です。 エクセルには、各人の性別、各教科の点数が入れてあります。 これをクラスの性別ごとに、各教科の平均点を出したいのです。 そして、それをレーダーグラフ化したいのです。 できるだけもとのデータの並び替えをせずに、容易な方法でどのようにすればよいでしょうか? よろしくお願いします。 統計ソフトとして、エクセル統計2002は所持しています。(使用したことはありませんが・・)

  • エクセルで複数シートに記載のデータを集計する方法

    エクセルで下記【各シート】のように複数のシート毎にデータが記載してあり、これを【集計イメージ】のようにひとつのシートにまとめたいと思っています。  【各シート】〔※記載している各項目・列の配置は同じ。但し、記載している行がばらばらです。〕  < Sheet1 >  < Sheet2 >  < Sheet3 > ・・・・<Sheet50>    A : B     A  : B     A : B  1名前:田中  1住所:大阪  1性別:男  2住所:東京  2名前:佐藤  2名前:山田  3性別:男    3性別:女    3住所:群馬  【集計イメージ】  <      集計シート      >    A     : B : C  : D  1シート番号:名前 :住所 :性別  2    1   :田中 :東京 :男  3    2   :佐藤 :大阪 :女  4    3   :山田 :群馬 :男    ・    ・ そこで、各シートの行が順序ばらばらになっているため、シート名に連続性(Sheet1・Sheet2・Sheet3・・・・SheetNのようにシート番号のみかえる形)を持たせたうえで、以下の式のようにVLOOKUP関数にて各項目を検索し、オートフィルにてすべての各シートの値を集計しようとしたのですが、#valueエラーが出てしまい上手くできません。   【式 B2=VLOOKUP("名前","Sheet"&$A2&"!1:65536",2) 】 ここで、ご質問なのですが、  (1)恐らく、範囲("Sheet"&$A2&"!1:65536")が間違っているのだと思いますが、どのように修正すればよいでしょうか?  (2)また、VLOOKUP関数の他に良い方法がございましたら、合わせて教えていただければ助かります。 よろしくお願いします。

  • こんな表で一気に平均値出せますか?【エクセル】

    こんな表で一気に平均値出せますか?【エクセル】 例えば、1行目から1万行目まで100人の人のあるデータが100行ずつ入っているとします。 A列=人名、B列=点数とします。 A列の1行目から100行目までを仮に【No.1】として、B列の1行目から100行目までランダムに点数が入っています。そして、この【No.1】の平均点を出したくて、C列の1行目に=AVERAGE(B1:B100)として、平均点を出します。 次に、【No.2】として101行目から200行目までのデータの平均点をC列の101行目に出します。 用は、このように【No.1】~【No.100】のそれぞれの平均点を出したいのですが、簡単にできる方法はありますか? オートフィルタで【No.1】~【No.100】まで、それぞれ抽出して、式を入れればいいのですが、何しろ数が多いので、もっと簡単にできる方法があるか聞いてみました。 実際のデータは、100人以上いるし、データもそれぞれ100ぴったりではありません。 分かりにくい説明かもしれませんが、よろしくお願いします。

  • エクセルのソートについて

         A B C   男 1 2 2 E 女 2 1 3   計 3 3 5   男 2 1 2 F 女 3 2 2   計 5 3 4   男 1 1 2 G 女 2 3 2   計 3 4 4 このようなエクセルの表で計をキーにソートしたいのですができますか? それとも配列自体を変えるべきでしょうか?

  • EXCEL VBAでのソートについて

    Excel VBAでデータの並び替えをしようと思っています。 キーが3つまでならうまくいくのですが、4つ目のキーを同じように指定すると、「アプリケーション定義またはオブジェクト定義のエラーです」とメッセージが出てしまいます。 一度にできるソートのキーは3つまでしかだめなのでしょうか? 以下、ソースです。 Selection.Sort Key1:=Range("A2") _ , Key2:=Range("B2") _ , Key3:=Range("C2") _ , Key4:=Range("D2") _ , Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ SortMethod:=xlPinYin Key4の記述をしなければうまくいきます。 どうぞご指導をよろしくお願いします。

  • Excelによる男女別平均年齢

    全体の平均年齢は分かりますが、男女別の平均年齢が分かりません。 よろしくお願いします。 _A__ B 1_男_50 2_男_60 3_女_40 4_女_45 5_女_60 6_男_55 ーーーー 7_男=? 8_女=? 9_全体=average(B1:B6)

専門家に質問してみよう