• ベストアンサー

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

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

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! 一例です。 ↓の画像のように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

その他の回答 (1)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.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 などを参考にしてください。

kero-taka21
質問者

お礼

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

関連するQ&A

専門家に質問してみよう