• 締切済み

別シートの条件に合うセルを抽出したい

例えば、sheet1に A列 B列   C列 1/1 東京  佐藤 1/1 横浜  鈴木 1/2 北海道 山田 1/3 大阪  加藤 と入力したとします。 このとき、sheet2のA1に1/1と入力すると、Sheeet2のA2、A3に1/1、B2、B3に東京、横浜、C2、C3に佐藤、鈴木と自動的に表示されるようにしたいのですがどうしたらよいのでしょうか?

みんなの回答

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.4

添付図のように作成し, シート2の A3: =IF(ROW(A1)>COUNTIF(Sheet1!A:A,$B$1),"",SMALL(IF(Sheet1!$A$1:$A$100=$B$1,ROW($A$1:$A$100)),ROW(A1))) を記入してコントロールキーとシフトキーを押しながらEnterで入力し,下向けにコピー。 B3: =IF(A3="","",INDEX(Sheet1!A:A,$A3)) を記入し,下に右にコピー。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

シート1のD列は作業列としてD1セルには次の式を入力して下方にオートフィルドラッグします。 =IF(A1="","",A1&"A"&COUNTIF(A$1:A1,A1)) シート2のA2セルには次の式を入力して右横方向にオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(OR(COLUMN(A1)>3,COUNTIF(Sheet1!$D:$D,$A$1&"A"&ROW(A1))=0),"",INDEX(Sheet1!$A:$C,MATCH($A$1&"A"&ROW(A1),Sheet1!$D:$D,0),COLUMN(A1)))

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

方法はいくつもありますが、フィルターオプションを使ったVBA案です。 準備として Sheet1に   A  B   C 1 日付 場所 名前 2 1/1 東京  佐藤 3 1/1 横浜  鈴木 4 1/2 北海道 山田 5 1/3 大阪  加藤 ・・と1行目に項目名を準備します。 同様に別シートに   A  B  C 1 日付 2 1/1 3 4 5 日付 場所 名前 6 とA1:A2に検索したい条件を入れる範囲 5行目に、表示したい項目名を準備します。 Sheet2の名前のタブを右クリックして、コードの表示をクリック VBエディターが起動しますので Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$2" Then Sheets("Sheet1").Columns("A:C").AdvancedFilter Action:=xlFilterCopy, _ CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A5:C5"), Unique:=False End If End Sub を貼り付けて閉じます。 A2セルに日付を入れると一覧表が表示されると思います。

  • umach
  • ベストアンサー率35% (600/1691)
回答No.1

http://allabout.co.jp/gm/gc/3143/ で出来そうですよ。

関連するQ&A