• 締切済み

関数で、名簿順で入力すると同時に別シートへ

Excel関数で、名簿順で入力すると同時に別シートに成績順でそのデーターを表示する時の関数をお教え下さいませんか。ソートすることはできますが、別シートに入力と同時にできないかと思ってのことです。 例えば、こんなデーターを別シート成績順で表示させたい 1 A君 25点 2 B君 83点 3 C君 35点 4 D君 25点 5 E君 98点 7 F君 52点

みんなの回答

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.5

No.1・4です。 投稿後気づきました。 前回の「方法(2)」の場合、Sheet2のA2セル数式はもう少し簡単になります。 =IF(B2="","",INDEX(Sheet1!D:D,MATCH(ROW(A1),Sheet1!AB:AB,0))) に変更してみてください。 ※ Sheet1の作業列ABセルが目障りであれば 非表示にしておいてください。m(_ _)m

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

No.1です。 >質問したときのAの氏名が >D列にあります >質問したときのBの点数が >AA列(合計点数)にあります というコトですので、 ↓の画像のような配置でSheet2のA・B列に表示するとします。 今回は二通りの方法でやっています。 方法(1) 前回同様、配列数式の場合(Sheet1の作業用の列は不要です) Sheet2のB2セルに =IFERROR(LARGE(Sheet1!AA:AA,ROW(A1)),"") A2セルに =IF(B2="","",INDEX(Sheet1!D$1:D$50,SMALL(IF(Sheet1!AA$1:AA50=B2,ROW(A$1:A$50)),COUNTIF(B$2:B2,B2)))) A2セルは前回同様、配列数式です。 A2・B2セルを範囲指定 → B2セルのフィルハンドルで下へコピー! 方法(2) 画像のようにSheet1に作業用の列を設けます。 (画像ではAB列にしていますが、実際は使っていない列にします) Sheet1の作業列AB2セルに =IF(AA2="","",COUNTIF(AA:AA,">"&AA2)+COUNTIF(AA$2:AA2,AA2)) という数式を入れフィルハンドルでずぃ~~~!っと下へコピーしておきます。 (これで見た目は同順位のない「ランク」が表示されます) Sheet2のB2セルの数式は方法(1)と同じ数式を入れます。 A2セル(配列数式ではありません)に =IFERROR(INDEX(Sheet1!D:D,MATCH(SMALL(Sheet1!AB:AB,ROW(A1)),Sheet1!AB:AB,0)),"") という数式を入れ、A2・B2セルを範囲指定 → B2セルのフィルハンドルで下へコピー! これでも方法(1)と同じ結果になると思います。m(_ _)m

noname#204879
noname#204879
回答No.3

添付図参照 Sheet1!D2: =B2-ROW()/1048576 此れを下方にズズーッとドラッグ&ペースト Sheet2!D2: =IF(Sheet1!$A2="","",LARGE(Sheet1!D:D,ROW(A1))) 此れを下方にズズーッとドラッグ&ペースト Sheet2!A2: =IF($D2="","",INDEX(Sheet1!A:A,MATCH($D2,Sheet1!$D:$D,0))) 此れを右(B2)にドラッグ&ペースト Sheet2!A2:B2 を下方にズズーッとドラッグ&ペースト

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

別案ですが、ピボットテーブルは如何でしょうか。 挿入=>ピボットテーブル=>新規シートでOK 行に指名、集計に点数、合計結果を表示させます。 次に、点数のセルをクリックして 並び替え=>降順 にすれば成績順位に並びます。 必要に応じて、総計や空白を非表示にしてしまえば ご希望のシートになります。 データを追加入力、或いは 編集したあとであれば ピボットテーブルの更新を実行すれば 常に新しいデータに対応します。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! Excel2007以降のバージョンをお使いだとしての一例です。 ↓の画像でSheet2のB2セルに =IFERROR(LARGE(Sheet1!B:B,ROW(A1)),"") A2セルに =IF(B2="","",INDEX(Sheet1!A$1:A$100,SMALL(IF(Sheet1!B$1:B$100=B2,ROW(A$1:A$100)),COUNTIF(B$2:B2,B2)))) A2セルは配列数式になりますので、Ctrl+Shift+Enterで確定! この画面からコピー&ペーストする場合は 上記数式をドラッグ&コピー → Sheet2のA2セルを選択 → 数式バー内に貼り付け → そのまま(編集可能なまま) Ctrl+Shiftキーを押しながらEnterキーで確定! 数式の前後に{ }マークが入り配列数式になります。 最後にA2・B2セルを範囲指定 → B2セルのフィルハンドルで下へコピー! これで画像のような感じになります。m(_ _)m

ihuyi
質問者

補足

tom04様すみません、最初でしっかり言っておくべきでした。他の列にデーターがあり合計のところのみで質問してしまっていて申し訳ありません。B列からAF列にデーターがあります。行としは40行のデーターになります。その時に関数をどのように修正すればよいのか初心者でして上記の関数を見ても修正の仕方がよく分かりませんので、お教え頂ければ幸いです。勝手を言いますがよろしくお願い致します。 さらに、詳細は 質問したときのAの氏名が    D列にあります 質問したときのBの点数が    AA列(合計点数)にあります

関連するQ&A