dポイントプレゼントキャンペーン実施中!

エクセルで関数を使用して、別シートから日付順で抽出するのは可能でしょうか?

1.シート1に、会員NO(A列)名前(B列)フリガナ(C列)~…購入チケットの種類(H列)チケットの残数(J列)チケット購入日(K列)チケット期限(L列)~
2.シート2に、セルB2に会員NOを入力した時に、チケットの購入履歴【購入チケットの種類(A列)チケットの残数(B列)チケット購入日(C列)チケット期限(D列)】を日付順に抽出されるようにしたいです。

宜しくお願い致します。

A 回答 (5件)

No.3です。


補足の
>Sheet2のA4セル~C4セルはB2セルに会員noを入力すると履歴が出るような数式ですよね?
に関して・・・
質問にあるように、「残数」「購入日」「期限」だけを表示させる方法ですが、
大前提として、Sheet2の3行目に表示したいSheet1の項目名を入力させておく必要があります。
そうすれば前回の方法でSheet2の4行目以降に、Sheet1の3行目項目だけが表示されるはずです。

画像ではSheet1のB~H列項目を入れていませんし、Sheet2は3項目だけとしています。
実際の表のレイアウトに合わせて、Sheet2の3行目は表示したい項目名すべてを入力したうえで
前回の方法を試してみてください。

※ 日付列に関しての表示形式は好みで変更します。m(_ _)m
    • good
    • 0
この回答へのお礼

丁寧に補足までして頂き、ありがとうございました。

お礼日時:2014/08/17 10:07

元データがSheet1にあり、Sheet2の4行目以下にご希望のデータを表示したいなら以下のような数式になります。



日付順に並べ替えるチケット購入日はC4セルに以下の式を入力して下方向にオートフィルします。

=IFERROR(SMALL(INDEX((Sheet1!$A$2:$A$30=$B$2)*(Sheet1!$K$2:$K$30+ROW($K$2:$K$30)/100000),),ROW(1:1)+COUNTIF(Sheet1!$A$2:$A$30,"<>"&$B$2)),"")

同様にSheet1のH列の購入チケットの種類はA4セルに以下の式を入力して下方向にオートフィルします。

=IFERROR(INDEX(Sheet1!H:H,MATCH($C4,INDEX(Sheet1!$K$2:$K$30+ROW($K$2:$K$30)/100000,),0)),"")

同様にSheet1のJ列のチケットの残数はB4セルに上記の数式を(オートフィル)コピーし、Sheet1!H:Hの部分をSheet1!J:Jに変更してください(チケット期限も同じ処理をする)。

上記の数式は30行以内のデータから抽出する数式ですので、データ数に応じて適宜セル範囲を広げてください(ただし、必要以上に広げないこと)。
    • good
    • 0
この回答へのお礼

データ数が多くなってしまうと難しいですね。
回答ありがとうございました。

お礼日時:2014/08/17 10:08

こんにちは!



>別シートから日付順で抽出するのは・・・
「購入日」の日付順と解釈しています。

↓の画像で上側が元データのSheet1・下側がSheet2とします。
作業用の列を設けるのが簡単だと思います。
Sheet2の3行目項目名はSheet1の項目と同じ項目名にしておきます。

Sheet1の作業列L2セルに
=IF(OR(A2="",A2<>Sheet2!B$2),"",J2*10000+ROW())
という数式を入れフィルハンドルでずぃ~~~!っと下へコピーしておきます。

そしてSheet2のA4セルに
=IFERROR(INDEX(Sheet1!$A:$K,MATCH(SMALL(Sheet1!$L:$L,ROW(A1)),Sheet1!$L:$L,0),MATCH(A$3,Sheet1!$1:$1,0)),"")
という数式を入れ、C4セルまでフィルハンドルでコピー!
B4・C4セルの表示形式は好みの「日付」にします。

最後にSheet2のA4~C4セルを範囲指定 → C4セルのフィルハンドルで下へコピー!
これで画像のような感じになります。

※ 「日付順」が「期限」にしたい場合は、作業列の数式内の
>J2

>K2
に変更します。m(_ _)m
「エクセルで日付順で抽出」の回答画像3

この回答への補足

早速の回答ありがとうございます。
他の方がおっしゃっているようにSheet1でオートフィルタで抽出する事はできるのですが、Sheet2では会員noを入力したら、チケットの購入履歴や他のシートの情報(住所やその他情報)も全て見れるようにしたいのです。他のシートの情報は自分でできたのですが、チケット購入履歴はどうしてもわからなかった為、質問させていただきました。
教えていただいた数式を参考に入力してみたのですが、できませんでした。Sheet2のA4セル~C4セルはB2セルに会員noを入力すると履歴が出るような数式ですよね?私の理解力が乏しくて本当にすみません。

補足日時:2014/08/16 16:25
    • good
    • 0

フィルターオプションで データの抽出


http://www.eurus.dti.ne.jp/~yoneyama/Excel/filte …
その後、日付順に並び替え

いずれもマクロで行えば、一瞬で処理できます。
    • good
    • 0
この回答へのお礼

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

お礼日時:2014/08/17 10:06

シート1を日付順に並べ替えた後で、フィルタ機能を使って、その会員NOのみを表示するようにしては?

    • good
    • 0
この回答へのお礼

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

お礼日時:2014/08/17 10:06

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

このQ&Aを見た人はこんなQ&Aも見ています