
こんばんは。教えてください。
元データ(sheet1)を更新するたび
2つの条件にあったデータを
別シートに自動的に抽出したいので
適した関数がありましたら教えてください。
◇シート1◇ ※元データ
A B C D F
1 氏名 役職 部署 年齢 移動時期
2 山田 社員 開発 45 未調整
3 田中 社員 人事 42 4/1~
4 鈴木 派遣 企画 30
5 高橋 役員 人事 50 未調整
6 坂野 社員 企画 33 未調整
7 井上 派遣 企画 29 未調整
◇シート2◇ ※部署が人事で移動時期が未調整の人のみ抽出
A B C D F
1 氏名 役職 部署 年齢 移動時期
2 高橋 役員 人事 50 未調整
補足
・元データ(シート1)はこれからもデータを追加するので
その度、シート2、シート3もそれぞれ自動で反映されるようにした いです。
・マクロ、VBAは知識がないので
関数で作成したいです。
・できるだけエラー(#N/Aなど)表示されないようにしたいです。
説明が不十分で伝わりにくいかと思いますが
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
> 部署を"人事"と"企画"の両方で抽出する条件を追加する
おはようございます、merlionXXです。
Operator:=xlOr, Criteria2:="=企画" と、OR条件で"企画"を加えれば可能です。
一応、各コードの動きに解説もつけておきました。(解説は’でコメントアウトしてますのでこのまま貼り付けてもOKです。)
Private Sub Worksheet_Activate() 'このシートがアクティブになったら自動実行
With Sheets("Sheet1") 'Sheet1対して
.AutoFilterMode = False 'オートフィルタ終了(あればエラーになるため)
.Range("A1:E1").AutoFilter 'A1:E1にオートフィルタ設定
.Range("A1:E1").AutoFilter Field:=3, Criteria1:="=人事", Operator:=xlOr, Criteria2:="=企画" '左から3つ目のフィルタを"人事"と"企画"のOR条件で抽出
.Range("A1:E1").AutoFilter Field:=5, Criteria1:="未調整" '左から5つ目のフィルタを"未調整"で抽出
.Range(.Range("A1"), .Range("A1").SpecialCells(xlLastCell)).SpecialCells(xlCellTypeVisible).Copy Range("A1") 'A1から最終セル範囲の可視セルをこのシートのA1以降に貼り付け
.AutoFilterMode = False 'オートフィルタ終了
End With 'Sheet1に対する記述おわり
End Sub
朝からご回答いただき、助かりました。
ご丁寧にコメントまで入れていただき、
大体の内容を理解できたので、編集して資料作成間に合いました!
どうもありがとうございました!
No.2
- 回答日時:
》 マクロ、VBAは知識がないので関数で作成したいです。
関数の知識も必要ない[フィルタオプションの設定]は如何ですか?
「エラー(#N/Aなど)表示され」ません。
ご回答ありがとうございます。
フィルタオプションの設定をwebで調べてみましたが
とても便利ですね。
応用を使いこなせれば今回の表に対応できそうです。
どうもありがとうございました。助かりました。
No.1
- 回答日時:
それは関数では非常に難しいですね。
元データの名前はSheet1でいいんですね?
抽出先のSheet名はSheet2でいいんですね?
VBAは知識がないなら勉強しましょう。
簡単ですので以下の手順を試してください。
1.Sheet2のタブを右クリックし、「コードの表示」を選択。
2.出てきたVisualBasicEditor(白い部分)に下記のコードをコピペ。
'*****ここから下をコピペ*****
Private Sub Worksheet_Activate()
With Sheets("Sheet1")
.AutoFilterMode = False
.Range("A1:E1").AutoFilter
.Range("A1:E1").AutoFilter Field:=3, Criteria1:="人事"
.Range("A1:E1").AutoFilter Field:=5, Criteria1:="未調整"
.Range(.Range("A1"), .Range("A1").SpecialCells(xlLastCell)).SpecialCells(xlCellTypeVisible).Copy Range("A1")
.AutoFilterMode = False
End With
End Sub
'*****ここより上までをコピペ*****
3.AltキーとF11キーを同時に押してワークシートへもどります。
これでSheet1に入力(変更)したあとでSheet2を選択すると、そのようになります。
ご回答ありがとうございます。
求めていたものは、まさに、コレです!!
セル番号など変更して利用させていただきたいのですが
部署を"人事"と"企画"の両方で抽出する条件を追加することが
可能であればどのような条件を入力すればよいでしょうか?
入力箇所はわかるので
追加のコード(?)を教えていただけると幸いです。
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Excel(エクセル) Excelマクロの差分抽出のコードを教えていただきたいです。 2 2023/03/14 11:40
- その他(パソコン・スマホ・電化製品) エクセル初心者です。 仕事でエクセルを使っていて、普段は素人でもできる簡単な関数を使ったことがある程 1 2022/05/25 11:17
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) エクセルについて教えてください。 3 2023/06/28 09:11
- Excel(エクセル) Excelでのデータ管理 6 2022/12/24 09:33
- Excel(エクセル) Excelにて 別シートからのデータ参照方法 2 2022/12/07 13:00
- Excel(エクセル) [Excel2016] 相関表等の自動作成 2 2022/08/01 20:34
- Excel(エクセル) Excel 関数 vlookupなどの使い方について質問です。 シート1に品番、商品名、単価、発注条 6 2022/06/15 19:16
- Excel(エクセル) Excelの関数でこんな処理ができますか 1 2023/02/08 13:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
excelの不要な行の削除ができな...
-
エクセルファイルのシート毎の容量
-
Excelでシートの違うデータでグ...
-
複数シートからデータを拾って...
-
シート削除して同名シート追加...
-
エクセルVBAで、特定文字から始...
-
Googleスプレッドシートフィル...
-
重いExcelファイルのことで教え...
-
時間帯の重複を除いた集計について
-
Excelマクロ 差分抽出の方法が...
-
エクセル 縦に長い表の印刷時...
-
ExcelマクロのSendkeysで処理途...
-
ユーザーフォームで別シートを...
-
Excelですが、同一データが複数...
-
Excelで日付変更ごとに、自動的...
-
Excel 売上管理シートに入力し...
-
VBAでデータを縦結合する方法
-
【エクセル】従業員リストから...
-
Excelファイルの容量が異常に大...
-
VBAで CTRL+HOMEの位置へ移動...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
excelの不要な行の削除ができな...
-
エクセルファイルのシート毎の容量
-
Excelでシートの違うデータでグ...
-
複数シートからデータを拾って...
-
シート削除して同名シート追加...
-
Excelで日付変更ごとに、自動的...
-
Googleスプレッドシートフィル...
-
VBAで CTRL+HOMEの位置へ移動...
-
トランジスタの選び方
-
エクセル 縦に長い表の印刷時...
-
他のシートの一番下の行データ...
-
EXCELで2つのファイルから重複...
-
EXCEL の表を一行ずつシートに...
-
【エクセルマクロ】複数シート...
-
【マクロ】同じフォルダ内にあ...
-
時間帯の重複を除いた集計について
-
Excel 売上管理シートに入力し...
-
エクセル マクロ "特定の日付...
-
ユーザーフォームで別シートを...
-
エクセルで名簿を50音で切り分ける
おすすめ情報