お世話になります。
シートが複数あり、各シートA列には名前が書かれています。
A列にある山田さん、田中さんなど複数の名前が含まれる行を一度に抽出して別ブックにコピーしたいです。(各セルには色もつけているので書式設定も変えないままコピー)
A列に書かれている名前は多いシートだと数万行あり、重複していることもありますし、別シートにも同一人物がいます。その全てを抜き出したいです。
また一度に抽出したい名前は500人以上あり毎回違いますが、その一覧は別ブックなどにかんたんに用意できます。
宜しくお願いします。
No.2ベストアンサー
- 回答日時:
No1です
マクロを作成なさるのなら、それでも良いと思います。
一方で、補足でご説明の程度なら関数やエクセルの機能を用いても、仕組みさえうまく作成しておけば可能と思われます。
シートの数によって手間は多少違いますが、基本的には同じです。
抽出したいシートのどこかに対象の名前を入力するセルを設定します。
1シート当たり(例えば)該当が10件程度とできるのなら、2~11行を最初のシート、12~21行を次のシート・・・というように割り当てて、関数を利用してそれぞれのシートから抽出します。
抽出関数が作成できなければ、フィルタオプションを各シートに設定しておいて、その結果を単純参照する形でも実現できるでしょう。
これで、一応、該当するデータをひとつのシートにまとめられますが、行が飛んでいるので、上記の抽出を作業列と考えて、再度、関数またはフィルタオプションで抽出すれば、最終的に求める表ができることになります。
この結果をコピペすれば、コピペは一回で済みますね。
関数で仕組みを作成しておけば、名前さえ入力すれば自動的に抽出できるので、「コピー」ー「値のペースト」だけで終了します。
フィルタオプションによる場合は、各シートでフィルタをかけ直す手間が増えますが、設定を変える必要はないので、たいした手間では無いものと思います。
シート数が多くて、それでも面倒というのであれば、この作業だけをマクロ化すれば良いでしょうから、「マクロの記録」などで作成しておけばそのまま再利用が可能でしょう。
※ いずれにしろ、No1でも述べたように対象のデータ数が多そうなので、エクセルの計算にも若干の時間がかかる可能性があります。
何度もご丁寧に回答くださりありがとうございます。
抽出関数やフィルターオプションというものに関して勉強不足で…
すぐに出来そうにないため今回は、別のカテゴリーで質問をさせていただくことにしました。
本当にありがとうございました。
No.1
- 回答日時:
こんにちは
申し訳ありませんが、回答ではありません。
自動的に処理したいのならVBAで行うのが手っ取り早いと思います。
一方で、
>シートが複数あり
>前は多いシートだと数万行あり
とのことなので、最悪の場合1シートに収まらない可能性があるかもだけれど、その場合はどうするのでしょうね?
>一度に抽出したい名前は500人以上あり
名前毎に別ブックにするのか、同じブックにシートを変えて抽出するのかなどでもプログラムは変わってきますし、そもそもその名前がどこにあるのかによっても異なります。
また、
・抽出するのは一つの名前だけなのか、複数の名前を同時に抽出するのか
・名前は完全一致で抽出でよいのか
などでも変わってきます。
いずれにしろ、各シートをオートフィルタで絞り込んで抽出し、コピペするのが簡単と思います。
この方法でなら雛形程度でよければ(実際にはそのままでは使えませんが)、基本部分は「マクロの記録」でも作成可能です。
とは言え、数万×複数シートに対して500人程度の処理を行うと、それなりの時間がかかるのではないかと思われます。
回答ありがとうございます。
仰るようにVBAの分野かなと思うんですが…
質問する場所が違いましたかね(汗)
以下まとめて返事させていただきます。
過去のレースラップデータを距離別にシート分けしているため、同一人物が同じ距離を何度か走っていたり、別距離を走っていたりするため、複数のシートに分かれています。
名前ごとにシート分けしなかったのは、各距離ごとのほうが分析(計算)しやすかったためです(汗)
今から名前ごとに分類するにもどうすればよいのかもわからず・・・。
一人あたりの生涯レース数はマチマチですが、過去5年分のデータから抽出するため、多くて十数レース、少なくて5レース未満だと思います。つまり1シートに何万行もデータがありますが登録者数が異常に多いだけで、同一人物(同姓同名も含む)のレース数はそれほど多くないと思われます。
したがって抽出結果が1シートに収まりきらないことは想定していません。
同姓同名の可能性もありますが、あくまでも一つのブックにまとめた全シートA列から名前が完全一致した行を、別のブックに抽出する作業を簡略化したく質問させていただきました。
現在はEXCELの「検索と置換」で文字列検索してコピペしていますが、何分500人以上もあると取り掛かるのが億劫になってしまい作業が捗らず。
皆様のお知恵を拝借したく質問させていただきました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
- Excel(エクセル) 複数セルデータを別シートの単一セルにコピーしたい。(詳細をご参照ください) 1 2022/12/14 15:08
- Excel(エクセル) エクセルの条件付き書式で*を使いたい 4 2022/05/13 16:49
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Visual Basic(VBA) 特定の文字を含むシートだけマクロ処理をしたい 1 2023/05/22 01:43
- Visual Basic(VBA) エクセルについて教えてください。 3 2023/06/28 09:11
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) エクセルの数式について ブック内の別シートの値の含まれたセルの個数を集計したい 全シート一覧のシート 1 2022/07/21 19:28
- Visual Basic(VBA) VBA 最終行まで数式をコピーする 3 2023/01/03 15:44
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで入力シートから別シ...
-
Excel 複数のシートからグラフ...
-
VBAでシート名をセルから取得し...
-
ExcelVBAで、指定したシートに...
-
VBAを利用しオートフィルタで日...
-
エクセルについて質問です 日付...
-
エクセル自動の年月
-
【Excel】VLOOKUP関数で複数の...
-
VBA セルの値と同じ名前のシー...
-
エクセルで入力→日付を自動判別...
-
エクセルVBAで
-
EXCEL VBA 一致しないデータの...
-
エクセルVBAで元のシート上の特...
-
【エクセルVBA】処理速度を...
-
Excel日付変更との参照先の連動
-
エクセル シフト勤務表から、...
-
VBAのoffsetの動き方について教...
-
エクセル マクロを使って日々...
-
EXCELの日付データをWORD文書に...
-
エクセルにて別シートの値を参...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで入力シートから別シ...
-
ExcelVBAで、指定したシートに...
-
エクセルのワークシートが重く...
-
IF, ISNUMBER, INDIRECTの組み...
-
VBA セルの値と同じ名前のシー...
-
Excel ハイパーリンク先のセル...
-
エクセル シフト勤務表から、...
-
Excel 複数のシートからグラフ...
-
VBAでシート名をセルから取得し...
-
Excelの中央値の複数条件について
-
エクセルについて質問です 日付...
-
エクセルで入力→日付を自動判別...
-
VBAのoffsetの動き方について教...
-
エクセル自動の年月
-
エクセルVBA:表の内容を担当者...
-
エクセル 毎日更新する表のデ...
-
エクセル マクロを使って日々...
-
質問:特定文字列から空白行ま...
-
EXCEL VBA 一致しないデータの...
-
エクセルにて別シートの値を参...
おすすめ情報