エクセル2000 別ファイルへの抽出方法

このQ&Aのポイント
  • エクセル2000で別ファイルへの抽出を行う方法について教えてください。
  • 一ヶ月分のデータを「a」というファイルに入力していますが、平日を「b」ファイル、土日を「c」ファイルに表示したいです。抽出する際のデータ入力の方法について詳しく教えてください。
  • 既存の表を変更することなく、エクセル2000で別ファイルへデータを抽出する方法を教えてください。
回答を見る
  • ベストアンサー

エクセル2000 別ファイルへの抽出について

エクセル2000 別ファイルへの抽出について 「a」というファイルに一ヶ月分 縦に日付、曜日。横に20ほどの項目の来客数を入力しています。 「b」というファイルに平日を 「c」というファイルに土日を それぞれ表示したいのです。 当方初心者のため、「a」ファイルのb6から「b」ファイルへ移す時に +'[a.xls]9'!$b$6 という感じに「+」でひとつひとつ地道にやっています。 なぜか[$]でくくられてしまい ドラックでコピーも出来ずに困ってしまいました。 12ヶ月分作成しなければいけないので 地道な作業では追いつかなくなってしまいました。 どのようなやり方があるのかすら わからない状態ですが どのような計算式にしたらいいのか教えて下さい。 説明がわかりにくくてスミマセン。 フィルタすら知らない初心者なもので<(_ _)> 既存の表があり、表を変更することは出来ないのです。 参考になるかはわかりませんが画像を添付いたします。 大変お手数ですが、よろしくお願い致します。

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

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

>フィルタすら知らない初心者なもので<(_ _)> このケースでは、基本的にフィルタ機能を利用するのがお勧めです。 「データ」「フィルタ」「オートフィルタ」で曜日の列の▼をクリックして「オプションから「土」に「等しい」にして「OR」にチェックを入れ「日」に「等しい」にしてOKすればどの土日だけのデータが抽出されます。 このデータを選択して新規シートにコピーすれば土日の該当データの一覧を作成できます。 同様に「土」に「等しくない」で「AND」「日」に「等しくない」で抽出すれば、ウィークデイのデータが抽出できます。

zaepass
質問者

お礼

