プロが教えるわが家の防犯対策術!

どなたかとの関連質問ですが、=IFERROR(・・・数式にて
シート1に随時入力(担当者、品名、価格)しながらデータベースとして保存しつつ、
同時進行で、別シート2に該当担当者ベースで残り品名、価格を自動抽出する方法を教えて下さい。
*シート1からシート2への抽出はできましたが、
 引き出された数値が、該当担当者以外の名前も含まれていたり、データベースとの件数が一致しません。
*例:平成君のみの抽出  シート1           シート2 結果
 ・平成君 ペン 100円          平成君 ペン 100円            
 ・昭和君 万年筆 1000円        平成君 消しゴム 80円
 ・平成君 消しゴム 80円      →  大正君 カーテン 2000円
 ・大正君 カーテン 2000円       
 ・平成君 鉛筆 300円 
 と、なります。ご教示下さい。

A 回答 (3件)

肝心な数式を提示してくれっていうの忘れてました。

(^^;
1行目以外マクロの記録でフィルタアドバンスドフィルター(添付図参照)
Sheet2!A2セルを変更すると抽出されます

Sheet2のシート見出しを右クリック - コードの表示
下記貼り付け
Private Sub Worksheet_Change(ByVal Target As Range)
    '↓1行だけ追加
    If Target.Address <> "$A$2" Then Exit Sub

    'Sheet2を選択(不要だけど一応)
    Sheets("Sheet2").Select
    '4行目を選択
    Rows("4:4").Select
    '[Ctrl]+[Shift]+[↓]
    Range(Selection, Selection.End(xlDown)).Select
    '行の削除
    Selection.Delete Shift:=xlUp
    'A2セル選択
    Range("A2").Select
    ’フィルタオプションの設定
    Sheets("Sheet1").Columns("A:D").AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A4"), Unique:=False
End Sub
「エクセルシート間の数値抽出方法」の回答画像3
    • good
    • 0
この回答へのお礼

回答有難う御座います。参考にさせて頂き研究します。
私の数式 =IFERROR(INDEX(シート1!B$3:B$100,SMALL(IF((シート1!$B$3:$B$100="平成君"),ROW($B$3:$B$100)),ROW(B3))),"")
これをシート2に入力しております。

これでは、ダメなのでしょうか。

お礼日時:2017/06/23 20:01

>シート1からシート2への抽出はできましたが



まず、どうやって(式ならどんな式で)抽出したのか書いてもらわないと修正点がわかりません。

自分の式をもとにしながら作っていかないと、作ってもらったミラクルな式で解決しても使いこなせないと意味がないと思います。

まぁ、No.1さんの回答が至極ごもっともなんですが。
    • good
    • 0
この回答へのお礼

ご回答有難うございました。
参考にさせて頂きます。

お礼日時:2017/06/23 20:02

・オートフィルターでダメな理由が知りたい



・フィルタオプションの詳細設定(アドバンスドフィルタ) とか クエリで取り出せる。

※数式でもできないことはないが、作業列を使わない場合、かつ、
範囲が大きいと計算が遅くなる可能性あり
また、作業列を使わないと理解できない可能性が高い
    • good
    • 0
この回答へのお礼

回答有難う御座います。参考にさせて頂き勉強します。
・既にある完成された集計表等の抽出でなく、シート1の3項目を幾つも入力作成しながら尚且つ、
 シート2への同時抽出をしたいのです。
 理由付け不明確でしたらご容赦下さい。

お礼日時:2017/06/23 19:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!