
答え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ではないデータ)がある場合ええ)の場合は、世紀の番号を決定するロジックを追加する必要があります。