限定しりとり

セル
A列:日付
B列:曜日
C列:会社名
D列:商品名
E列:取引場所
F列:担当者名
G列:請求金額
H列:支払金額

以上の内容を記入するシートが【令和2年6月】【令和2年7月】【令和2年8月】…etc
のように過去さかのぼって現在まで50シート程あり、今後も9月、10月とシートが増えて行くのですが、一枚検索用のシート等を作成し、検索シート以外の全てのシートを検索範囲として条件にあったデータ(A列~H列まで)全て抽出出来る方法はありませんでしょうか…

過去に取引した会社の請求金額や、取引回数等を調べたいのですが現状一枚ずつシートを開き確認していくしか術がなく…
エクセルマスター様いらっしゃいましたらお助け願います(>_<)

A 回答 (4件)

#1#2#3の回答者の皆さんの方向で考える方に賛成です。


今からでも設計しなおしませんか。
後日の統計や何やらを考えるとそちらの方がずっといいと思いますよ。
    • good
    • 1

同形式のデータをシートで分けるのは表計算では最も避けるべき仕様


ですが 既に分けてしまった以上は仕方ありません。

ひとまずはマクロで(他の方法では手間がかかり過ぎます)一ヶ所に
集めた方がいいでしょう。まとめてしまえば抽出はフィルタやクエリ
でどうとでもなります。

> エクセルマスター様いらっしゃいましたらお助け願います(>_<)
エクセルマスターはこんな表の作り方は絶対しませんよ……
    • good
    • 2

こんにちは



1シート、2シート程度からの抽出なら関数でやっても何とかなるでしょうけれど、50シートとなるとマクロを利用するのが良いのではないでしょうか?

あるいは、シート数が50でも各シートのデータ数がさほどでもなければ、抽出元のシートとして全部のシートのデータを一つのシートに(関数等で)まとめてしまっておいて、そこから抽出するという方法も考えられますけれど…
関数にしても、マクロにしても、50シート分を全件検索することに変わりはないので、それなりに時間がかかる可能性はあります。

質問者様がマクロを作成できるのなら、マクロで全てを行っても良いのですが、ここでご質問をなさっているということから推測して・・・

1)対象がH列までのようですので、各シートに作業列(例えばJ列とか)を用意しておいて、検索シートの検索値に該当するか否かを関数で表示できるようにセットしておきます。
2)マクロで以下を対象シート分繰り返す(ループ処理)
3)作業列をキーにフィルタをかけて、検索用シートにコピペ

というような方法にしておけば、マクロでの処理内容は2)、3)のみという比較的簡単な内容にできますので、多少の心得があればマクロの記録を基に作成することも可能ではないかと思います。
    • good
    • 1

根本的な解決方法は、


 「 Excel じゃなくて Access を使いなさい 」 
なんだけど。どうしましょう。

・・・
自分なら、そんな作り方をしない。
全部1枚のシートに作っておく。
(あとから検索する必要性があるなら、シートを分けるという選択はない)

ということで、今からでもシートを結合してしまいましょう。
月ごとに閲覧する必要があるという事であれば、月ごとに表示できるようオートフィルタを設定すれば良い。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!