• ベストアンサー

エクセルでシートをまたぐ関数について

こんばんは、仕事で効率化を図るため関数が必要となったのですが、 シート間をまたぐ関数が分かりません。どなたか教えてください。 例えば、    A      B      C     1 機械番号  担当者番号   日付 _________________    2  AA-05     H-6    6/2 3  ES-12     R-9    5/31 4  LT-32     G-118   6/8 5  NB-45     H-6    6/5 6  AA-05     R-9     5/25 7  NB-45     G-118    5/5  <Sheet1>                    という表がSheet1にはあって    A      B      C     1 担当者番号  機械番号    日付 _________________    2  H-6      AA-05    6/2 3          NB-45    6/5 4  5  R-9      ES-12    5/31 6         AA-05    5/25 7 8  G-118     LT-32    6/8 9          NB-45    5/5   <Sheet2>                      という風な集約用の表 Sheet1に入力したデータをSheet2で指定の項目にしたがって集約させたいと考えています。 Sheet1に機械番号・担当者番号・日付を入力しておきます。 Sheet2で担当者番号を入力すると、機械番号と日付が出るようにしたいのですが、どなたか教えてださい。

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

  • ベストアンサー
  • wine_labo
  • ベストアンサー率86% (73/84)
回答No.1

すぐ「関数」というふうに考えずに、 エクセルにある機能で代用してみてはいかがでしょうか? この例ですと、要は担当者ごとに把握できればいいと思いますので オートフィルタ機能でじゅうぶんだと思います。 データ→フィルタ→オートフィルタでできます。 あとはデータそのものを担当者で並べ替えするとか。 オートフィルタですと担当者ごとに選べますので、選んだ担当者のデータが一覧になります。 それにいちいち担当者を入力しなくてもコンボボックスで選ぶだけで可能です。 オートフィルタは他の使い方もできますので、使い方と考え方次第ではいろいろ便利かと思います。 試してみてはいかがでしょうか?

sion-
質問者

補足

早々のお返事ありがとう御座います。 説明文に記入漏れがありましたので、ここで補足させていただきます。 そのデーターが手元に来るのが少しずつなので・・・ 手元に来たデーターから入力していくと、その入力して行ってるデーターを リアルタイムでSheet2の表に反映させたいという事を書き忘れておりました・・・ もちろんオートフィルでも可能なのですが・・・ データの量が半端じゃなく・・・また、毎日何件かずつ 手元に届きますので、その都度オートフィルで拾い上げて、 Sheet2に持っていくと、データが重複する恐れがあるので・・・ データが発生した都度、リアルタイムでSheet2の方へ飛ばしたいのですが・・・ こんな事って・・・・出来るのでしょうか? お力をお貸しください。

その他の回答 (2)

  • an_inack
  • ベストアンサー率47% (9/19)
回答No.3

Excelにある「ピボットテーブル」という機能はご存知でしょうか。 ためしにSheet1の内容を元にピボットテーブルウィザードを実行してみたら、 Sheet2の内容を得ることができました。 余分な情報も出てしまいますが、 それは手で消すなり方法はいくらでもあります。 これならSheet1の内容が変更されたら、 「データの更新」ボタンを押すだけで、 Sheet2の内容が即時反映されますから楽ですよ。 よかったら試してみてください。

  • wine_labo
  • ベストアンサー率86% (73/84)
回答No.2

#1です。補足を踏まえて・・・ エクセルでもそのような処理を行うマクロを組めばできなくはないのですが、 そう言うとおそらく「ではそのマクロを教えてください」と来るでしょう。 私が客先から同様の要望をもらったなら、あえて「エクセルではできません」と言ってアクセスで組むようにすすめます。 ヘタに「できなくはない」と言うと「ではエクセルでやってください」と言われますから。 エクセルでは組みづらい上に使いづらく煩雑になると思いますので適切なツールとは思えません。 たとえるなら、釘を打つのに、金槌(Access)を使うかスパナ(Excel)を使うかの違いのようなものでしょう。 どちらでも釘は打てますが、無理にスパナで毎日釘を打つためのコツを教えるよりは金槌使うほうが簡単で扱いやすく効率的でしょう。 特に仕事で毎日使うものでしたら、一時的に新しいものを覚える手間があっても 処理に適切な道具を選択する柔軟性も大事だと思います。 余計なことと思われるかもしれませんが、「効率化」を図りたいのでしたらなおさら、 無理にエクセルだけでこなそうとする「効率の悪い」方法自体を改める必要があるように感じられます。 データ自体はエクセルからアクセス、またはその逆、とやりとりできますから必要に応じて移せます。 後々も続くであろうエクセルでちくちく処理するための人件費や時間、ミスしたときの手間などを考えますと アクセスを購入してでも作るほうが効率的かつ経済的かと思います。 このような仕様のものを無理にエクセルで作ったとしても、 アクセスで作るよりも処理内部も操作も煩雑になりやすいため操作ミスも起きやすく、保守もしづらいと思いますので私はあまりおすすめしません。 業務頻度やデータ件数を考えるとなおさらです。 アクセスならテーブル、クエリー、フォーム、レポートと作る必要があると思いますが、 それでもこの程度の仕様でしたらVBAでコーディングしなくてもほとんどウィザードでできるでしょうから あまり深く考えることなく構築できると思います。 新たなエクセルデータの取込(または新規入力)、取込日時の埋め込み、重複データチェック、データ抽出、など 簡単ないくつかの機能を分けて作り、順に動かすことで対応できると思います。 普段エクセルを使っているのでしたら、それほど抵抗なく覚えて簡単に作ることができると思います。 1件ごとに取込日時があれば、いつ入ったデータか切り分けできるでしょうから後に確認するときも便利でしょうし いちいちエクセルでシートごとに管理するよりはデータも一元化でき、機能も実現でき日々の操作も簡潔でいいと思います。 題意に沿っていないかもしれませんが、アクセスでの構築をおすすめします。 あとは必要に応じてアクセス←→エクセルでデータをやりとりしてみてください。

関連するQ&A