下記の表(元データ:シート名「山田」)があります。
----------------------------------------------------------------
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
夏が終わったと感じる瞬間って、どんな時?
まだまだ暑い今日この頃。 しかしながら、もう夏は終わっている!……はず。 あなたが思う「夏が終わった!」エピソードを教えてください。
-
家・車以外で、人生で一番奮発した買い物
どんなものにお金をかけるかは人それぞれの価値観ですが、 誰もが一度は清水の舞台から飛び降りる覚悟で、ちょっと贅沢な買い物をしたことがあるはず。
-
CDの保有枚数を教えてください
ひとむかし前はCDを買ったり借りたりが主流でしたが、サブスクで簡単に音楽が聴ける今、CDを手に取ることも減ってきたかと思います。皆さんは2024年現在、何枚くらいCDをお持ちですか?
-
ちょっと先の未来クイズ第4問
11月ごろに発表される、2024年の「新語・流行語大賞」にノミネートされる言葉を書けるだけ書いてください。
-
14歳の自分に衝撃の事実を告げてください
タイムマシンで14歳の自分のところに現れた未来のあなた。 衝撃的な事実を告げて自分に驚かせるとしたら何を告げますか?
-
1年分のデータから特定の月分のデータを抽出→表示
Excel(エクセル)
-
エクセル 指定した月のデータを自動的に反映させられる方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字の色も参照 VLOOKUP
-
VBAで繰り返しコピーしながら下...
-
【条件付き書式】countifsで複...
-
VLOOKアップ関数の結果の...
-
ExcelのVlookup関数の制限について
-
エクセルの列の限界は255列以上...
-
2枚のエクセルシートの情報を合...
-
初心者です: Excel 集計機能(...
-
エクセルVBAでエラーがでます。
-
エクセル マクロ 標準モジュー...
-
エクセル機能 オートフィルター
-
エクセル関数に詳しい方、教え...
-
VBAで検索して、行をコピー&追...
-
Excel の複数シートの列幅を同...
-
エクセルで横並びの複数データ...
-
EXCEL VBAのコンボボックスに取...
-
エクセルファイルを開く時、常...
-
Excelでシートの違うデータでグ...
-
複数シートからデータを拾って...
-
EXCELで複数のシートを一度に「...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelのVlookup関数の制限について
-
文字の色も参照 VLOOKUP
-
エクセルの保護で、列の表示や...
-
Excel の複数シートの列幅を同...
-
Excelでの並べ替えを全シートま...
-
Excel VBA ピボットテーブルに...
-
VBAで繰り返しコピーしながら下...
-
エクセルの列の限界は255列以上...
-
エクセル マクロ 標準モジュー...
-
エクセルで、チェックボックス...
-
スプレッドシートでindexとIMPO...
-
【条件付き書式】countifsで複...
-
SUMPRODUCTにて別シートのデー...
-
エクセルで横並びの複数データ...
-
エクセルVBAで、ある文字を含ん...
-
エクセル複数シートのデータを...
-
Excelに自動で行の増減をしたい...
-
VLOOKアップ関数の結果の...
-
Excel 2段組み
-
【VBA】複数のシートの指定した...
おすすめ情報