Chiquilin Site■06.08.03_Excel:シートの分かれたデータを自動で統合

その1:できれば...
その2:自参照で「外部データの取り込み」を使う時の注意点
その3:データの更新の仕方
いまや MicrosoftQueryを使う必要もほぼなくなりました。シートの分かれたデータを統合するならPowerQueryでクエリの追加を実行する方が初心者には優しいと思います。そもそもVBAでやる方が簡単な訳ですけど……

その1:できれば...

1月・2月・3月……。1日・2日・3日……。鈴木・高橋・佐藤……。
データベースは極力1シートで管理」というのが集計やフィルタリングの大前提なのですが Excelを使う人の多くが 何かに付けてシートを分けてしまうようです。その理由の多くは「入力用のシートを印刷用にも使うから」だと思います。その癖 データが下方向にどんどん増えていくものが多いんですが……
 
他にも「入力する人が違う」「表の形が決められている」「画面をスクロールせずに見られるから」「使う人が初心者で複雑な処理ができないから」など 色んな理由が考えられますが 入力シートを複数に分けることは 結果的に 作る人にとっても 使う人にとっても不便になりかねません。65536行内で収まるなら入力用のシートは1枚にまとめて 必要に応じて データを分けて表示させた方がいいと思います。
ページの一番上へ

その2:自参照で「外部データの取り込み」を使う時の注意点

「自参照で『外部データの取り込み』」というのは 「外部データの取り込み」を 取り込むシート自体に設定することを指します。「自参照」という用語は 勝手に私が使っているだけなので 世間一般には通じないと思いますが 以下「自参照」で統一します。
 「自参照」の説明
以下注意点です。
「自参照」を使う時の注意点:
●保存されているブックにしか使えません。
●後からブック名やシート名を変更しない!
 ※変更した場合は保存して終了し 開き直してから[クエリの編集]で全ての参照を
  変更し直さないといけなくなります。
●データは極力 A1セルから入力すること!
 ※何も入力されていない空白行であれば あっても一応参照はできますが 何かの
  拍子に取り込みがおかしくなる可能性あり。
●データを追加する時に空白行を入れない!
●データを削除する時は行ごと削除!
●同じブック間でデータ取り込みを繰り返すと処理に負担がかかるようです。
 http://support.microsoft.com/kb/319998/ja (07.03.22 追加)
この注意点を前提として進めます。
「1月」「2月」「3月」のシートがあり 随時データが下方向に追加されるものとします。
「1月」「2月」「3月」データ
これらを 1月・2月・3月の順に空白行を詰めて 統合シートにまとめます。まずブックは適当な場所に保存して下さい。
統合シートのA1セル上で [データ]→[外部データの取り込み]→[データの取り込み]


保存したファイルを選択して ダブルクリック
表で「1月シート」を選択して[OK]
[既存のワークシート]を選択して「=総合!$A$1」を選択して[プロパティ]
[コントロールの更新]の[ファイルを開く時にデータを更新する]にチェック
 
[データのレイアウト]の[列の幅を調整する]のチェックを外す
★先頭になる「1月シート」だけは[フィールド名を含む]のチェックを入れる
 
[変更されたレコード(行)のデータ更新時の処理]の
[新しいデータのセルを挿入し、使用されていないセルを削除する]を選択して[OK]
→[OK]
以上で「1月シート」のデータ取り込みが完了です。1月シートは 5行目までしかありませんので 2月シートの取り込みは そのひとつ下の A6セル上で行います。これを繰り返して 総合シートは完成です。
ページの一番上へ

その3:データの更新の仕方

この統合されたシートには ひとつ問題があります。各シートに新しく入力されたデータを反映させようとした場合に それぞれの取り込んだデータがバラバラに管理されている為 いちいち別々に更新しなければならないことです。
A1セル上で 右クリック[データの更新]
A6セル上で 右クリック[データの更新]
A11セル上で 右クリック[データの更新]
……
ツールバーに「外部データ」を表示させて「すべて更新」ボタンを押すと一括で更新されます。また更新作業をマクロで処理する方法もあります。ただ プロパティの設定で
[コントロールの更新]の[ファイルを開く時にデータを更新する]にチェック
を行っていれば「1月」「2月」「3月」のデータをそれぞれ追加した後 一旦 ファイルを保存して閉じ 再度開き直しするだけでも 全ての外部データは更新されます。
あとひとつ。[外部データの取り込み]に慣れている方なら [データの取り込み]よりも[データベースクエリ]からデータを取り込みした方がいいかもしれません。
●データを追加する時に空白行を入れない!
●データを削除する時は行ごと削除!
という指定はついつい忘れてしまいがちです。これを気にしなくてもいいようにするなら クエリの設定で 日付列に「Not Null」の条件を追加しておくといいです。
ページの一番上へ
ChiquilinSite トップページへ  Copyright(C) Chiquilin_site. All Rights Reserved.
inserted by FC2 system