下記の表(元データ:シート名「山田」)があります。
----------------------------------------------------------------
A B C D
1) 名前 A子 B子 C子
2) 退会日 2017/3/7 2017/4/12 2017/4/3
----------------------------------------------------------------
上記より、特定月に退会する人のみの情報を別シートに抽出したいのですが、
どのように数式を組めば良いのか分からず、悩んでいます。
どんな関数を使用すれば良いのか、具体的に教えて頂ければ幸いです。
下記は、抽出する先のシートの様子です。
----------------------------------------------------------------
A B C D
1) 4月
2) 名前 担当者 退会日
3)
4)
5)
----------------------------------------------------------------
抽出したい退会月は、抽出シートのA1セルに入れています。
(「2017/4/1」と入力したものをユーザー設定で『4月』と表示しています)
元データから抽出したい項目は、A列の名前とC列の退会日なので、
A列の3行目以降、C列の3行目以降に関数を入れて反映したいと考えています。
※元データ:シート名「山田」の場合、
B子さんとC子さんの名前と退会日が抽出できればOK!
また、元データのシート名は「担当者」の名前にしています。
もし、元データのシート名を、抽出シートのB列に反映できる技があれば、
そちらもご教示ください。
よろしくお願いいたします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
こんばんは!
VBAになりますが、一例です。
↓の画像のように担当者分のSheetが存在していて、各シートとも画像のような配置だとします。
尚、抽出するシート名は「抽出」としています。
標準モジュールにしてください。
Sub Sample1() '//この行から//
Dim j As Long, k As Long, lastRow As Long, wS As Worksheet
With Worksheets("抽出")
lastRow = .Cells(Rows.Count, "A").End(xlUp).Row
If lastRow > 2 Then
Range(.Cells(3, "A"), .Cells(lastRow, "C")).ClearContents
End If
.Range("C:C").NumberFormatLocal = "yyyy/m/d"
For k = 1 To Worksheets.Count
Set wS = Worksheets(k)
If wS.Name <> .Name Then
For j = 2 To wS.Cells(2, Columns.Count).End(xlToLeft).Column
If Month(wS.Cells(2, j)) = Month(.Range("A1")) Then
With .Cells(Rows.Count, "A").End(xlUp).Offset(1)
.Value = wS.Cells(1, j)
.Offset(, 1) = wS.Name
.Offset(, 2) = wS.Cells(2, j)
End With
End If
Next j
End If
Next k
End With
End Sub '//この行まで//
※ 関数でないので
データ変更があるたびにマクロを実行する必要があります。m(_ _)m
ご回答頂き、ありがとうございます。
ただ、VBAは勉強不足で理解出来ておりません・・・
折角ご教示頂いたのに、申し訳ございません。
今後、知識が身に付いた時に参考にさせて頂きます。
本当にありがとうございました!
No.2
- 回答日時:
B列に担当者(シート名)を表示させるということは、
シート名を指定せずに、月だけの指定でA列・C列を表示させ、更に該当するシート名をB列に表示させたいということですか?
関数で検索するのであれば、少なくともシート名の指定は必要です。
具体的な指定でなくても、シート名一覧(この場合担当者名一覧でも可)が必要です。
シート名一覧の横に、各シートの該当データがいくつあるかを表示させ、
抽出したいセルのデータがどのシートのものであるかを判断し、 ←これがB列に表示するデータです。
そのシートにある該当する番目のデータの列を把握し、
その列にある表示させたい行のデータを抽出する。 ←これがA列・C列に表示するデータです。
という段階を踏まなければなりません。
一覧を用いずにブック全体を検索したいというのであれば、VBAでの回答をお待ちください。
ご回答頂き、ありがとうございます。
質問内容が分かりづらく、申し訳ございません。。。
シート名を指定せずに、A列・C列を表示させたい、という訳ではありません。
B列には、シート名になっている担当者名を反映できれば良いな~と思っていたので、
ついでにB列についても質問させて頂きました。
A列・C列の数値を他のシートから引っ張ってくるのなら、
シート名を指定せずにやることが出来ないことは理解しております。
その上で、特定月に退会する人のみの情報を
別シートに抽出する方法をお教え頂ければ幸いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Excel(エクセル) Excelの関数でこんな処理ができますか 1 2023/02/08 13:46
- Excel(エクセル) Excelマクロの差分抽出のコードを教えていただきたいです。 2 2023/03/14 11:40
- Excel(エクセル) マクロか関数で処理したいのですが、教えて頂けませんか。 8 2022/10/31 15:18
- Excel(エクセル) 複数セルデータを別シートの単一セルにコピーしたい。(詳細をご参照ください) 1 2022/12/14 15:08
- Excel(エクセル) EXCEL 関数を教えてください。(A列の同じ値が複数ある場合vlookupで出来ますか) 4 2022/12/07 20:54
- Visual Basic(VBA) AdvancedFilterについての質問 2 2022/07/02 22:58
- Visual Basic(VBA) 複数シートの複数列に入力されているデータを重複なしで抽出するVBAを作りたいです。 9 2022/06/17 10:33
- Excel(エクセル) VBAで同フォルダ内の別ブックを開かず参照して条件の一致する行の指定セルを抽出するには? 1 2022/07/21 19:29
- Visual Basic(VBA) エクセルについて教えてください。 3 2023/06/28 09:11
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelのVlookup関数の制限について
-
VBAで繰り返しコピーしながら下...
-
エクセルの保護で、列の表示や...
-
文字の色も参照 VLOOKUP
-
Excel の複数シートの列幅を同...
-
Excelでの並べ替えを全シートま...
-
エクセル複数シートのデータを...
-
エクセルVBAで、ある文字を含ん...
-
エクセル マクロ 標準モジュー...
-
【エクセル】1列のデータを交...
-
エクセルで、チェックボックス...
-
エクセルVBA 行追加時に自...
-
データチェックを行うエクセル...
-
Excelに自動で行の増減をしたい...
-
VBAで検索して、行をコピー&追...
-
ある数値に対して、値を返す数...
-
エクセルのブック分割マクロを...
-
【条件付き書式】countifsで複...
-
Excel VBA ピボットテーブルに...
-
SUMPRODUCTにて別シートのデー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
文字の色も参照 VLOOKUP
-
ExcelのVlookup関数の制限について
-
エクセルの保護で、列の表示や...
-
VBAで繰り返しコピーしながら下...
-
Excel の複数シートの列幅を同...
-
Excel複数シートにあるデータを...
-
エクセルの列の限界は255列以上...
-
【条件付き書式】countifsで複...
-
エクセル マクロ 標準モジュー...
-
Excelでの並べ替えを全シートま...
-
SUMPRODUCTにて別シートのデー...
-
エクセルで、チェックボックス...
-
スプレッドシートでindexとIMPO...
-
VLOOKアップ関数の結果の...
-
Excel VBA ピボットテーブルに...
-
エクセルで横並びの複数データ...
-
Excelに自動で行の増減をしたい...
-
【VBA】ピボットテーブルを既存...
-
【VBA】複数のシートの指定した...
-
オートフィルタ使用時にCOUNTIF...
おすすめ情報