[[20160810192321]] 『別シートへのデータ抽出方法』(エクセル初心者) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『別シートへのデータ抽出方法』(エクセル初心者)

初めての質問です。

 A   B    C
123   スズキ  その他
456  カトウ  千葉
789  ヤマダ   茨城
147  イトウ その他
258  オオタ   京都

上記のようなデータがシート1にあり、C列が「その他」の場合のみ
別のシートのA列とB列にシート1のA列とB列のデータを抽出する方法がわかりません。

また、抽出したデータは空欄なく上詰めで表記されるようにしたいです。

素人質問ですいません。
何卒よろしくお願いします。

< 使用 Excel:unknown、使用 OS:unknown >


 1行目をタイトル行にしたうえで、フィルターオプションではだめですか?

(β) 2016/08/10(水) 19:38


ご回答ありがとうございます。

毎日、検索用のデータを更新し、自動更新で抽出できるようにしたいのですが、
フィルターオプションで可能ですか?
(エクセル初心者) 2016/08/10(水) 20:06


 フィルターオプションは、あくまでエクセルの機能であり、その機能を実行するためには
 【操作】が必要です。そんなに、手の込んだ操作ではなく、ちょこちょこっといった程度ですけど。

 そういった操作を一切したくない、何もしないで、シートを眺めたら、ちゃんと抽出されているということに
 こだわるなら、関数をシート上にぎっしりと埋め込むことになります。

 あるいは、フィルターオプションの操作を束ねて、いわゆる、本当の意味での【マクロ】にしておいて
 ワンクリックで抽出ということもできますし、それこそ、この【マクロ】の稼働方法にちょっと手を入れれば
 抽出用シートを開いたときの自動更新もできます。

(β) 2016/08/10(水) 20:53


 関数処理なら、1行目がタイトル行で データが2行目からだとして

 別シートの A2 : =IFERROR(INDEX(Sheet1!A:A,SMALL(IF(Sheet1!$C$2:$C$1000="その他",ROW(C$2:C$1000)),ROW(A1))),"")
 これを Ctrl/Shift/Enter で配列数式として入力し、B1 にフィルコピーし、そのまま下にフィルコピー。

 式の中の 1000 、対象の行を示していますが、足りなければ増やしてください。

 まくろでやるなら、ThisWorkbookモジュールに(プロシジャ1つ抜けていましたので追加 8:57)

 Dim ToDo As Boolean

 Private Sub Workbook_Open()
    ToDo = True
    If ActiveSheet.Name = "Sheet2" Then Listing
 End Sub

 Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Sh.Name = "Sheet1" Then ToDo = True
 End Sub

 Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    If Sh.Name = "Sheet2" And ToDo Then Listing
 End Sub

 Sub Listing()

    Sheets("Sheet1").Columns("A:C").AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Sheets("Sheet2").Range("D1:D2"), CopyToRange:=Sheets("Sheet2").Range("A1:B1"), Unique:=False
    ToDo = False

 End Sub

 とか。

(β) 2016/08/12(金) 08:53


 =IFERROR(INDEX(Sheet1!A:A,MATCH(ROW(A1),INDEX(COUNTIF(INDIRECT("Sheet1!C1:C"&ROW($1:$100)),"その他"),0),0)),"")
 でも。
 これは通常通りEnterで確定。
(ねむねむ) 2016/08/12(金) 09:13

ご回答ありがとうございます。

さっそく試してみます。
(エクセル初心者) 2016/08/12(金) 11:05


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.