- 締切済み
【エクセル/ランキング資料に前週の順位のみ反映させたい】
【エクセル/ランキング資料に前週の順位のみ反映させたい】 エクセルで、生徒のテスト点数管理をしております。 【名前】【点数】【順位】の並びで、その週の1位から順にデータが抽出されます。 その1番新しいランキングに前の週の順位を入れたいのですが 何か良い方法はありますでしょうか? ・毎週【名前】【点数】【順位】のデータは順位ごとで抽出されます。 ・そのデータに【前週の順位のみ】を加えた資料にしたいです。 ・データは約100名分×10クラスの量 関数やマクロで良い方法があれば教えてください。 100名×10クラス分を1週間毎で処理していきたいのです。 今までは、一人ひとり前回の順位を検索→手入力で作成していたのですが あまりにも時間と労力がかかるので、マクロ等でツール化したいなと思っております。 画像を添付します。 左:今週のデータ 中:前回のデータ 右:【左と中のデータを利用し作成したいデータ】 ぜひ、皆様のお力をお借りしたいので、よろしくお願いします!
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
この課題など、VLOOKUP関数を使用し名前で先週表を引けばしまいではないのか。それぐらい知っていて、それではうまく行かない、ぐらい添えて質問しては。VLOOKUP関数も知らないのはエクセルの勉強不足。 ただし氏名を苗字で扱うと同姓が居る可能性は大きいから混乱する。番号的なものを取り入れるべきだが、出来ないのかな。 先週存在しないものはこの関数でエラーになるから、適当な文字列を表示。 =VLOOKUP(今週氏名セル、先週成績順意表、先週成績順意表で順位の在る列の何列目、FALSE) 先週成績順意表はシートが別なら!でシート名を前につける。 エラーは if(not(iserror(上記関数式)),"先週いない",上記関数式) WEB(Googleなど)でVLOOKUP関数で照会すれば沢山記事や例で解説がある。
- MackyNo1
- ベストアンサー率53% (1521/2850)
- KURUMITO
- ベストアンサー率42% (1835/4283)
I2セルからL2セルまで項目名をお示しの表のように入力するとしてI3セルには次の式を入力して右横方向にオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF($A3="","",IF(COLUMN(A1)<=3,INDEX($A:$D,ROW(),COLUMN(A1)),IF(COLUMN(A1)=4,IF(COUNTIF($E:$E,$A3)=0,"前回欠",INDEX($G:$G,MATCH($A3,$E:$E,0))),""))) なお、今週のデータに名前があっても前回のデータにその名前が無いこともありますのでその場合には前回欠と表示されるようになっています。
- 前田 順一(@cocoa5575)
- ベストアンサー率19% (38/197)
携帯から見ているので、画像が良く見えないのですが、 普通~にVLOOKUP使えばデータをマージ出来るんじゃないすか…