拡張子が「.csv」であるCSVファイルは、データのやり取りなどによく使われます。CSVファイルの正体は、「,」(カンマ)と改行で区切られたテキストファイルです。ExcelではCSVファイルを通常のブックと同様に開くことができ、データはカンマごとに1つのセル、改行ごとに1つの行の形式でワークシート上に読み込まれます。
しかし、CSVファイルを単純にブックとして読み込んで開くと、場合によっては不都合が生じます。例えば、「1-01」といった文字列のデータの場合、Excelの“おせっかい機能”によって、「1月1日」の日付の形式(シリアル値)に勝手に変換されてしまいます。そのうえ、列の並びを変えたり、事前に加工したりして読み込みたいケースにも対応できません。
そうした問題を解消するのがこのサンプルです。読み込みたいデータはCSVファイル「data.csv」とします。Subプロシージャ「CSV読込」を実行すると、「ファイルを開く」ダイアログボックスが表示されます。目的のCSVファイルを選ぶと、A~C列に、そしてD列を飛ばして、E列にデータが読み込まれます(図1)。さらにこの例のC列では、シリアル値に勝手に変換されないよう、セルの表示形式をテキスト形式に設定しています。またD列はG1~H1の表から、C列の値に該当する料金のデータを参照するよう、VLOOKUP関数をあらかじめ入力しています。コードはリスト1になります。