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

添付図の通り「Sheet1」のデータを「Sheet2」の別シートで、日付順にデータを
並び返したいのですが、Sheet2の表内の各セルにどのような関数を入れたら
できますでしょうか?
(下の画像は「修正前」と「修正後」の表が同一シート内にありますが、
 異なるシートにあるものとして作成したいです)

フィルター等の方法で実施するのではなく、あくまで関数式で実施したいです。
Sheet1の11行目以降も、随時データが更新されていくものとして、
必ずしも更新されるデータの日付は新しい日付ではなく、バラバラの日付で
挿入されていく前提とします。

すいませんが、どなたか判る方教えて頂きますと幸いですm(__)m

「【Excel関数】別シートに日付順でデー」の質問画像

質問者からの補足コメント

  • うーん・・・

    tom04様」

    お疲れ様です!
    いつもお世話になっておりますm(__)m

    早速ご回答ありがとうございます!
    上記式はセルの場所によらず統一した関数で示せるのが良いですね!
    因みに続けての質問で恐縮ですが、注意書きとして「Sheet1のA列日付は重複はない!」という
    前提を記載頂き、まさにその壁にぶつかってしまったのですが、添付図の黄色で示した部分で
    日付1で重複した場合は、日付2で日付順で抽出するという場合は、上記式をどのようにしたら良いでしょうか?立て続けにご質問させて頂きたく、宜しくお願いしますm(__)m

    「【Excel関数】別シートに日付順でデー」の補足画像1
    No.4の回答に寄せられた補足コメントです。 補足日時:2019/05/04 22:30

A 回答 (5件)

No.4です。



↓の画像の配置でいえば、
Sheet1のA列日付1に重複がある場合は、B列日付2の古い順に表示すればよいのですね。
(日付1重視の表示)

一番簡単なのはA列を1番目のキー、B列を2番目のキーとして昇順で並び替える方法だと思います。
ただ、数式で別シートに表示するのがお望みのようなので・・・

Sheet1のG列に作業用の列を設けてみました。
作業列G2セルに
=IF(A2="","",COUNTIF(A:A,"<"&A2)+IF(COUNTIF(A:A,A2)>1,B2/10^5))

という数式を入れフィルハンドルで下へコピーしておきます。

そしてSheet2のA2セルに
=IFERROR(INDEX(Sheet1!A:A,MATCH(SMALL(Sheet1!$G:$G,ROW(A1)),Sheet1!$G:$G,0)),"")

という数式を入れ、フィルハンドルで列・行方向へコピーすると
画像のような感じになります。m(_ _)m
「【Excel関数】別シートに日付順でデー」の回答画像5
    • good
    • 1
この回答へのお礼

tom04様」

お疲れ様です!
早いレスポンスありがとうございます!

「作業列」という一旦ワンクッション付けて作成する方法について勉強になりました。
ただ見て式を分解して理解するのが精一杯で、自分一人の実力ではまだ作成できなそうです(--;)
ただ丁寧な解説のお陰で、各指定セルを相対的に置き換えて問題なく実現できました!
凄く有難いです。ご協力に感謝いたしますm(__)m

お礼日時:2019/05/05 09:13

こんばんは!



一例です。
↓の画像のような配置で元データはSheet1にあり、Sheet2に表示するとします。
尚、Sheet1のA列日付は重複はない!という前提です。

Sheet2のA2セルに
=IFERROR(INDEX(Sheet1!A:A,MATCH(SMALL(Sheet1!$A:$A,ROW(A1)),Sheet1!$A:$A,0)),"")

という数式を入れ、列・行方向にフィル&コピー!
最後にA列の表示形式を好みの日付にして完了です。

※ 日付に重複がある場合は作業用の列を設けるなどして対処する必要があると思います。m(_ _)m
「【Excel関数】別シートに日付順でデー」の回答画像4
この回答への補足あり
    • good
    • 0

SORT関数はまだβ版で一般に使われることは無いからなあ。



自分もNo.2の回答者さん同様、SMALL関数とVLOOKUP関数を使う方法を勧めます。
    • good
    • 0
この回答へのお礼

銀鱗様」

了解しました。下に続きご連絡ありがとうございます!

お礼日時:2019/05/04 22:33

B16 =SMALL($B$4:$B$10,ROW(B16)-15)



ROWの括弧内は自身のセル位置、-15は自身(B16)の行番号-1 です。

C~E列はVLOOKUPを使用してください。



※SORT関数ってどういう環境だと使用できるのだろう?
    • good
    • 1
この回答へのお礼

siffon9様」

上記式実に良いですね!(#^.^#)
式がシンプルなので、理解しやすいです!
こちらも試してみましたが特に問題なく解決しました!
ありがとうございます!m(__)m

お礼日時:2019/05/04 22:33

b16だけに


=sort(b4:e12)
罫線は後で引いてね。
    • good
    • 0
この回答へのお礼

GOMAFU様」

お疲れ様です!
sort関数使えない環境でした(笑)
でもご提案頂いたこと感謝しますm(__)m

お礼日時:2019/05/04 22:32

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

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


このQ&Aを見た人がよく見るQ&A