1

細胞:Data!AA4

与えられた: 2011 年 5 月 13 日午前 12:00 のテキスト形式。

使用:

=(DATE((MID(Data!$AA4,8,4)),VLOOKUP(MID(Data!$AA4,1,3),Sheet3!$A$1:$B$12,2,FALSE),MID(Data!$AA4,5,2)))

戻り値: 日付形式の 13-May-11

質問: 使用できるよりクリーンなフォーミュラはありますか??

4

3 に答える 3

0

DATEVALUE@K_B は正しい軌道に乗っていますが、問題は、日付が Excel が日付として自動的に認識する形式ではないため、#VALUE!.

これは、元の日付テキストの日の後にコンマを挿入することで修正できます。

=DATEVALUE(LEFT(SUBSTITUTE(Data!AA4," ",", ",2),LEN(Data!AA4)-7))

これにより、Excel が日付の計算に使用するシリアル化された日付の数値が返されます。セルの書式設定が目的の書式 ("dd-mmm-yy") に設定されている場合、これで目的の書式が得られます。

セル形式を使用してデータを表示したくない場合は、すべてをTEXT()関数でラップし、そこで形式を指定できます。出力は、日付の計算に対して引き続き機能します。

=TEXT(DATEVALUE(LEFT(SUBSTITUTE(A1," ",", ",2),LEN(A1)-7)),"dd-mmm-yy")
于 2013-05-03T15:45:45.023 に答える
0

セルのテキスト コンテンツを表示するには、次の操作を行う必要があります。

  1. 年を抽出します。=MID(AA4;8;4)
  2. 月を抽出します (セル内のテキスト):=LEFT(AA4;3)
  3. 日を抽出します。=MID(AA4;5;2)
  4. 月の一致する数字を実行して見つけます。
    =IF(LEFT(AA4;3)="Jan";1;IF(LEFT(AA4;3)="Feb";2;IF(LEFT(AA4;3)="Mar";3;IF(LEFT(AA4;3)="Apr";4;IF(LEFT(AA4;3)="May";5;IF(LEFT(AA4;3)="Jun";6;IF(LEFT(AA4;3)="Jul";7;IF(LEFT(AA4;3)="Aug";8;IF(LEFT(AA4;3)="Sep";9;IF(LEFT(AA4;3)="Oct";10;IF(LEFT(AA4;3)="Nov";11;IF(LEFT(AA4;3)="Dec";12))))))))))))
  5. 日付に変換:
    =DATE(MID(AA4;8;4);IF(LEFT(AA4;3)="Jan";1;IF(LEFT(AA4;3)="Feb";2;IF(LEFT(AA4;3)="Mar";3;IF(LEFT(AA4;3)="Apr";4;IF(LEFT(AA4;3)="May";5;IF(LEFT(AA4;3)="Jun";6;IF(LEFT(AA4;3)="Jul";7;IF(LEFT(AA4;3)="Aug";8;IF(LEFT(AA4;3)="Sep";9;IF(LEFT(AA4;3)="Oct";10;IF(LEFT(AA4;3)="Nov";11;IF(LEFT(AA4;3)="Dec";12))))))))))));MID(AA4;5;2))
  6. 1 つの式とフォーマットの日付:
    =TEXT(DATE(MID(AA4;8;4);IF(LEFT(AA4;3)="Jan";1;IF(LEFT(AA4;3)="Feb";2;IF(LEFT(AA4;3)="Mar";3;IF(LEFT(AA4;3)="Apr";4;IF(LEFT(AA4;3)="May";5;IF(LEFT(AA4;3)="Jun";6;IF(LEFT(AA4;3)="Jul";7;IF(LEFT(AA4;3)="Aug";8;IF(LEFT(AA4;3)="Sep";9;IF(LEFT(AA4;3)="Oct";10;IF(LEFT(AA4;3)="Nov";11;IF(LEFT(AA4;3)="Dec";12))))))))))));MID(AA4;5;2));"dd-MMM-yyyy")

セル形式が文字列ではありません。フォーマット日付。

于 2013-05-03T15:16:23.327 に答える