• ベストアンサー

データの取り込み、できますか?

先日、質問しましたが解決できないのでもう一度質問です。 データベース用のエクセルファイルに10年間の気象データがあります。 列A   B    C   D 日付  天気 最低気温  最高気温 別のBOOKのシートに 任意の期間(可変)を設定できて、その期間をデータベースから検索し A~D列に表示したいと思ってますが マクロ、VBAを使った方が良いでしょうか? マクロ、VBAは未経験なのでまずはフリーソフトをいろいろ探してます。使えそうなものをご存知ありませんか? VBAも必要があればこの機会に少し学びたいとも思います。 ちなみに10箇所の地域で解析するので、やはりそれぞれBOOKを作った方がいいですよね? どうかよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • telescope
  • ベストアンサー率54% (1069/1958)
回答No.3

ANo.2です。 こちらのサイトで図入りで説明されていますから参考にしてください。 http://www11.plala.or.jp/koma_Excel/contents3/mame3031/mame303101.html 私はまだExcel2000ですが、フィールドリストのデザインが違いますので、Excel2002以降のもののようです。 「フィールド名のところで右クリックし~」とありますので、日付のセルでは出てこないのかもしれませんね。 Excel2000では、どの日付のセルでも、日付のフィールド名でも右クリックすれば「グループ化~」は出てきます。

その他の回答 (2)

  • telescope
  • ベストアンサー率54% (1069/1958)
回答No.2

ピボットテーブルで簡単に出来ます。 「データ」-「ピボットテーブル~」を選択して「完了」ボタンを押します。 「日付」ボタンを「行のフィールド~」にドラッグ&ドロップします。 同様に、「天気」、「最低気温」、「最高気温」もドラッグ&ドロップします。順番は項目をドラグすれば変えられます。 「日付」ボタンを「データ アイテム~」にもドラッグ&ドロップします。 「日付」や天気の小計が表示されますが、不要な項目は右クリックで「表示しない」選べば表示されません。 「日付」欄で右クリックして「グループとアウトラインの設定」を選びます。 「開始日」と「終了日」を入力して、[単位]で「日」を選択します。 クリックするたびに反転します。通常「月」が選択状態にあると思います。 「日」を選択すると「日」と「月」が選択状態になり、月別、日付別の表示になります。 複数月に渡るデータなら、「月」と「日」の両方を選択しておいたほうが見やすいでしょう。 「月」が不要ならクリックして選択を解除します。 開始日以前のデータが、<2007/3/20 のように表示されますが、これも右クリックで「表示しない」を選べば表示されません。 「データ アイテム~」に「日付」を設定していますので、右端の列に日にちの集計が1,1,1,1と出ていますが、不要ならその列を右クリックで「表示しない」にします。最下段に表示されている日付の総計が出ていますので、目障りでなければ、残しておくのも便利かなと思います。 「ページのフィールド~」に「地域」をドラッグ&ドロップします。 ▼をクリックして、地域を選ぶとその地域だけの表示に切り替えられます。 また、右クリックで「ページの表示」を選ぶと、地域ごとのSheetが一気に出来上がります。

Naodes
質問者

補足

アドバイスありがとうございます。 ピボットテーブルって便利そうと思いつつ使わずにいました。 さっそくやっていますが、 >「日付」欄で右クリックして「グループとアウトラインの設定」を選びます。 のところで既につまずいてます・・「グループとアウトラインの設定」というダイヤログがありません。Office のバージョンは2003です。 質問してばかりも気が引けるので参考になるサイトも探してますが、現在抜け出せません。。がんばってみます。

  • kigoshi
  • ベストアンサー率46% (120/260)
回答No.1

期間の開始日可変で終了までの期間が固定(たとえば30日間に固定とか)で良ければ マクロなしでもいけると思います。 以下、期間を30日間にした場合の例です。 気象データの入っているブックを Book1 とします。 1)新しいブックを開き、1行目A~Dは見出しとします。 2)B2セルに =VLOOKUP($A2,[Book1]Sheet1!$A:$D,2,FALSE)   C2セルに =VLOOKUP($A2,[Book1]Sheet1!$A:$D,3,FALSE)   D2せるに =VLOOKUP($A2,[Book1]Sheet1!$A:$D,4,FALSE)   を入れます。 3)B2~D2をB3~D3にコピーします。 4)A3セルに =A2+1 を入れます。 5)A3~D3セルを下方に31行目までコピーします。 6)A2セルに任意の日付を入力します。 ご参考になれば。 終了までの期間も可変の必要があれば、マクロでなければ難しいと思います。 マクロをつかえば、場所(BOOKを分ける/シートを分ける)も指定して出力 することも可能になるかと思います。 そういった事をお望みであれば、その条件(期間や場所の与え方)を具体的に 示して頂いた方が回答がつきやすいと思います。

