あー、今日の無駄な2時間。
学籍番号、漢字氏名、よみ、性別 のリストをもらった。
マークシートのテストを実施する予定だからである。マークシートでは学籍番号の各桁の数字のマークを塗りつぶす。
これをスキャナで読み取って、数値にし、その数値に該当する漢字氏名をVLOOKUPでもらったリストを参照して出力させるわけだ。(下表の人名等は架空です)
簡単な関数を入力するだけなんだから、事務から入手した学籍番号、漢字氏名、よみ、性別 のリストからこの集計シートにコピペ(グレーの列)しておしまいということですぐ終了の予定だった。毎回講義終了時に行う簡単なテストの集計templateを作って置く必要がある。マークシートの読み込みは学籍番号順でないから、マークした番号から対応する氏名に変換する必要がある。学籍番号だけだとエラーがあったとき訂正が面倒だから別途氏名を書く欄も設けている。この計算をチェックする必要があるので、仮の読み取り値(黄色の列)に適当な数値を入力してみたが、VLOOKUPの出力(氏名の列)が #N/A になって出てこない。
なんでだ?というわけで引数のセルの指定がおかしい?、範囲がおかしい?指定列が間違いか?など延々と考えてしまった。
結論は上の絵の学籍番号の肌色のセルにある数字が文字列で数値ではなかったのが原因だった。中央そろえになっているのに気が付けばよかったのだが、セルの幅を無駄に大きくしたくないので狭めたので気が付かなかった。なんてこった。事務は学籍番号を数字でなく文字列で処理しているのかよ。信じられないなと、自分が気が付かなかったことを棚にあげて、他人のせいにするのが当ブログ管理人ですな。
ま、文字列でも問題ないことしかやってないからだろうな。
[ 追記 ] 2019.4.12
事務からもらったエクセルのファイルを改めて見ると、学籍番号の一番最初のセルは、数値、他にも数値が入ったセルがあるが、ほとんどは文字列であった。文字列ならセルの左上に緑の三角が提示*されるのだが、普段、数字の入ったセルは数値という思い込みがあるので、気にしなかったのだ。最初のセルは数値だったしね。うーん。気が付かなかった当方が悪いんだろうな。しかし、数値と文字列が混在しているのは何故だろ?
* 正確にはエクセルがエラーでは?としている表示。つまり数字なので文字列でなく数値にすべきでは?とエクセルが判断し警告しているわけだ。学とみ子様の思い込みを笑っているのに恥ずかしい次第です。
日付とかは別に、単純な数値を文字列で記載する利点があるのだろうか?検索したけど、わからない。