• ベストアンサー

複数のシートでデータ検索し値を入力

Excel2007を使用しているものです。添付した画像のように、年度ごとに各会社ごとのデータをシートで管理しており、履歴検索というシートでいずれかの社名を入力すると、その会社の各年度のカテゴリと金額を自動で一覧として表示するようにしたいと思っています。 こういった内容は、マクロで可能ですか?もしくは、マクロを使用せずに関数や、他の機能を使用して行えるようであれば、方法を教えて頂けるとありがたいです。 よろしくお願い致します。

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

  • ベストアンサー
  • msMike
  • ベストアンサー率20% (364/1804)
回答No.2

添附圖參照 “履歴検索”シートに於いて、 式 =IFERROR(VLOOKUP($B$1,INDIRECT("'"&$A3&"'!$A$1:$C$7"),COLUMN(B1),FALSE),"") を入力したセル C3 を右隣及び下2行にオートフイル

その他の回答 (2)

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

参考に。 質問の原データの状況と、ほしい最終結果がよくわからない。 質問の説明文が、あらっぽ過ぎる。 私など回答では、元データ例と、結果データ例をほとんどの回答に書いて、回答している。 ーーー VBAで処理することを念頭に考えると、 原データのA社はA列に複数回現れるのではないか? (1)またカテゴリは社内慣用用語なのだろうが、部外者には(出現状況など)よくわからない。 特に、カテゴリは会社と組み合わせて、複数行に現れるか?年度ごとに替わるのか」? VBAでは、検索はFindメソッドを使うことが多いが、 複数該当が予想されるケースでは、初心者には、複雑だ。 でも、WEBで照会すれば記事がたくさんある。 (2)https://programming-study.com/technology/vba-find-hukusu/ findで複数の条件を検索する方法 >Findでは検索語を1つしか指定することはできないので 複数の条件を付与したい場合はコードを工夫する必要があります。 とあるように、簡単ではない。SQLを使うACCSESなどでは記述しやすいが。 (3)複数シートのデータを検索するのも、特別それ向けの機能がない。 Bookならなおさら同じような事情です。 あるだけのシートをFindなどで繰り返し検索せねばならないと思う。 できることなら、シートを分けないでデータを作成したほうが、処理はたやすいと思う。本件はそうも言ってられないかもしれないが。 同じフォーマットなら、年度列を付加して、各年のデータを1シートにまとめてから処理するのも手だ。 初心者には上記の趣旨がわかりずらいだろうが、処理が難しいパターン化もしれない。

milk_ayame
質問者

お礼

ご回答いただきありがとうございます。質問させていただくのが初めてだったので、説明不足があったり、わかりにくい文章で失礼致しました。

  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.1

たとえば 履歴検索のA1に社名を入れるとして B1に2020←(シート名です) B2に2019 B3に2018 と入れたとしてC1に以下の式を入力します =IFERROR(VLOOKUP($A$1,INDIRECT("'" & $B1 & "'!$A:$C"),COLUMN(B:B),FALSE),"") あとC1をD1にコピーしてC1とD1を下方向に必要なだけコピーします。

関連するQ&A