• ベストアンサー

エクセルでの複数ファイルからの参照

エクセルで社員データ統合をしたいのですが、その方法で悩んでいます。内容は以下の内容です。 (1)氏名、ふりがな、生年月日…などの基本情報ファイル(10列120行 120人分) (2)入社前履歴ファイル(4列20行程度 個人毎シート分け約120シート) (3)社内異動履歴等ファイル(4列20行程度 個人毎シート分け約120シート) (4)社内教育履歴ファイル(4列100行程度 個人毎シート分け約120シート) (5)取得資格ファイル(4列20行程度 個人毎シート分け約120シート) (1)~(5)のファイルを統合して、新たに個人毎1枚のシートに情報をまとめたいのです。ちなみにリストから名前を選択するとその個人の情報が表示されるようにしたいのです。 本来アクセスの世界ですが、エクセルで何とか対応したいのですが、ファイルやシートが複数なのでVLOOKUP等では難しいですよね…? どなたかお知恵をお貸しください。

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

  • ベストアンサー
noname#30830
noname#30830
回答No.2

こんにちは。 とりあえず、 1.個人の情報がすぐわかるようにする 2.その後、順次1枚のシートにデータをまとめる ということで、 1.の個人の情報がすぐわかるようにするための作業として、 (1)の基本情報ファイル○○さんの情報の下(あるいは右)に、(2)~(5)の○○さんの情報への“ハイパーリンク”を挿入してみるのはどうでしょうか。 ハイパーリンクは、Excelのシート単位で設定できます。 シート名が氏名でなくても、1度に5つのファイルを開いて作業すれば、それほど手間はかからないと思います。 1.挿入→ハイパーリンク で「ハイパーリンクの挿入」ダイアログボックスが出てきます。 2.該当のファイルをまず見つけて、クリックします。 3.そこで右側の「ブックマーク」ボタンをクリックすると、「ドキュメント内の場所の指定」というダイアログボックスが出てきます。 4.“またはドキュメント内の場所”の下に、シート名の一覧が出てくるはずです。そこで該当のシート名をクリックして、OKをクリックします。 5.リンク名をわかりやすくするために、ハイパーリンクの挿入ダイアログボックスの上の表示文字列を 仮に「(○○さん)入社前履歴」と入力して、OKをクリックしてハイパーリンクを完成させます。 6.するとエクセル上のハイパーリンク名が「(○○さん)入社前履歴」となるので、基本情報以外の情報もクリック1つで参照できます。 これが、現実的な対処法ではないでしょうか。 そこから、個人別に1つのシートにする時間あるかどうかでしょう。 いかがでしょうか。

nao37330
質問者

お礼

ありがとうございます!! とりあえずチャレンジしてみます! やってみてまたご質問するかもしれませんが、よろしくお願いします。

その他の回答 (1)

  • aco_michy
  • ベストアンサー率25% (70/277)
回答No.1

エクセルのマクロ(VBA)と使わないと解決できないと思います。 ただ、社員が固定されているならば、関数での対応でも可能でしょうが・・・

nao37330
質問者

補足

ありがとうございます。 マクロですか…。 簡単なもの(自動的にソート、コピーしてメールに添付まで位)はやった事があるのですが、複雑なものは経験がありません。 勉強せねばならないですね(>_<)。

