• ベストアンサー

Excelで複数のファイルの値を別のファイルに順番に表示させたい

タイトルのとおりなのですが、以下に補足させていただきます。 ・同じフォーマットの「ファイル(1)」から「ファイル(20)」があります。 ・各ファイルの[sheet1]には、A1に店名が、B1に売上が入力されています。 ・これを別のファイルに次のように表示させたいんです。       A列        B列 1行目  ファイル(1)のA1  ファイル(1)のB1 2行目  ファイル(2)のA1  ファイル(2)のB1 3行目  ファイル(3)のA1  ファイル(3)のB1 4行目  ファイル(4)のA1  ファイル(4)のB1 ・   ・        ・ ・   ・        ・ 20行目  ファイル(20)のA1  ファイル(20)のB1 このようなことが関数での対応でできるでしょうか? ご指導よろしくお願いします。

  • Age40
  • お礼率87% (27/31)

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

  • ベストアンサー
noname#75528
noname#75528
回答No.3

ANo.1です。 意図していない回答をしてしまい。 すみません。 VBAを使用したくないということであれば、 コマンドプロンプトでファイルの一覧を取得して、 後で関数をくっつけるやり方はどうでしょうか? VBAと違って、ファイルが増えた場合には、いちいち 修正がいりますが。。。 コマンドプロンプトの分かりやすい説明のURLです。 ご確認ください。 http://cmd-pro.com/index.html

Age40
質問者

お礼

新たなアドバイスをありがとうございました。 コマンドプロンプトの説明はすぐに拝見いたしました。 私には少々難しそうです・・・。 というか、始めたら本気でハマってしまいそうです。 VBAもそうですが、プログラムを組むような仕事はできればしたくないんです。 ただ、私の求めているものは、プログラムを組まないとできないんだろうと思い始めました。 もう少し待ってみて、他の方法が出てこないようなら諦めます・・・。 本当にありがとうございました。

その他の回答 (2)

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

http://www.excel-jiten.net/formula/ref_other_books.html などで(上記の場合最後の方の、「直接数式を入力する」のあたり)他ブックの参照の書き方を勉強してください。 WEBでまず「他ブック 参照」で照会すべきです。 質問に対する解決は、ただその式の羅列に過ぎません。 === しかしこの問題はVBA向きで、あるフォルダ内にでも対象ファイルを集めるルールにして、 あるフォルダ内の全てのファイル(XLS)を1つずつ順次捉える。 (Dir関数やVBSCRIPT利用するとか http://makotowatana.ld.infoseek.co.jp/vba_file2.htmlの方法とか) 捉えたらそのSHEET1の第1行目のA列とB列(A1,B1セル)を指定のファイルの指定シートの行に1行ずつ下に(または最下行の直下に)加えていけばよい。 FAQの質問であり、そのコードはVBAの本には必ず載ってます。 省略。

Age40
質問者

お礼

他ブックの参照方法は理解しています。 ただ、多くのブックからの参照を行いたいので、手間を省ける方法がないものかと甘えてしまった次第です。 VBAはハマってしまうのが嫌で今のところ手をつけないことにしています。スミマセン。 アドバイスありがとうございました。

noname#75528
noname#75528
回答No.1

表示させたいセルに以下を入力すれば、値をもってきます。 ='[ファイル(1).xls]Sheet1'!$A$2 設定の仕方で一番簡単なのは 1.ファイル(1)を開く 2.設定させたいファイルを開く 3.設定させたいセルに = (イコール) を入力 4.ファイル(1)の設定させたいセルにマウスをもっていく 5.エンター もし、質問と違う意図になってしまったら、すみません。

Age40
質問者

補足

アドバイスありがとうございます。 教えていただいた方法は分かっているんです。 この方法だと、ファイルの数だけ行わなければなりませんよね? 質問にはファイル(1)からファイル(20)と書きましたが、実際には200のファイルがあるんです。 この200のファイルの共通セルを、別のファイルで200行の一覧にしたいんです。 この方法はわかりませんでしょうか?

