メイン目次 サブ目次

簡単なデータの取り込み

はじめに

操作に関する説明では「選択して」「コピーする」という言葉が多用されます。 Web閲覧ソフトやモメ帳などで文字列を「選択する」には、選択したい部分にカーソルを持って行き、 マウスの左ボタンを押しながらマウスを移動させます。すると選択された部分が青くなります。 マウスの右ボタンを押して「すべて選択」を選ぶか上部のメニューで「編集」→「すべて選択」をクリックすれば、 表示されている全部のデータを選択することができます。 選択されたデータを「コピーする」には、選択されたデータ上でマウスの右ボタンを押し、 「コピー」を選びます。

Excelのセルに関しても基本は同じで、 マウスの左ボタンを押しながらマウスを移動させることによって領域を選択することができます。 「〜列を選択する」という表現が出て来た場合には、 シート上部の列名が書かれている部分を左クリックして列全体を選択することができます。 例えば、C列からE列まで選択するには、 以下のようにシート上部の「C」と書かれた部分でマウスの左ボタンを押し、 そのまま「E」と書かれた部分まで移動します。 「行を選択する」場合には左端の行番号の部分で同じ事を行います。



縦に揃っているデータ

Webを通じて色々なデータを手に入れることができます。

2006/01/04 200612 2027 2028 2007 2014 044775 303247
2006/01/05 200612 2020 2024 2000 2003 053839 306602
2006/01/06 200612 1974 1994 1967 1992 056963 311030
…………………………

まずは、このように縦に揃ったデータをExcelに取り込む方法について解説します。 ちゃんとしたデータはdata1.txtにありますので実際に試して下さい。 データは、日付、限月、始値、高値、安値、終値、出来高、取組高、の順です。

まず、取り込みたい目的のデータをコピーします。次に、Excelのシートに貼り付けます。 貼り付ける際は、右クリックして「貼り付け」を選択すると勝手に書式が設定されてしまいますので、 右クリックして「形式を選択して貼り付け」を選び、貼り付ける形式は「テキスト」を選んで「OK」を押します (余計な書式が設定されていると見栄えも悪くなりますし、ファイルサイズも大きくなってしまいます)。 これで以下のようになります。まだ一つのセルに一行のデータが全部入ったままになっています。



データの入っている列(図ではA列)が選択されている状態で、Excelの上部のメインメニューから 「データ」→「区切り位置」を選択します。 更に「スペースによって右または左に揃えられた固定長フィールドのデータ」を選んで「次へ」を押します。 すると以下のように、データの区切りを指定する画面になります。 区切りの位置が意図したものと違う場合は、クリックで区切りを追加したり、 ダブルクリックで区切りを削除したり移動したり、ドラッグで移動したりして修正します。



次へ進むと、それぞれの領域をどう扱うのか決める画面になります。 ここでは、限月と出来高と取組高を削除しています。 何もせずに「完了」を押して、後から要らないデータを削除しても結果は同じです。



このままでは日付の列が狭くて表示し切れず「########」などとなってしまいますので、 日付の列の幅を少し大きくします。 更にこれは個人的な好みですが、「2006/1/4」という表示を「2006/01/04」という表示に統一します。 これをするためには、まずは日付の列全体を選択し、右クリックして「セルの書式設定」を選択、 更に「ユーザー定義」を選んで、種類の所に「yyyy/mm/dd」と入力します。



これで出来上がりです。

区切り文字で区切られたデータ

次は、このような区切り文字(この場合はコンマ)で区切られたデータの処理について説明します。 日付の表記も先ほどの例とは少し違っています。

20060104,200606,224.1,224.4,220.5,220.5,13320,83908
20060105,200606,221,223.6,216.2,216.2,21495,84597
20060106,200606,215.5,216.3,212.8,214.7,22545,85144
…………………………

完全なデータはdata2.txtにあります。

このデータを先ほどと同じようにExcelに貼り付けると少々困った事が起こります。 「20060116,200606,229,231,228,231,28505,88896」この行が上手く貼り付けられないのです (実際に試して下さい)。 これは、Excelが、コンマを桁区切り文字と勘違いして、全体を一つの数値として認識してしまうからです。 ですので、コンマで区切ったデータには少々注意が必要です 「2006/01/16,200606,229,231,228,231,28505,88896」や「20060116,東京ゴム,229,231,228,231,28505,88896」 などの形式のデータではこういう事は起こりません。 数字でもコンマでも小数点でもない文字が入っていれば大丈夫です。

対処法は何通りかあります。 一つ目は、まずメモ帳か何かにコピーして、 コンマを全てセミコロン「;」などに置換してからExcelに貼り付ける方法、 二つ目は、同じくメモ帳などにコピーして保存し、それをExcelから読み込む方法 (その場合、拡張子を.csvで保存すると既に区切られた状態で読み込めます)、 三つ目は、貼り付ける列にあらかじめ文字列の書式を設定してから貼り付ける方法、 四つ目は、データが完成した後に正常に入力されなかったデータだけ手作業で入力する方法です。 楽なのは三つ目ですが、ミスが少ないのは一つ目ですのでそれを説明します。

メモ帳にコピーし、「編集」→「置換」で「,」と「;」を入力して「全て置換」を押して置換します。



これを先ほどと同じようにしてExcelに貼り付け、 「データ」→「区切り位置」で今度は 「カンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」を選んで「次へ」を押します。



区切り文字として「セミコロン」を選択すれば後は先ほどと同じです。



これで一応はデータが区分けされましたが、日付が8桁の数値のままになっています。 これを日付データに直さなくてはなりません。B列を選択して右クリック→「挿入」を3回行うと、 日付の後に列が3本空きます。



A列を選択し、「データ」→「区切り位置」→ 「スペースによって右または左に揃えられた固定長フィールドのデータ」と進み、 年と月と日を切り分けます。



セルD1に「=DATE(A1,B1,C1)」と入力し(小文字でも良い)、セルD1をコピーしてセルD2以降に貼り付けます。



このままでは、A〜C列を削除するとD列も影響を受けてしまいますので、 D列を選択してコピーし、



そのままの状態で再度右クリックして「形式を選択して貼り付け」を選び、 「値」にチェックを付けて「OK」を押します。 A列からC列は不要になりますので削除します。



先ほどと同じく日付に「yyyy/mm/dd」の書式を設定し、数値も見栄えを良くするために小数点以下を統一します。 B〜E列を選択して右クリック→「セルの書式設定」で「数値」を選び、小数点以下の桁数を1に設定します。



これで出来上がりです。


メイン目次 サブ目次