『日付型と文字列を置換』(P3)
AL2=IF(AK2="","",IF(H2<1900,TEXT(AK2,"M月d日"),TEXT(AK2,"M月d日")))
H2=数値が1900以上の時、AK2=1900年1月1日と入力→AL2=1月1日
H2=数値が1900以下の時、AK2=1899年1月1日と入力→AL2=1899年1月1日になってしまうのですが、H2が1900以下の時でも1月1日と月日のみ変換はどうすればいいですか?
< 使用 Excel:Excel2010、使用 OS:Windows10 >
1900年より前は日付ではなく文字列なので、=MID(AK2,6,LEN(AK2)-5) などとしてはどうですか?
(xyz) 2025/04/18(金) 16:23:49
=MID(AK2,6,6) (TI) 2025/04/18(金) 21:07:19
>1桁〜3桁の西暦の時 年が1桁〜3桁ということなんですかね?
>左側の月日がそれぞれ欠けていってしまいます 左側の月日とは? 794年4月19日が「月19日」になるということ?
>=MID(AK2,6,LEN(AK2)-5) この式では問題なかったんですか? 同じことでは?
1900年より前の日付はすべて文字列なら =REPLACE(AK2,1,FIND("年",AK2),"")
そもそも、H2が1900未満の時、AK2の日付は必ず文字列なんですか? それも心配になってきました。 それとも、AK2の日付は、年が4桁の場合も含めて、すべて文字列なの?
シリアル値と文字列が混在しているのなら、 数値か文字列かで処理を分けた方がいいでしょう。
=IF(AK2="","",IF(ISNUMBER(AK2),TEXT(AK2,"m月d日"),REPLACE(AK2,1,FIND("年",AK2),""))) (TI) 2025/04/19(土) 08:24:20
>=REPLACE(AK2,1,FIND("年",AK2),"") =MID(AK2,FIND("年",AK2)+1,6) でも (TI) 2025/04/19(土) 09:32:18
(P3) 2025/04/19(土) 16:39:35
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.