関連するQ&A

  • エクセルのVLOOKUPの複数参照について

    エクセルのVLOOKUPの複数参照について シート2(kokunai)に A列 B列 1000 シャープ 1010 ソニー 3050 パナソニック とあります。 シート3(yunyuu)に A列 B列 2000 IBM 2001 HP とあります。 シート1のC列に打ち込んだ数字を元にD列にメーカー名を表示したいのです。 D列に IF(C1="","",IF(ISERROR(VLOOKUP(C1,kokunai,1,0))="FALSE",VLOOKUP(C1,kokunai,2,0),VLOOKUP(C1,yunyuu,2,0))) と数式を打ちましたが、エラーが帰って来ます。 どうすれば良いでしょうか?

  • なぜか関数の参照が狂う

    エクセルのVLOOKUP関数を使って、シートの列に入れてるのですが 「=IF(U1560="要",VLOOKUP(シート1!BB1560, シート2!$B$2:$D$12,3),"")」 と入れてオートフィルしてるのに、いつのまにか 「=IF(U1570="要",VLOOKUP(シート1!BB1565, シート2!$B$2:$D$12,3),"")」 とかになってる行があります。 1570行目なら、シート1!BB1570になるべきなのに、なぜか狂います。 オートフィルタなどをすると狂っちゃいますか? マクロを組んだファイルなのですがそれが原因なのでしょうか? 行と同じ値を参照してるのに狂う原因はなんでしょうか?

  • 複数ファイルの情報をひとつに集約したい

    (1)~(4) という名前の四つのファイルがあり、中身はすべて同一形式で作成されています。 A列:見積書NO この(1)~(4)のファイルの情報をひとつに集約するシートを新たに作成したいと考えています。その際、(1)~(4)のA列で、見積書NOが入力されているものだけを抽出していきたいのですが、どのようにすればよいでしょうか? (例:(1)のA列で見積書NOが入力されている行は5行、(2)は3行、(3)は15行、(4)は1行 といった場合、集約されるシートのA列には合計24行が入力されるといった具合です) 残りの情報はVLOOKUPで設定できそうなのですが、この方法だけがわかりません。ご教授願います。

  • 複数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 ※拙い口足らずな説明となってしまいましたが、どうぞ宜しくお願い致します。

  • ExcelのVLOOKUPの列番号を一括で変更したい

    検索しても自分では見つけられなかったので、質問させてください。 私はExcel2007の一個前のものを使っています。 仕事上、sheet1でVLOOKUPを使い、sheet2(データ入力用シート)の情報を読み取るブックを使っています。 作った人とは連絡が取れないので、知恵をお借りしたいです。 そのExcelのVLOOKUPでは、sheet2の14列目を読み取るようにしていますが、13列目に列を挿入して、15列目(挿入前は14列目)を読み取るようにしたいです。 しかし、sheet1のVLOOKUPは1500行も使っている上に、VLOOKUPを使っている行や別のデータを入れている行もあり、簡単には引数を14から15に変更出来ません。 sheet1のVLOOKUPの14を15に返る簡単な方法は無いでしょうか? つたない説明で申し訳ありません。 宜しくお願いします。

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

    エクセルでのデータ整理の件で以下の質問があります。 以下のことができるようなマクロは組めませんでしょうか? 同一フォルダ(仮に、「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行内に各ファイルのデータが入力されている、 といった風にしたいと考えています。) 参考になりそうな過去の回答もありましたので、いくつか試してみたものの、 うまくいきませんでした(私はマクロは少しかじった程度です)。 一個ずつコピペでは非常に骨が折れ、難儀しております。 ややこしい質問ではございますが、ご回答お待ちしております。

  • 複数のcsvファイルを1つのEXCELファイルにマージするVBAを教えてください

    csvファイル数は700~1000個程度でひとつのフォルダに格納されています。 このファイルをEXCEL形式で開くと、1行目にフィールド名(A~Z列で固定)、2行目以降にデータが入っています。行数はファイルにより1~100行程度で変動します。 このファイルを1つのエクセルファイルの同一シートに結合(マージ)するVBAがほしいです。 ここで、(できればですが)EXCELにマージするにあたり、1行目のみフィールドの値、2行目以降にそれぞれのcsvの2行目以降データの値を入れていくようにしたいです。つまり、フィールド名の行が何行も出てくるのを避けたいです。 申し訳ございませんが、ご指導いただけたら幸いです。よろしくお願いします。

  • エクセル LAN内のファイルの参照の仕方

    エクセルでLAN内に接続された別のPC内のエクセルファイルの一部の内容を表示できるようにしたいのですが、可能でしょうか。 ボタンを押し表示するようにしたいので、プログラムの書き方をお願いします。 http://172.16.184.100/cgi-bin/excel.xls 1.上記ファイルのシート名「テスト」のA1のセルの内容を表示する方法 2.また「テスト」内にある表からデータ検索し、表示する方法 3.また開けない場合のエラー表示 2つ目を具体的に書きますと、範囲:「テスト」シートB19~X32、列が名前、行が各データ、「設定」シート(プログラムを書くシート内)のA1内の名前を検索しデータ(例:行10)を表示する。 説明が下手ですみません。2つ目はこちらのデータは無視していただいてもよろしいので、宜しくお願いします。

  • 複数のエクセルファイルを条件付きで一つまとめたい

     最初に誤ったカテゴリーに登録してしまったため、再度、同じ内容をこちらに記載させて頂きますことお許し下さい。 いくつかのエクセルファイルがあり、各々のファイルには同様のフォームで Sheet1とSheet2があります。それぞれのファイルのSheet1に入力されているデータを新しい別ファイルのSheet1にまとめたいのです。その際に最初のファイルAの見出しだけを取り込む、各ファイルのSheet1のA列にはNOを付番してありますが、B列以降は空白になっている行もありこの分については行を詰めて取り込みたいのですが、どのようにしたらよいのかわかりません。毎日、更新する必要があるのできればVBAでと思っておりますが、初心者ながらいろいろと調べてみましたが、なかなかうまくいきません。どなたかお教え下さい。  ファイルAのSheet1   A     B     C    D    E........ W 1   見出し 2  1    5/12  山田   \1000 ........... ............   3   2    (空白) 4   3      6/30   鈴木   \2400  ........... ............. 5  4     7/31  田中   \3500  ........... ............. 6   5    (空白)   上記のような感じです。どなたかお助け下さい。 

  • EXCELのややこしい参照を助けてください

    AとBと言うEXCELファイルがあります Aファイルのシート"a"の、セル”C1”の値と、 Bファイルのシート"b"のc列の値が一致する行の E列のセルの値を、Aに参照利用する文を、教えてください ややこしくてごめんなさい かなり以前にやって、かなり重い処理になった記憶が あるのですが、すっかり忘れてしまいました。 ご存知の方、どうか助けてください! よろしくお願いします。

専門家に質問してみよう