関連するQ&A

  • エクセルで別シートの値を取得したいです。

    エクセルで質問があります。 別シートからセル値を取得したいです。 ただ、セル番地は行番号、列番号で指定し、 行、列番号はセルに入力してある値を使いたいです。 例 Aシート(値格納シート) B1セル値=1000 -------------- Bシート(値取得シート) A列=行番号入力 B列=列番号入力 C列=Aシートの取得関数 A2セル値=1 B2セル値=2 C2セル=1000(取得値) C2セルの関数に、A2とB2の値を使って Aシートのセル値を取得したいです。 よろしくお願いします。

  • エクセルの空白を詰めて別シートに表示

    sheet1のデータを参照して、空白を詰めてsheet2へ表示させたいんです! sheet1(元データになるもの)  A列 |B列|C列・・・ 1行目A|100|100 2行目B|  |200 3行目C|100| 4行目D|  |200 5行目E|100| 6行目F|  |100 ・ ・ sheet2(sheet1でB列に入力があるものを抽出)  A列 |B列 1行目A|100 2行目C|100 3行目E|100 sheet3(sheet1でC列に入力があるものを抽出)  A列 |B列 1行目A|100 2行目B|200 3行目D|200 4行目F|100 sheet2のA1に下記の式を入力してA列とB列に数式をコピー =IF(COUNT(Sheet1!$B$1:$B$6)<ROW(A1),"",INDEX(Sheet1!A$1:A$6,SMALL(IF(Sheet1!$B$1:$B$6<>"",ROW($A$1:$A$6)),ROW(A1)))) すると下記のように表示されます。 A1=A     B1=100 A2=#NUM! B2=#NUM! A3=#NUM! B3=#NUM! 4行目から空白 sheet2のA2のところにエラーが出ていますが、「関数の引数」のところで「数式の結果」には「100」と 正解が表示されています。(B2、A3、B3も同様に)数式の結果のところには正解が表示されています。 答えの「#NUM!」のところに正解を表示させるには、どうしたらいいですか? 見よう見まねでつくったのもで。。。関数にあまり詳しくありません。 よろしくお願い致します。

  • 複数EXCELファイル中のデータを1つのファイルへ

    同じシート名、同じフォーマットで記載されている約400個のEXCELファイルから、『Participant List』というシート名のB列~H列、8行目~50行の範囲の記載を1つのEXCELファイルに纏めるVBAスクリプトを作成し実行したいのですが、VBAが全く分からず大変困っております。 マクロを実行した時に、入力ファイルと出力ファイルの保存ホルダーを聞いて指定出来るように出来た良いと思っています。 何方か、お分かりでしたらどうぞお力添えをお願いいたします。 <詳細> ・400個の入力EXCELファイルには、『Participant List』、『特定類型』の2つのシートが入っており、今回の入力用シートは『Participant List』になります。 ・今回抜き出したい記載は、『Participant List』シート中のB列~列、8行目~50行の範囲の記載になります。 ・『Participant List』シート中のB列の6行目と7行目のセルは結合しており、各列のタイトルは以下の通りになっています。  このタイトル名を出力ファイルの1行目へデータの各列のタイトルとして付けて、2行目以降より400個の入力ファイル中のデータを連結したいです。   B列:6,7行=『職員番号(nimsID)』     C列:6,7行=『名前(Name)』       D列:6,7行=『部門(Research Center, Division)』   E列:6,7行=『グループ(Group)』   F列:6,7行=『役職(Title)』   G列:6,7行=『開始年月(Start)』   H列:6,7行=『終了年月(End)』 ・出力ファイル名や出力のシート名は特に考えておりません。 ・入力データは以下ような記載のフォーマットになります。   B列=『職員番号(nimsID)』       例:14769     C列=『名前(Name)』         例:田中 一郎    D列=『部門(Research Center, Division)』 例:総合開発・情報部門   E列=『グループ(Group)』   例:科学リーダー   F列=『役職(Title)』     例:リーダ-   G列=『開始年月(Start)』  例:2023/5/1   H列=『終了年月(End)』   例:2023/5/31 ・入力ファイル名の例=科学登録者_23BB3001.xlsx            科学登録者_23BB3005.xlsx            科学登録者_23BB3405.xlsx ※拙い口足らずな説明となってしまいましたが、どうぞ宜しくお願い致します。

  • エクセルで、2つのセル値(2つの条件)から、別シートの表から該当する値を参照する方法

    シート(1)のA列とB列のセルに入力されている値を元に、 シート(2)の表を参照し、該当する値をシート(1)のC列に 表示させる方法があれば 教えて頂けると助かります。 なおシート(1)のA列は、参照するシート(2)の表の列タイトルに対応し、 シート(1)のB列は、シート(2)の行タイトルに対応するマトリックス表に なっております。 また、この列行タイトルの表記は「1から」または「1から9まで」 という範囲での表示になっています。 (例:シート(1)元データ) No| A列 | B列 | C列 | --------------------------------- 1 | 07  |  22  |  20 | ←C列は、シート(2)表を参照  2 | 18  |  15  |  30 |        3 | 01  |  09  |  05 |       4 | 21  |  03  |  30 |  5 | 30  |  28  |  35 |  (例:シート(2)参照する表) A列\B列 | 1~9| 10~19 | 20~29 | -----------------------------------   01~  | 05  |  10  |  20  |         05~  | 15  |  15  |  20  |           10~  | 20  |  25  |  30  |        15~  | 25  |  30  |  30  |    20~  | 30  |  35  |  35  |  現在、手作業でC列への入力を行っております。 何とか、作業効率を上げたいと思っておりますので、 ご指導下さいます様 宜しくお願い致します。

  • 複数のエクセルファイルからのデータの抽出、一覧の作成について

    エクセルでのデータ整理の件で以下の質問があります。 以下のことができるようなマクロは組めませんでしょうか? 同一フォルダ(仮に、「C:\Sample」とします)に日々の業務データが 入力されたエクセルファイルが300個ほどあります。 各ファイル内にはSheetが5枚あり、各ファイルで入力されているデータは すべて同一のフォーマットです(Sheet毎では異なる。 例えば、Sheet1の1行A列には日付データ、Sheet2の2-5行B列には名前データ、といった感じです)。 これら300個のファイルから、これまでのデータを一覧にしたリストを 新規に作りたいと考えています(作成場所はどこでも構いません)。 例えばSheet1の、1列目にはファイル名、2列目には各ファイルSheet1の1行A列の日付データ、 3-6列目には各ファイルSheet2の2-5行B列の名前データ・・・、といった具合です。 (縦に日付が並び、1行内に各ファイルのデータが入力されている、 といった風にしたいと考えています。) 参考になりそうな過去の回答もありましたので、いくつか試してみたものの、 うまくいきませんでした(私はマクロは少しかじった程度です)。 一個ずつコピペでは非常に骨が折れ、難儀しております。 ややこしい質問ではございますが、ご回答お待ちしております。

  • エクセルで別シートをマッチングする方法

    エクセル2007のマッチングに関する質問です シート1にはA列から店コード、4月売上、5月売上・・・・年間売上合計が入力されています。 シート2には同様のフォーマットで仕入れ合計、シート3には広告費合計が入力されています。 これらの3つのシートを店コードをキーにして売上-仕入れ-広告費を シート1-3と同様のフォーマットでシート4に作りたいのですが、関数を使って簡単に出来ますか? ご教授のほどよろしくお願いします

  • Excelでの値の比較

    エクセルにおいて、sheet2のA列とB列をsheet1のA列とB列を比較して、一致した場合sheet2のD列に下記のような結果を示すようにしたいのですが、どうやってD列に関数を組めばよいのか分からないので教えてください! 【sheet1】 A列 B列 C列 1行 001 AAAA 部品1 2行 002 BBBB 部品2 3行 003 CCCC 部品3 4行 004 DDDD 部品4 5行 005 EEEE 部品5 6行 006 FFFF 部品6 7行 007 GGGG 部品7 【sheet2】 A列 B列 C列 D列←この列に関数で○か×をつける 1行 001 AAAA 部品1 ○←sheet1にあるので○ 2行 008 HHHH 部品8 ×←sheet1にないので× 3行 004 DDDD 部品4 ○ 4行 009 IIII 部品9 × 5行 005 EEEE 部品5 ○ 6行 002 BBBB 部品2 ○ 7行 010 HHHH 部品10 ×

  • 複数のExcelファイルから値を引っ張ってくる

    いろいろ調べたのですが、いまいちよくわからなかったので教えてください。よろしくお願いします。 複数のエクセルファイルから値を引っ張ってきて、計算をしたいのですが、そのようなことは可能でしょうか? 例えば、 Sample1.xlsxのsheet1のC列にはA列とB列を足すという式が入っている。 Sample1.xlsxのsheet1のA列には、Sample2.xlsxのA列の値を、 Sample1.xlsxのsheet1のB列には、Sample3.xlsxのA列の値を、 参照してきて入れたいということです。 Sample2や3を変更したときには、Sample1の値にも反映してほしいです。 可能ならば、参照するファイルやシートを自由に決定できると良いです。 説明が下手で申し訳ありませんが、よろしくお願いいたします。 なお、マクロ等はまだ初心者です。

  • EXCELで複数の値を検索する

    ■シートA   A列   B列   受験ID  合格判定 1 ID001 2 ID002 3 ID003 4 ID004 5 ID005 ■シートB   合格者リスト 1 ID002 2 ID005 上記のようなデータがあり、シートBの合格者リストにIDが ある場合、シートAのB列「合格判定」に「合格」と入力 したいのです。 この場合の合格は、ID002とID005ですから B2とB5に「合格」と文字を入れたいのです。 合格者リストが数回変動しますので、B列に関数で入力したいです。

  • 複数ファイルのデータを1つのファイルへ纏めるマクロ

    マクロの実行で、Excel形式の約400個のファイル中のデータを1つの出力ファイルへ纏める為のマクロを作成したいのですが、VBAの初心者で、スクリプトの書き方が分からず大変困っております。 入力ファイルの中身は頻繁に追加、削除を繰り返しており、そのたびに入力ファイルを目視確認後、出力ファイルを手動で修正している状況でございます。 大変お手数ですが、マクロがお分かりの方がいらっしゃいましたら、ご教示を宜しくお願い致します。 ・入力ファイルは、以下ような名前になっております。 課題参加者_23RF3001.xlsx 課題参加者_23RF3005.xlsx 課題参加者_23RF3072★.xlsx 課題参加者_23RF3073.xlsx 課題参加者_23RF3199.xlsx 課題参加者_23RF3543.xlsx ・入力ファイルのデータは、添付しました画面イメージの通りで、  フォーマットは全て同じです。 ・出力ファイルに吐き出す入力データはB列~K列とN列になります。 ・出力ファイルのタイトルは、1番目に呼び出したファイルのB列~K列とN列を使う。 ・出力ファイルのA列のデータは、入力ファイル名の『23RF3001』、『23RF3543』などを入力データ分入れる。 ・出力ファイルのタイトルに使う、入力ファイルのタイトルは以下のようになっています。   B列~E列のタイトルは、6行目、7行目が結合されたセルに入っています。  F列のタイトルは、5行目、6行目、7行目が結合したセルに入っています。  G列~H列のタイトルは、6行目、7行目が結合されたセルに入っています。  I列~K列のタイトルは、7行目のセルに入っています。  N列のタイトルは、6行目、7行目が結合されたセルに入っています。 ・出力ファイルへ吐き出したい、入力ファイルデータの範囲は、  B列~K列の8行目以降とN列の8行目以降のデータになりますが、  『職員番号』、『名前』、『部門』に記載が有る行のみを出力ファイルへ吐き出します。  N列はリストの最後の行まで文字が入力されていますが、  N列についても、上記の『職員番号』、『名前』、『部門』に記載が有る行のみを出力ファイルへ吐き出します。 ・出力データへ吐き出す時の書式フォーマットは以下の通りになります。  A列=文字形式  B列=数値形式  C列~F列=文字形式  G列、H列=日付形式  I列~K列=チェックボックス(フォームコントロール形式(入力データと同じ形式))  N列=文字形式 ・入力データは今の所50行まで入力可能としています。

専門家に質問してみよう