Excel - 列を月順に並べる方法

Excel - 列を月順に並べる方法

Excel ワークシートには、月ごとに並べ替えたい列がいくつかあります。これまでは手動で行っていましたが、かなり面倒になってきました。

ここで私の問題を説明してみました:

月と年が日付形式 (mmm'yy 形式 – アポストロフィを含む) ではなくテキスト形式で記述されています。月ごとにカスタム形式を作成し、それに基づいて行を並べ替えようとしましたが、カスタム並べ替えがグレー表示されているようです。私は Excel 初心者なので、助けていただけるとありがたいです。

答え1

適切に並べ替えるには、Excel がそれが日付であることを認識する必要があります。

たとえば、セル C3 のテキストを C4 の次の数式を使用して日付に変換できます。

=DATE(2000+RIGHT(C3,2),XLOOKUP(LEFT(C3,3),{"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"},SEQUENCE(1,12)),1)

ここに画像の説明を入力してください

長くて扱いにくいように見えますが、分解するとかなりシンプルです。

関数を使用しますDATE。これは 3 つの引数 (カンマで区切る) を取ります。

年は です2000+RIGHT(C3,2)。これは、テキストの右端の 2 文字を 2000 に追加して年を取得するだけです。2000 年より前の日付がある場合は、この部分を調整する必要があります。

月は ですXLOOKUP(LEFT(C3,3),{"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"},SEQUENCE(1,12))。これは、「この月のリストでセル C3 の最初の 3 文字を探します。 同じ位置 (つまり、4 月の場合はリストの 4 番目の位置) から の値を返しますSEQUENCE(1,12)。」という意味です。このシーケンスは、1 から 12 までの数字のリストです。したがって、3 文字の月を数値に変換し直して、DATE 関数で使用しています。

日は 1 です。すべての月には少なくともその日数があるため、28 以下の任意の数字を指定できます。

したがって、C3 の場合、年は 2000+21、月は 4 月、つまり 4 番目の月なので 4、日は 1 ですDATE(2021,4,1)。したがって、次のようになります。

答え2

この数式をセルC4でも試すことができます

=DATE(2000+RIGHT(C3,2),MONTH(1&LEFT(C3,3)),1) 

答え3

人々はこの仕事に特有の機能を見逃しています。

「ヘルパー行」を選択します。行 4 または 999 など、任意の行に配置できます。

その行のC列(例えばセルC4)に次のように入力します。

=DATEVALUE(SUBSTITUTE(C3, "'", " 20"))

SUBSTITUTE、アポストロフィをスペースと に置き換えます 20。たとえば、これApr'21は に 変更されますApr 2021。 DATEVALUE次に、関数はそのテキスト値を対応する日付値に変更します。

次に、誰も言及しなかった「明白な」部分ですが、ヘルパー行でデータを並べ替えることができます。

ご希望の場合は、

=DATEVALUE(LEFT(C3,3) & " 20" & RIGHT(C3,2))

21世紀ではないデータ(つまり、年が20ではないデータ)がある場合ええ)の場合は、世紀の番号を決定するロジックを追加する必要があります。

関連情報