関連するQ&A

  • これはマクロ、VBAが必要ですか?

    データベース用のエクセルファイルに10年間の気象データがあります。 列A   B    C   D 日付  天気 最低気温  最高気温 別のBOOKのシートに 任意の期間(可変)を設定できて、その期間をデータベースから検索し A~D列に表示したいと思ってますが マクロ、VBAを使った方が良いでしょうか? マクロ、VBAは未経験なのでまずはフリーソフトをいろいろ探してます。使えそうなものをご存知ありませんか? VBAも必要があればこの機会に少し学びたいとも思います。 ちなみに10箇所の地域で解析するので、やはりそれぞれBOOKを作った方がいいですよね? どうかよろしくお願いします。

  • VBAでデータの仕訳し新規ブックへ貼付け・登録

    VBAで指定(A列の値と同一)ファイルを開き、データ内C列の値を認識し、新規ブックへ1行全ての データをコピー貼付け処理後、各々仕訳されたブックB列値に-A・-B~を付加し、ファイル登録を行い たいのですが、VBA初心者でどうしてよいか教えてください。    A列   B列   C列    D列 1 J00001 11111 ABCDE BHBHB 2 J00001 22222 SDFAG NHNHN 3 J00001 22222 AZXCV NHNHN 4 J00001 11111 CVBNM LKLKL 5 J00001 33333 VBNM< TYTRE ※ 指定ファイル内行数は、可変です。 ※ 指定ファイル内A列値は同一 ↓ <book1>    A列   B列   C列    D列 1 J00001 11111 ABCDE BHBHB 2 J00001 11111 CVBNM LKLKL <book2>    A列   B列   C列    D列 1 J00001 22222 SDFAG NHNHN 2 J00001 22222 AZXCV NHNHN <book3>    A列   B列   C列    D列 1 J00001 33333 VBNM< TYTRE               ↓ book1⇒J00001-A.xlsで登録 book2⇒J00001-B.xlsで登録 book3⇒J00001-C.xlsで登録

  • Excel でのデータ集計

    下記問題ですが、どうもいい解決方法が見つからず、ご教授いただきたいと思います。 Excel の関数か、VBA で処理したいと思います。 Book1 A B C D E 1 a 2 b 3 c 4 d 5 e Book2 A B C D E 1 a ● 2 c ● 3 e 4 g ● 5 i Book1 の A 列に a,b,c,d,e があります。Book2 の A 列 のアルファベットが Book1 の A 列と重複しており、且つ B 列に ● がついている場合に、● の数をカウントしたいと思います。この場合の回答は 2 となれば解決です。ちなみに Book1、2 ともに、A 列内に重複はありません。 Excel での作業を考えており、関数か VBA かどちらかで問題ありません。 ご教授いただけますでしょうか。 よろしくお願いいたします。

  • ヤフーファイナンス 株価時系列データ EXCEL VBA データ取り込み 

    ヤフーファイナンスの株価時系列データを、EXCELのVBAを使って、1回のマクロ操作で複数銘柄EXCELに取り込みたいと考えています。 EXCEL Sheet1のA1、A2、A3、、、に取り込みたい銘柄コードを記入し、マクロを走らせると同ブック内で銘柄コード別にシートが出来上がるのが理想です。 データ取得期間は”デイリー”で”1999/1/1~2012/1/1”を考えています。 よろしくお願いします。

  • excelのデータをコピーする

    excelVBAで、他ブック(AAA)にあるシート(AA)のA列に入っているデータをBBBというブックのBBというシートのA列にそのまま移行したいのです。 そこでBBに次のように記述したのですが動作しません。 Range("[AAA]AA!A1:A700").copy Destination:=Range("A1:A700") 本当はAに入力されているものを全て、としたいのですが良く分からなかったためとりあえず700までとしてみました。 また、このモジュールが出来たら、そこから"###"という文字列だけを抜いてコピーをする、というように条件をつけたいと思っているのですが、可能でしょうか? 方法は、VBAでなくマクロでも何でも、出来れば構いません。 教えてください。よろしくお願いいたします。

  • エクセルのマクロ(VBA)の事で質問です。

    エクセルのマクロ(VBA)の事で質問です。 A列のA1からA100ぐらいまで、各セルに以下のような文章があるとします。 -------------------------------------------- A1 今日は、天気です。 明日も良い天気になるといいですね。 -------------------------------------------- A2 今日は野菜が安いです。 昨日よりも安くて主婦には助かります。 味も美味しいです。 -------------------------------------------- ・ ・ ・ このような感じでセルの中に色々と文章が入っています。 これをマクロ(VBA)を使いB列には以下のようにしたいです。 -------------------------------------------- B1 今日は、天気です。<br /> <br /> 明日も良い天気になるといいですね。 -------------------------------------------- B2 今日は野菜が安いです。<br /> <br /> 昨日よりも安くて主婦には助かります。<br /> <br /> 味も美味しいです。 -------------------------------------------- ・ ・ ・ 要するに、改行のところに<br />タグを入れたいのです。 今までは、テキストエディタにコピペして、置換していたのですが、 マクロ(VBA)では、どのようにすればいいのでしょうか? 教えて頂けないでしょうか? よろしくお願いします。

  • リンク貼り付けをマクロで簡素化したい

    1)個人票ブック(太郎シート 花子シート 次郎シー・・・・・)の各シートのA1からA5まで、値や公式がはいっています。 2)このシートのA1からA5までの値等を、別の総括表ブック(一枚のシートしかない)にリンク貼り付けをします。 3)まず、太郎シートのA1~A5までは、総括表ブックのB列にリンク貼り付けするマクロボタンを、太郎シートに設置します。 4)さらに、花子シートのA1~A5までは、総括表ブックのC列にリンク貼り付けするマクロボタンを、花子シートに設置します。 5)そして、次郎シートのA1~A5までは、総括表ブックのD列にリンク貼り付けするマクロボタンを、次郎シートに設置します。 6)こうしてマクロボタンを順次貼り付けていきます。 7)各シートの貼り付け場所は列に貼り付けていきますが、上から順番ではなく、任意に飛んでいますが、  各シートの行は、みな一律で同じ行です。 列は違っても皆おなじ行にリンク貼り付けしたいです。 このような操作をマクロ記録でつくりましたが、膨大な作業が必要です。これをなんとかVBAで簡素化したいのですが・・よろしくお願いします。

  • (Excel VBA)困っています・・・orz

    エクセルを使うとある業務でマクロを組み、最適化を図ろうと試みているのですが 気がつけば高度な領域に突入していまして、僕みたいなレベルじゃ全然???な状況になってしまいました。 まず A列の1行目から任意の行に(10行までしかなかったり、1000行まであったりとランダムにあるとする)、任意の文字列(ABCなど)があるとします。 それからオートフィルタを使い、A列からある任意の文字列(ABCなど)を検索条件にしてデータを抽出します。 抽出されたデータベースのA列には検索条件にある「ABC」が任意の行まであり、その抽出されたデーターベースのD列に今度は「XYZ」とという文字列を 抽出された分の最終行まで割り振る・・・ つまりA列《ABC》で検索され抽出されたデータのD列には《XYZ》が自動に入力される もし、検索条件(ABC)で抽出されたデータが「0」件だった場合は、D列には何もせず、次の検索条件に進む・・・ というものをマクロで組みたいのですがどうやったらよいのでしょうか?? 何卒、ご教授お願い致します。

  • 最終行の検索なんですが、、

    きっと簡単だと思うのですが、最終行の検索が、、ど初心者でわかりません。 A列の最終行(可変)にあるB、C、D、Eの値を拾いたい。 データは別のシートにあります。 過去の質問を2時間くらい検索したけどVBA、マクロ関連が多く参考にできるものが見つからないのでよろしくお願いします。

  • 2つのBook間で共通のキーワードを使いデータを転記するには?

    下記のようなデータがある場合、Book1/sheet1のD列へ Book2/sheet1 C列のデータを転記したい。キーワードは 各Book B列のロットNO.です。どのようなマクロを 組めばいいのでしょうか? Book1/sheet1    A    B    C    D 1  品名 ロットNO. 数量 2  A   A123   25   50(転記) 3  A   A234   20   75(転記) 4  A   A345   22   60(転記) ・ Book2/sheet1    A    B    C    D 1  品名 ロットNO. 時間(HR) 2  A   A123    50 3  A   A234    75 4  A   A345    60 ・

専門家に質問してみよう