こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Excel 複数条件該当データの別シート表示

Excelで、2つの条件に該当するデータのみ別シートに表示させる方法を教えてください。
Sheet1には、A列:地区 B列に所属 C列には氏名の表があります。
Sheet2に、該当する条件のものだけを表示させるようにしたいのです。
(たとえば、地区=東京かつ所属=総務部)
この条件は、Sheet2のD列以降で指定する欄を設けたいと考えています。

Sheet1のデータ

A列   B列   C列  
地区  所属  氏名
東京  経理部 山田
大阪  経理部 松本
東京  総務部 加藤

よろしくお願いいたします。

投稿日時 - 2012-08-30 19:41:17

QNo.7672017

困ってます

質問者が選んだベストアンサー

こんばんは!
一例です。

↓の画像のようにSheet1に作業用の列を1列設けます。
Sheet1の作業列D2セルに
=IF(COUNTBLANK(Sheet2!$A$2:$B$2),"",IF(AND(A2=Sheet2!$A$2,B2=Sheet2!$B$2),ROW(),""))
という数式を入れオートフィルで下へずぃ~~~!っとコピーしておきます。

Sheet2のD2セルに
=IF(COUNT(Sheet1!$D:$D)<ROW(A1),"",INDEX(Sheet1!A:A,SMALL(Sheet1!$D:$D,ROW(A1))))
という数式を入れ列方向・行方向にオートフィルでコピー!

これでSheet2のA2・B2セルに必要項目を入力すると画像のような感じになります。

参考になりますかね?m(_ _)m

投稿日時 - 2012-08-30 22:09:29

ANo.2

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

仮に、Sheet2が抽出の条件と表示で画像のようにしたとします。
Sheet2の名前のタブを右クリック
コードの表示をクリックして VBエディターを起動

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$2" Or Target.Address = "$E$2" Then
Sheets("Sheet1").Columns("A:C").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range("D1:E2"), CopyToRange:=Range("A5:C5"), Unique:=False
End If
End Sub

を貼り付けて閉じます。
D2セル、E21セルの内容を変更したら、希望のデータがA6~C6以下に表示されます。

詳しくは
http://www.eurus.dti.ne.jp/yoneyama/Excel/filter3.htm
http://www.eurus.dti.ne.jp/yoneyama/Excel/vba/vba_advancedfilter.html
などを参考にしてください。

投稿日時 - 2012-08-30 21:18:51

お礼

ありがとうございます。
今回は、関数だけで簡単に作成したかったので・・・
今後の参考にさせていただきます。

投稿日時 - 2012-08-30 22:34:48

あなたにオススメの質問