細胞: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
質問: 使用できるよりクリーンなフォーミュラはありますか??
細胞: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
質問: 使用できるよりクリーンなフォーミュラはありますか??
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")
セルのテキスト コンテンツを表示するには、次の操作を行う必要があります。
=MID(AA4;8;4)
=LEFT(AA4;3)
=MID(AA4;5;2)
=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))))))))))))
=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))
=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")
セル形式が文字列ではありません。フォーマット日付。