ありがとうございます(*´∇`*) 初心者のワタクシにも出来そうかな(>▽<;; やってみたいと思います。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

曲者は曜日列です。 曜日の列のどこかのセルを選択して、数式バー部に日付が出ませんか。出るなら書式で曜日を出している恐れがある。=TEXT(A2,"aaa")のような式に改めてください。セルの値が土や日になります。 初心者の場合この区別が付かない場合があるが、抽出にはセルの値になっていることが肝心です。 ーー フィルタオプションの設定で、他シートに土日だけを抜き出します。 そして他ブックにコピー貼り付けするのが良いでしょう。 例データ Sheet1にA1:C11 日付 曜日 データ  <-見出しは必ず入れる 2010/8/20 金 1 2010/8/21 土 2 2010/8/22 日 3 2010/8/23 月 4 2010/8/24 火 5 2010/8/25 水 6 2010/8/26 木 7 2010/8/27 金 8 2010/8/28 土 9 2010/8/29 日 10 Sheet2 f1:F3 に入力(抜き出す条件です)見出し行(曜日)を入れること 曜日 土 日 Sheet2でデーターフィルターフィルタオプションの設定 出てくる対話画面で 指定した範囲にチェック 検索条件範囲 Sheet2のF1:F3を範囲指定 Sheet2!F1:F3 抽出範囲 Sheet2!A1:C11 最後にリスト範囲だがシートタブのSheet1をクリックしてシートを切り替え  Sheet1のA1:C10を範囲指定 Sheet1上に、抽出対話面が出たままにして <--ここが大事(Sheet2に切り替えないこと) OK。 ーー 結果 Sheet2に A1:C5 日付 曜日 データ 2010/8/21 土 2 2010/8/22 日 3 2010/8/28 土 9 2010/8/29 日 10 ーーー 土日以外データ抜き出しは Sheet3のF1:F6に 曜日 月 火 水 木 金 と入れて、土日の場合と同じ、上記の操作をする。 ーーー 初心者の場合はややこしいので 範囲を指定するとき、番地範囲を手打ちせず、斜め矢印の範囲選択ボタンをクリックし、(データ範囲指定の場合はシートを正しく切り替えて)、範囲をマウスで囲う方法で行い、ボックスのXボタンを押すとボックスが消えて、抽出対話画面の対応ボックスに、シートと番地が収まるから、こちらを使うこと。

zaepass
質問者

お礼

ありがとうございます(*´∇`*) 難しそうですが(>▽<;; 色々ためしてみたいと思います。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

オートフィルタが基本操作ですが、参考までに、数式で該当データを表示する方法を提示します。 元データがSheet1で日付データがB3:B33セルにある場合、別シートの以下に土日の日付一覧表を自動的に表示するにはA3セルに以下の数式を入力し、Ctrl+Shift+Enterで確定して、下方向にオートフィルしてください(土日の日付だけを取得することができます)。 =IF(SUM(COUNTIF(Sheet1!$B$3:$B$33,{"土","日"}))<ROW(A1),"",SMALL(IF((Sheet1!$B$3:$B$33="土")+(Sheet1!$B$3:$B$33="日"),Sheet1!$A$3:$A$33,""),ROW(A1))) この数字を元に以下のVLOOKUP関数をB3セルに入力し、右方向および下方向にオートフィルしてそれぞれの日付のデータを取得します。 =VLOOKUP($A3,Sheet1!$A:$H,COLUMN(B1),0) ちなみに、平日の日付を取得する数式は以下の数式になります(配列数式ですのでCtrl+Shift+Enterで確定する必要があります)。 =IF(31-SUM(COUNTIF(Sheet2!$B$3:$B$33,{"土","日"}))<ROW(A1),"",SMALL(IF((Sheet2!$B$3:$B$33<>"土")*(Sheet2!$B$3:$B$33<>"日"),Sheet2!$A$3:$A$33,""),ROW(A1)))

zaepass
質問者

お礼

ありがとうございます(*´∇`*) 難しそうですが(>▽<;; ためしてみたいと思います。

関連するQ&A

  • [Excel]別ファイルの項目内容の抽出方法

    初めまして。閲覧ありがとうございます。 今回Excelについて質問させていただきます。 Excelファイルごとに保存されている表([file1]、[file2]、[file3]、、、)があります。 この表を別ファイルに条件ごとに並べ変えて一覧化したいのですが知恵が無くまったく作業が進みません。 大変恐縮ですが、どなたか方法をご教示していただけますでしょうか。 [File1.xls]    A    B   1 商品   りんご     2 納品日  9/3    3 原価   50     4 数量   100 [File2.xls]    A    B   1 商品   みかん     2 納品日  9/10    3 原価   30     4 数量   30000 [File3.xls]    A    B   1 商品   すいか    2 納品日  9/1    3 原価   850     4 数量   200 ≪上記3ファイルを一覧化≫ [一覧化.xls]    A    B      C     D 1ファイル名 [File1.xls] [File2.xls] [File3.xls] 2 納品日   9/3      9/10     9/1       3 商品    りんご    みかん   すいか    4 数量    100      30000    200     5 原価    50       30     850 この様に仕上げたいです。 [file1]、[file2]、[file3]A行の項目と[一覧化]A行の項目の順序が違います。 [一覧化]1列目B行、C行、D行…にファイル名を入力すると簡単に一覧の作成ができればいいのですが…。。 初心者なので、説明不足&能力の無さが目立つと思いますが、 どうかよろしくお願いいたします。

  • エクセル:別ファイルからの抽出

    エクセル:別ファイルからの抽出 エクセルにて、 あるファイルに A  B    C No 月    氏名    1 2010/11  佐藤 2 2010/10  山田 3 2011/12  田中 4 2010/10  田中 ・ ・ とあり、それを別ファイルで 2010/10とセルに入力してやると、B列の2010/10だけ抽出して 一覧にしてくれるようにしたいと考えております。 関数またはVBAにて処理する方法はありますでしょうか? A  B    C No 月    氏名    2 2010/10  山田 4 2010/10  田中 ・ ・ ※別ファイルにおいては順番は関係ないので、Noがなくても よいです。 恐縮ですが、お答え願えれば有難いです。

  • Excel 別ファイルからのデータ抽出

    OfficeXP-Excelにて質問させて頂きます。 以下のような異なるファイルが2つあります。 ------------------- [ファイルA]     A         B     C     D     E     F    G 1    No.           1            2           3 2    氏名         山田         田中        佐藤 3             送付日 受領日  送付日 受領日 送付日 受領日 4   2007年04月分   4/2  4/27   4/3  4/26   4/2  4/25 5   2007年05月分   5/1  5/30   5/1  5/31   5/2  5/30                   ・                                     ・                   ・ (1行目・2行目のB:C、D:E、F:Gは結合されています。) ------------------- [ファイルB-シート2007/5]     A     B     C     D 1   2007年05月分 2     ←空白行 3   No.    氏名  送付日  受領日 4   1    山田 5   2    田中 6   3    佐藤                   ・                                     ・                   ・ ------------------- [ファイルA]のA4以降の『2007年**月分』のデータ『送付日』と『受領日』を [ファイルB]のセル[A1(2007年**月分)]と『No.』が一致する『送付日(C4~)』『受領日(D4~)』に 関数などを用いて抽出したいのです。 1年分のデータを1つの表にまとめて格納している[ファイルA]に対し[ファイルB]は各月のデータをシート毎に分けてあります。 [ファイルB]で元になるシートを作成しておき、毎月その元シートをコピーし[A1]の日付だけを変更すれば自動的に必要なデータを引っ張ってくるように出来ますでしょうか? 説明が解り辛ければ補足致しますので、何卒ご教示宜しくお願いします。

  • 同一フォーマットの複数のexcelファイルの何箇所かのセルを抽出して一覧表を作るには

    同一フォーマットの複数のexcelファイルの何箇所かのセルを抽出して一覧表を作る仕事をさせられています。 具体的には、一つのフォルダ(フルパスを仮に D:\shitumon とします)の中に "質問事項*.xls" ("*"の箇所は任意の文字列で、何文字あるかもまちまちです)が大量にあります。 この "質問事項*.xls" は同一フォーマットになっていて、シート名は QA となっております。 この "質問事項*.xls" の何箇所かのセルの内容を抽出して "一覧表.xls" というファイルにまとめる作業をさせられています。 "質問事項*.xls" と "一覧表.xls" の対応箇所なのですが、 (質問事項*.xls)   (一覧表.xls)    B5          A列    I3           B列    C8          D列    B10          E列    C34          F列    B36          G列    H34          H列 となっております。 ("質問事項*.xls" の何箇所かのセルは結合されているものがいくつかあります。) 現在、"一覧表.xls" には300行ぐらい入力済みで、 さらにその下の行から入力することになっているのですが、 例えば "一覧表(仮).xls" というフォルダにまとめて "質問事項*.xls" の該当箇所を抽出して、  "一覧表(仮).xls" の内容をコピーして "一覧表.xls" に貼り付けるという作業でも構いません。 プログラミングを全く知らないおじさんなので、 噛み砕いて教えてくださればありがたく思います。

  • マクロを使って、抽出したデータを別のファイルにコピーしたい

    VBA初心者です。 自動記録で、フィルターオプション設定を使い抽出したデータを、別ファイルにまとめようとしています。 自動記録ですので、実行はできるのですが、このままだとデータの更新があった時、 範囲の指定をやり直すことになりますので、少しシンプルで応用の効くコードにしたいと思っています。 集約するシート:テスト用 sheet1(集約) sheet2(条件) 元のデータ:金額一覧表(01~03) 金額一覧表(04~06) 金額一覧表(07~10) sheet1=ファイル名 <各データは2万~3万件> Sub 抽出_1() Windows("金額一覧表(01~03).xls").Activate Range("A1:R16824").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _ Workbooks("テスト用.xls").Sheets("条件").Range("A1:F27"), Unique:=False End Sub ------------------------------------------------ Sub データを転記_1() Windows("金額一覧表(01~03).xls").Activate Selection.SpecialCells(xlCellTypeVisible).Select Selection.Copy Windows("テスト用.xls").Activate Sheets("集約").Select Range("A1").Select ActiveSheet.Paste Application.CutCopyMode = False End Sub ---------------------------------------------------  又、金額一覧表(01~03)のデータを貼り付けた後、 金額一覧表(04~06)も同じようにデータ抽出コピーしようとしたのですが、 Sub データを転記_() の6行目に下記のようなコードを入れたところ、 7行目がデバックしてしまいました。 (実行時エラ-:1004   コピー領域と貼り付け領域の形がちがうため情報を貼り付けることができません) とエラーが出てしまいました。 6行目  Set sakiRng = Range("A65536").End(xlUp).Offset(1) 7行目  ActiveSheet.Paste  ←ここがデバック 何か指定し忘れているものがあるのでしょうか? お知恵拝借できれば幸いです。

  • エクセルで別のファイルにあるものをそれぞれ抽出して、ひとつにまとめたいんです。

    エクセルに関する質問はたくさんあり、重複しているのか確認してみつつも漏れていたら申し訳ございません。 仕事上で困っております。ぜひ、ご教授ください。 エクセルのデータが2つあります。 ひとつは    A  B   C ・・・ 1 品番 商品名 納品日 2 N010  机   2008/1/9 3 N009 テープ  2007/12/29 もうひとつは似たような形なのですが    A  B   C ・・・ 1 商品名 納品日 品番 2 机   2008/1/9 N010 3 テープ  2007/12/29 N009 とそれぞれ業者から毎日送られてくるものがあります。 並び替えてくっつければ問題ないという意見もありますが、 それぞれを見つつ、全体も見るためにひとつにもまとめたいのです。 さらにそれぞれのファイルには余計なものも付いて来て (業者によって担当が入っていたり、期日があったり・・・)、 必要な部分行だけを抽出してひとつのファイルにしたいのです。 今回必要なのは それぞれのA・B・Cなのですが、順番が違うのでどうやって抽出し、ひとつのファイルにまとめることが出来るのでしょうか? また、毎日更新されてくるので自動的にひとつのまとめたデータのファイルにも更新されると嬉しいのですが・・・。 文章が下手で質問の意図がわかりにくいかと思いますが、 ぜひ、お教えくださいませ。

  • ExcelのVBで、別のExcelファイルを開いてactiveにするには

    ExcelのVBについての質問です。 「A.xlsのフォームでパラメータを入力し、その結果に応じて 別のExcelファイル(例えばB1.xls)を自動的に開く。 ユーザーは、B1.xlsに何か入力した後、B1.xlsを保存 終了する。 最初に戻って再びA.xlsのフォームに入力し... を繰り返す」 という作業を行いたいのです。 A.xlsでユーザーフォームをactiveにしたままだと、 B1.xlsを呼び出したときに、A.xlsのフォームがactiveで B1.xlsへ入力できません。(B1.xlsをActiveにしても A.xlsのユーザーフォームの方が優先されます) かと言って、A.xlsのフォームをhideしてから B1.xlsを呼び出すと、再びactiveにする際 B1.xlsを保存終了したことをA.xls側から検出する 必要があるのですが、この方法がわかりません。 何かよい方法はないでしょうか

  • VBA フィルターで抽出したデータを別のファイルの

    VBA フィルターで抽出したデータを別のファイルのシートのセルにヘッダー行とフッター行のあるシートに挿入したい お世話になります。 excel のフィルターで抽出したデータを別のファイルのシートに抽出したデータと同一フォーマットの入っている原紙がありその原紙をコピーしたシートのヘッダー行(A1-A8)の後、9行目からフッター行の手前、52行めまでに貼り付けするを、フィルターで抽出した分繰り返したいのです。原紙 のシートはコピペでしたに20枚ほど作ってあります。 マクロの記述でコピペを繰り返せば作れそうな気はしますが、汎用性が無いので、また私の頭も固いので。 宜しくお願いします。

  • Excelで複数の他のファイルから、データを抽出

    フォルダに30個~40個のxlsファイルがあり、中身はmmddというシート名で日別に分かれています。 抽出を実行した日(たとえば今日なら0122)と、同じ名前のシートのA1~D4までの文字列データを、 抽出を実行したシートのA1~D4に貼り付け、2個目のxlsファイルから抽出したデータはA6~D9に、3個目はA11~D14に貼り付ける…という風な抽出をしてくれるようにしたいと考えております。 関数かVBAにて処理する方法はありますでしょうか? ご教授願います。

  • エクセルの関数で複数抽出

    エクセルの関数を教えて欲しいです。 以下のような表が別ファイルであるとします。 【Aファイル】    【Bファイル】  A  B  C    A  B  C  D  E 1 商No 分No 名   1 商No 分No 名 売上 売数 2 23  11 あいう 2 1  2  あかさ 24000  12 3 55  34 かきく  3 2 4 いきし 67000  33 4 65  77 さしす 4 11 21  うくす 55700  65 ・ ・  ・  ・   ・ ・ ・   ・   ・   ・ ・ ・  ・  ・   ・ ・ ・   ・   ・  ・ ・ ・  ・  ・   ・ ・ ・   ・   ・  ・ Aファイルの商品Noと分類Noが一致するものを、Bファイルから検索し、行ごと別ファイルに抽出(複数)する関数を教えていただけないですか?。いろいろ検索して探しましたが、複数抽出する方法がわかりませんでした。よろしくお願いいたします。

専門家に質問してみよう