『VLOOKUPで同じ値になってしまう』(大学生)
色々調べた結果わからなかったので、ここで質問させていただきます。
学生の成績表を作っています。成績表データをもとに、成績表完成という別シートに整理しようとしています。
(成績表データの構成)
A列 学籍番号
B列 クラス C列 曜日 D列 時限 E列以降 国語、数学などの点数
827人分のデータがあり、順番はバラバラです。
成績表完成シートの構成は同じで、学籍番号が数字順になっています。
=VLOOKUP(A2,成績表データ!$A$2:$M$827,2,FALSE)
上の式をB2のセルに入れて下にオートフィルすると同じ値になります。列番号の部分をCOLUMN(B$1)にして横にオートフィルしてから下にオートフィルすると、クラス、曜日、時限は同じ値になり、教科ごとの点数は変化します。
$の固定はいろいろ試したので間違っていないと思います。学籍番号は全員違います。範囲もあって言うと思います。
VLOOKUP関数を使いなさいとのことなのであまり形は変えずに考えてほしいです。
< 使用 Excel:unknown、使用 OS:unknown >
何が知りたいのかよくわからない 下にフィルするなら、2を別に書き換えればいいんでないか 意味も分からず楽しようとしない方がいいと思う (不明) 2025/11/06(木) 07:19:31
自動再計算されていない感じがするので F9キーを押して再計算させるとどうなりますか?
ファイル→オプション→計算で 自動再計算が自動になっているか確認してください Excelですよね? (´・ω・`) 2025/11/06(木) 07:34:16
ファイル→オプション→数式→計算方法の設定→ブックの計算 でした。 「自動」が選択されているか確認してください (´・ω・`) 2025/11/06(木) 08:40:10
想像が多分に含まれますが、次の式で試してみてください。どうなりますか?
=VLOOKUP($A2,成績表データ!$A$2:$M$827,COLUMN(B$1),FALSE)
右にコピーする場合、A列を固定($A2)しなければいけないので?
的外れでしたら無視してください。
(メジロ) 2025/11/06(木) 09:23:21
私も計算手法の関係かとおもいますが、気になるのは > 教科ごとの点数は変化します。 と言う点です。
別の可能性として、元々のデータがそういうデータではないかと。 例えば、同一クラスのひとが連続して登録されていることは普通な気がします。 よく確認されてはいかがかと思います。 # メジロさんのご指摘の観点も含め、質問者さんの記述には不確実性が伴うので # 割り引いて考える必要があります。 (xyz) 2025/11/06(木) 10:16:45
検索値を学生番号にしたいなら、
「$A2」となるはずです。
Excelというのは、表計算ソフトです。
表計算というのは、
全てのセルが「プラスの足し算」と「マイナスの足し算」で成立しているという意味です。
例えば、C5セルは、「A1セルから「行」はプラス方向4、「列」はプラス方向2」動いたところ、
A1セルは、「C5セルから「行」はマイナス方向4、「列」はマイナス方向2」動いたところ
と表せます。
Excelを起動てワークシートが表示されたときから、
「全てのセルから、全てのセルに対して上記例のように
コンピュータ上で計算ができている」
これが表計算ソフトです。
ここで、「相対対象」と「絶対参照」という概念が出てきます。
例で示したのは、「相対参照」で、上記の通り表計算は「相対参照」が基本です。
従って、「$」を付けるのは、「相対参照」にしたくない所という事になります。
「行方向或いは列方向に対して、基本の相対参照をしないでください」という命令を「$」で表しているのです。
列方向に動いてほしくないときは、列名の前に「$」
行方向に動いてほしくないときは、行番号の前に「$」
を付けるという事になるのです。
>VLOOKUP関数を使いなさい
という言葉から、Excel勉強中の方と思われます。
(業務で使用しているならこのようなしては考えにくいです)
と感じたので、基本概念について解説してみました。
>あまり形は変えずに考えてほしいです。
他の方がご指摘されている通り、
「何をしたいか」「どこがわからないのか」
という部分があいまいで、「他の人にやってもらう」だけになっている気がします。
(匿名) 2025/11/06(木) 10:54:22
>827人分のデータがあり、順番はバラバラです。 >学籍番号が数字順になっています。 成績表データを成績表完成の数字順(学籍番号)に整理したいということですね。
成績表データ
|[A] |[B] |[C] |[D] |[E] |[F]
[1] |学籍番号|クラス|曜日|時限|国語|数学
[2] | 10|A-1 |火 | 1| 18| 43
[3] | 2|A-4 |水 | 2| 11| 24
[4] | 9|A-8 |木 | 3| 82| 66
[5] | 3|A-6 |金 | 4| 27| 65
[6] | 6|A-2 |土 | 5| 64| 37
[7] | 8|A-10 |日 | 6| 31| 54
[8] | 5|A-5 |月 | 7| 54| 89
[9] | 7|A-9 |火 | 8| 54| 54
[10]| 4|A-7 |水 | 9| 25| 45
[11]| 1|A-3 |木 | 10| 45| 71
成績表完成
|[A] |[B] |[C] |[D] |[E] |[F]
[1] |学籍番号|クラス|曜日|時限|国語|数学
[2] | 1|A-3 |木 | 10| 45| 71
[3] | 2|A-4 |水 | 2| 11| 24
[4] | 3|A-6 |金 | 4| 27| 65
[5] | 4|A-7 |水 | 9| 25| 45
[6] | 5|A-5 |月 | 7| 54| 89
[7] | 6|A-2 |土 | 5| 64| 37
[8] | 7|A-9 |火 | 8| 54| 54
[9] | 8|A-10 |日 | 6| 31| 54
[10]| 9|A-8 |木 | 3| 82| 66
[11]| 10|A-1 |火 | 1| 18| 43
B2=VLOOKUP($A2,Sheet1!$A$2:$F$11,COLUMN(B$1),FALSE)
>=VLOOKUP(A2,成績表データ!$A$2:$M$827,COLUMN(B$1),FALSE) 横方向、縦方向にドラッグするとこのようになりませんでしたか。
|[A] |[B] |[C] |[D] |[E] |[F]
[1] |学籍番号|クラス|曜日|時限|国語|数学
[2] | 1|A-3 |#N/A|#N/A|#N/A|#N/A
[3] | 2|A-4 |#N/A|#N/A|#N/A|#N/A
[4] | 3|A-6 |#N/A|#N/A|#N/A|#N/A
[5] | 4|A-7 |#N/A|#N/A|#N/A|#N/A
[6] | 5|A-5 |#N/A|#N/A|#N/A|#N/A
[7] | 6|A-2 |#N/A|#N/A|#N/A|#N/A
[8] | 7|A-9 |#N/A|#N/A|#N/A|#N/A
[9] | 8|A-10 |#N/A|#N/A|#N/A|#N/A
[10]| 9|A-8 |#N/A|#N/A|#N/A|#N/A
[11]| 10|A-1 |#N/A|#N/A|#N/A|#N/A
検索値「A2」はB列はいいのですがC列以降は検索値「B2,C2,...」と 変化しますのでエラーになります。 対策として「$A2」のようにA列を固定にするのがポイントです。(回答有り)
(IT) 2025/11/06(木) 11:05:50
>わからないことが多く焦っていたため
では、焦らずに1つ1つ解決していきましょう
>クラス、曜日、時限は同じ値になり
何と同じでしょうか?
例えば、
「成績表データ」シートの1行目と同じ値がすべての行に表示される?
「#N/A」がすべての行に表示される?
>教科ごとの点数は変化します。
変化とは?
何から何に変化するのですか?
例えば、
「成績表データ」シートの学籍番号と
「成績表完成」シートの学籍番号が一致した行の
教科ごとの数値が正しく表示されている?
という様に、具体的に書いてもらえませんか?
少なくとも、こところ
学籍番号が一致した行ちらで10人分のデータ、3教科分でテストしたの
クラス、曜日、時限、3教科分(国語、数学、英語)
の値が表示されています。
(匿名) 2025/11/06(木) 14:35:43
>>成績表データを成績表完成の数字順(学籍番号)に整理したいということですね。 この件についてはどうなんですか。 (IT) 2025/11/06(木) 15:30:16
(教授) 2025/11/06(木) 15:45:25
(外野) 2025/11/06(木) 17:35:07
「少なくとも、こちらで試したところ」と打ったつもりだったのですが…
(匿名) 2025/11/07(金) 09:06:15
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.