テキストファイルについて勉強しなおします。
理由は、業務の自動化を考えた時、
システム間でデータのやり取りにテキストファイルを
使うのが簡単だからです。
会社の基幹システムがWEB化され、
標準業務以外はエクセルで処理するという方針になりました。
基幹システムはスリム化され、
ほとんどの画面で「CSV出力」が可能になりましたが、
そもそもテキストファイルが何なのかわかない人も多いのではないでしょうか?
テキストファイルを有効に活用するためのヒントを考えてみます。
この記事の内容
エクセルでtxt(テキストファイル)を開く手順
.txtの拡張子を持つ「テキストファイル」を
エクセルで開く手順です。
エクセルで開くテキストファイルの内容はこのとおりです。
データの説明を簡単にすると左から、
moji1は、日本語の全角文字
moji2は、ローマ字の半角文字
atai1は、数値
moji3は、電話番号
atai2は、伝票番号やお問い合わせ番号など長い数字の羅列をイメージしています。
タブが区切り文字として使われています。
手順1.ファイルを開く
エクセルを起動して[ファイル]-[開く]をクリックします。
手順2.テキストファイルを指定する
「ファイルの種類」を[テキスト ファイル(*.prn; *.txt; *.csv)]にします。
手順3.開くテキストファイルを選択する
開くテキストファイルを選択して「開く」ボタンをクリックします。
手順4.データのファイル形式を選択する
テキストファイルウィザードが表示されます。
「カンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」を
選択して「次へ」をクリックします。
手順5.区切り文字を選択する
区切り文字で「タブ」を選択して「次へ」をクリックします。
手順6.列のデータ形式を選択する
データプレビューでmoji3とatai2の「列のデータ形式」を
「文字列」にして「完了」をクリックします。
手順7.テキストファイルがエクセルに表示
テキストファイルのデータがエクセルに取り込まれて表示されます。
テキストファイルって何?
コンピューターの基礎知識になりますが、
ファイルにはテキストファイルとバイナリファイルがあります。
.xlsや.xlsxが拡張子のエクセル形式のデータは、
バイナリファイルでエクセル以外のプログラムでファイルを開くと
何が書いてあるのか見ることができません。
テキストファイルは文字だけで表現されるデータなので互換性があり、
多くのプログラムやシステム環境で利用する事ができます。
Windowsのアクセサリにある「メモ帳」で
テキストファイルを開くことができます。
社内のシステムでは、基幹システムからエクセルにデータを受け渡す時など、
システム間でデータをやり取りする時に、よく利用されています。
ここでは、拡張子が「.txt」のテキストファイルを紹介しましたが、
一般的に区切り文字がカンマ(,)のテキストファイルは
CSVファイルと呼ばれ「.csv」の拡張子になります。
CSVファイルもテキストファイルなので、
メモ帳で開くことができます。
エクセルでデータ加工しやすいように、
CSVファイルでデータが欲しいと要望される事が良くありますが、
エクセルのように書式や計算式が保存できずクレームになる事もあります。
テキストファイルをエクセルで開くと失敗する原因は?
テキストファイルをエクセルで開くと失敗する事がよくあります。
特に多いのは伝票番号など桁数の多い数字を取り込む時です。
最初の例で、手順6.の時に文字列を指定しなかったらどうなるか
試してみましょう。
全て「標準」で取り込みます。
すると、atai2がおかしな事になってしまいます。
エクセルが勝手に「数値」だと認識してしまうので、
15桁以上の値が入力できません。
宅急便のお問い合わせ番号のように桁数が多い数字は、
「文字」として取り込んで利用してください。
また、電話番号や郵便番号のように
頭が「0」で始まるような数字の並びも
「文字」として取り込んでください。
サンプルではハイフン(-)を付けたので、
標準で取り込んでも文字として処理されましたが、
頭0が無くなってしまいエラーになる事がよくあります。
佐川急便のe飛伝Ⅱに取り込む送り状データを作成した時、
北海道の郵便番号で頭0が消えてしまい、よくエラーになります。
メモ帳でデータを開けば良いのですが、
エクセルで開いてデータを確認し、
修正したファイルを取り込むとエラーになってしまいます。
テキストデータをエクセルで編集する時は注意が必要です。
VBAプログラミングを習得する前に必要なこと
なかなかVBAプログラミングまでたどり着けませんが、
ExcelVBAはエクセルの機能を使う事が前提のプログラミングなので、
知っておく必要のある事がたくさんあります。
ここではテキストファイルについて説明したかったのですが、
調べてみると思った以上にイロイロな情報があり、
自分の勉強にもなりました。
VBAでプログラムを組まなくても、Excelの計算式や関数だけで
処理できる事はたくさんあります。
その辺りから慣れていくと、
VBAプログラミングも覚えやすいかも知れません。