- ベストアンサー
Excelでデータを基準日で整列させる方法
- Excelを使用して分析を行っている際、異なる基準日のデータを整列させたい場合に困っています。基準日の前〇日間、後〇日間という条件が同じでも、休祝日の影響によりデータ数が異なってしまいます。ここでは、Excelを用いて基準日が一列に整列する方法について紹介します。
- Excelを使用して基準日が一列に整列させたい場合、異なる基準日によりデータ数が異なるという問題が生じます。この問題を解決するためには、Excelの関数を使用してデータの整列を行う必要があります。具体的な手順について説明します。
- Excelには、基準日を基にデータを整列させるための便利な関数があります。この関数を使用すれば、異なる基準日のデータを一列に整列させることができます。基準日の前〇日間、後〇日間という条件に関わらず、データを正確に整列させることができます。詳細な手順を以下で説明します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
元のデータがA列からB,C,D・・・と右にあるとして、新しい列にデータを表示します。 たとえばH列にA列のデータをコピーします(一番上のデータが他の列の最大数になるように調整して) 基準となる行(質問の☆の行)が7行目になるとしたら I7に =IFERROR(OFFSET(B$1,MATCH($H$7,B:B,0)-(101-ROW(A100)),0),"") として上と下にコピーします。B列にデータが7行目を基準に上下に並びます。 101や100はデータの上下の個数が100より多ければ大きくしてください。 よければ右方向に必要なだけ式をコピーして試してみてください。
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
既に、回答が出ていますが、質問内容的にそれでよいのでしょうか? ーーー 私はこの質問を読んで、意味内容(意図・目的?)が、よく分りませんでした。 データ実例を、▢や星印で表しているが、それがわかりにくいし、目的が、世間で、エクセルであまり 頻繁に使われる形では無いようで、推定しにくかった。 推測で、下記のようなことをしたい、のではと思いました。 ーー 2021/10/13日を基準日とする。 その前後の2日の日付のデータを原資料データから抜出し、各列で日付でソートしたデータ例が 2021/10/12 2021/10/11 2021/10/11 2021/10/13 2021/10/11 2021/10/12 2021/10/13 2021/10/12 2021/10/14 2021/10/12 2021/10/13 2021/10/14 2021/10/13 2021/10/14 2021/10/13 2021/10/14 2021/10/15 2021/10/14 2021/10/14 2021/10/15 2021/10/15 2021/10/14 2021/10/15 2021/10/15 2021/10/14 とする。 ーー A10セルに =MATCH(DATEVALUE("2021/10/13"),A2:A9,0)と入れて、右方向に式複写(E列まで) G10に式 =MAX(A10:E10)と入れる。 第10行のA-G列は結果 (2021/10/13日の、各列での初出の行) 3 2 3 1 3 MAX 3 ーー>列的には3が最下行 となる。 上記はSheet2にできているとする。 ーーー 白紙のSheet3を用意する。 以下VBAですが、標準モジュールに Sub test01() Set sh2 = Worksheets("Sheet2") Set sh3 = Worksheets("Sheet3") For c = 1 To 5 ’A-E列について t = sh2.Cells(10, 7) - sh2.Cells(10, c) For i = 2 To 9 ’第2行から第9行について sh3.Cells(2 + t, c) = sh2.Cells(i, c) t = t + 1 Next i Next c End Sub を作り実行。 === 結果Sheet3では 2021/10/12 2021/10/11 2021/10/11 2021/10/12 2021/10/11 2021/10/12 2021/10/12 2021/10/13 2021/10/13 2021/10/13 2021/10/13 2021/10/13 2021/10/14 2021/10/14 2021/10/14 2021/10/14 2021/10/14 2021/10/15 2021/10/15 2021/10/15 2021/10/14 2021/10/14 2021/10/15 2021/10/15 2021/10/14 と作られる。 特徴は、第4行に、2021/10/13が横1行に並んでいる。これが望んでいるもの(状態)では? 2021/10/13は1つしか現れないと仮定したが、複数の場合は、上記VBAに手を加えて、「14日以下をそろえる」」ことはできそうだ。むしろ、日ごとに先頭行を同行にそろえたいのかもしれないが。 === 上記が、的外れなら、お騒がせしてすみません。
- kkkkkm
- ベストアンサー率66% (1725/2595)
訂正です。 B列にデータが7 ↓ B列のデータが7
お礼
ご指導いただいた内容を試しましたら、無事整列することができました。まさにやりたいことでした。 大変助かりました!ありがとうございます。