#26【Access】不要な行があるExcelのインポート
Excelユーザー必見!Accessクエリで業務効率を飛躍的に向上させる方法を、図解入りでわかりやすく解説中。
必ずチェックして、業務を効率化しよう!
エクセルのデータは、必ずしも最初のセル(A1セル)から始まっていないことがありますよね。
例えばタイトルが1行目に、年月日が2行目に、3行目から表が始まる、といった具合です。
ExcelやPower BIならPower Queryの「上位の行の削除」や「下位の行の削除」で簡単にこのわずらわしさを解消できます。
これは本当にすばらしい機能です。
こうしたデータをAccessにインポートする方法について、以下で解説します。
※通常のインポート方法はこちらから
1.結論(不可能です)
まず結論から言いますと、A1セルから始まらないExcelデータをAccessにそのままインポートするのは難しいです。
例えば、1行目にはタイトルがあり、2行目には部署名や担当者の名前があり、4行目から表が始まるといったExcelファイルは、簡単にはインポートできません。
正確に言えば、VBAと呼ばれるプログラムコードを使えば簡単にインポートできるのですが、このコンテンツでは難しいVBAの解説は省略します。
なぜなら、VBAを使わない方法で業務効率を向上させることがこのnoteの目的だからです。
では、どうにかして工夫できないか考えてみましょう。
2.アイディア1: 元のExcelを加工する
サンプルのExcelを用意しましたので、今回はこれを用いて解説します。
ダウンロードしてみましょう。
元のExcel
もし、この表をそのままAccessに取り込むと…
例えば、列の見出しを「電話番号」、「郵便番号」…といった感じに左上から配置したいのに、「取引先名簿」、「フィールド2」…となってしまっています。
それに加えて、余分な空欄の列や行も存在して、表が途中から始まっているようです。
こんな完成イメージにしたいですよね↓
意図したい表はこれですよね。
Excelを事前に整理しないと、きれいに取り込めないので工夫してみましょう。
そこで、簡単なアイディアをご紹介しますね。
これは非常にシンプル!
A1から始まる列にデータを整理し直すのです。
手軽な方法の一つです。
別シートに張り付けます
「A1から始まるexl」シートをAccessにインポートすればいいので簡単ですよね
「外部データ」タブの「新しいデータソース」アイコンをクリック。
「ファイルから」→「Excel」を選択してインポート元のExcelを参照します。
Excelをインポートすると、すべてのSheetが表示されます。
今回はSheet2「A1から始まるexl」を取り込みます。
ここを間違わないように注意しましょう。
今回はすべての列のデータ型を「短いテキスト」に設定してみます。
クリックして中身を見てみると期待通りのデータになります
3.アイディア2:元データをそのままに工夫する
上の方法では、元のExcelの中身を手でいじる手間が結構かかりましたね。特に、同じフォーマットのファイルをAccessに定期的に取り込む場合、都度手作業が必要だと、正直、面倒くさいですよね。
そこで、もっとスマートなアイディアがあります。
Excel表の見出しは4行目にありますが、これが先頭行にあればAccessでも簡単に認識してくれるのです。
簡単な手順ですが、4行目の見出しをコピーして、先頭行にペーストするだけでOK。
これで取り込みも格段に楽になりますよ。
1行目にコピーした文字が不必要なので、背景と同じ白色にして無地にしてしまいましょう。
表示したくない1行目のセルを選択して、文字色を白色にします。
表見出しを白色にしました。
B1セルは何もないように見えていますが、セル内には「電話番号」という文字データが格納されていることが分かります。
上書き保存してファイルを閉じます。
ここまでがExcelの作業です。
Accessへ取り込んでみましょう。
「外部データ」タブ、「新しいデータソース」アイコン-ファイルから-Excelを選択します。
先ほど保存したExcelを選択し、「開く」をクリック。
ExcelではA列が空欄でしたね。
たまたま「取引先名簿」というタイトルが残っているため行名として表示されています。
この列を取り込みたくないので「取引先名簿」を選択し、「このフィールドをインポートしない」にチェックします。
Excelの左列セルA1の「取引先名簿」がとりこまれていないことが分かります。
テーブルの上2行は実データがありません。
これらは不要なので、手作業でサクッと取り除いてみましょう。
不必要な行を選択してDeleteキーを押します
この取り込み方法は別の回で説明する「リンク」機能を使う場合、元のExcelが加筆・修正されたとしてもAccessテーブルは最新の状態が反映されます。
Excel表の作成者が別の担当の場合は、1行目に「隠し項目」を入れていただくことを理解いただくことが必要となりますね。
今回は2つの方法をお伝えしましたが、もしあなたがVBAを使わずにA1以外から始まるExcelファイルを取り込む方法をご存じであれば、ぜひコメントでシェアしてくださいね!
Excelのリンク方法はこちらから
現場で使えるAccess基本クエリ22選をまとめました。
Excelでは難しいデータ抽出の基本になります。
ぜひともご活用ください。
この記事が気に入ったらサポートをしてみませんか?