元のままでいいのでは。
自分なりにやってみましたが、「OK」が出ませんでした。
請求書に「R1/5/2」「R1年5月2日」などと書くことはありませんから(負け惜しみじゃなくて)
元のままにしておきます。(満足していますから)
Let (
[
#日付 = 請求日 ;
#令和=Date(5;1;2019);
#年号=
Case(
Year(#日付)>Year(#令和); "令和"&(Year(#日付)-Year(#令和)+1);
#日付>=#令和; "令和元";
YearName(#日付;0)
);
#書式=" "; /* ←※ スペース挿入は " "、ゼロは "0"、ナシは "" を指定 */
#年=LeftWords(#年号;1)
& Case(#年号*1; Right(#書式&#年号*1; 2));
#月=Right(#書式&Month(#日付); 2);
#日=Right(#書式&Day(#日付); 2)
];
#年&"年" & #月&"月" & #日&"日"
)
だったのを
Let (
[
#日付 = 請求日 ;
#令和=Date(5;1;2019);
#年号=
Case(
Year(#日付)>Year(#令和); "令和"&(Year(#日付)-Year(#令和)+1);
#日付>=#令和; "令和元";
YearName(#日付;0)
);
#書式=" "; /* ←※ スペース挿入は " "、ゼロは "0"、ナシは "" を指定 */
& "年" & Right ( " " & Month ( #日付 ) ; 2 ) & "月" & Right ( " " & Day ( #日付 ) ; 2 ) & "日"
];
#年&"年" & #月&"月" & #日&"日"
)
に書き換えて見ましたが、
「この計算式では、一覧を使用できません」と叱られます。
Let ( [
令和=Date(5;1;2019);
平成=Date(1;8;1989);
昭和=Date(12;25;1926);
大正=Date(7;30;1912);
明治=Date(9;8;1868);
] ;
Case (
Year ( 日付 ) > Year ( 令和 ) ; Choose ( 形式 ; "令和" ; "令" ; "R" ) & ( Year ( 日付 ) - Year ( 令和 ) + 1 ) ;
日付 >= 令和 ; Choose ( 形式 ; "令和元" ; "令元" ; "R1" ) ;
Year ( 日付 ) > Year ( 平成 ) ; Choose ( 形式 ; "平成" ; "平" ; "H" ) & ( Year ( 日付 ) - Year ( 平成 ) + 1 ) ;
日付 >= 平成 ; Choose ( 形式 ; "平成元" ; "平元" ; "H1" ) ;
Year ( 日付 ) > Year ( 昭和 ) ; Choose ( 形式 ; "昭和" ; "昭" ; "S" ) & ( Year ( 日付 ) - Year ( 昭和 ) + 1 ) ;
日付 >= 昭和 ; Choose ( 形式 ; "昭和元" ; "昭" ; "S11" )"昭和元" ;
Year ( 日付 ) > Year ( 大正 ) ; Choose ( 形式 ; "大正" ; "大" ; "T" ) & ( Year ( 日付 ) - Year ( 大正 ) + 1 ) ;
日付 >= 大正 ; Choose ( 形式 ; "大正元" ; "大元" ; "T1" ) ;
Year ( 日付 ) > Year ( 平成 ) ; Choose ( 形式 ; "明治" ; "明" ; "M1" ) & ( Year ( 日付 ) - Year ( 明治 ) + 1 ) ;
日付 >= 明治 ; Choose ( 形式 ; "明治元" ; "明元" ; "M1" ) ;
"西暦" & Year ( 日付 )
)
& Choose ( 表示 ; "年" ; "/" ; "/" ; "/" )
& Choose ( 表示 ; Month ( 日付 ) & "月" ; Month ( 日付 ) & "/" ; Right ( "00" & Month ( 日付 ) ; 2 ) & "/" ; Right ( " " & Month ( 日付 ) ; 2 ) & "/" )
& Choose ( 表示 ; Day ( 日付 ) & "日" ; Day ( 日付 ) ; Right ( "00" & Day ( 日付 ) ; 2 ) ; Right ( " " & Day ( 日付 ) ; 2 ) )
)
明治元年以前の 1868/9/7 を入れると 西暦68年 9月 7日 となりますが、それ以降は全く問題ありません。
もっとも、いまどき見積書や請求書に、平成・令和以外を使うことはありませんが。
【式の修正履歴】
式の一部(打消し線部分)を等価短縮して少しだけ簡略化しました。
Let (
[
#日付 = 契約日 ;
#令和 = Date ( 5 ; 1 ; 2019 )
] ;
Case (
Year ( #日付 ) > Year ( #令和 ) ; "令和" & ( Year ( #日付 ) - Year ( #令和 ) + 1 ) ;
#日付 >= #令和 ; "令和元" ;
YearName ( #日付 ; 0 )
)
& "年" & Month ( #日付 ) & "月" & Day ( #日付 ) & "日"
)
この式で、2019/04/07 で 平成31年4月7日 と出ますが、平成31年 4月 7日 とか 令和 2年 5月18日 のように一桁の数字には半角空白が入るようにするには、上記の式をどう編集すれば良いのでしょうか。
]]>うれしくなって、お祝いに最新バージョンを買いたくなった気分ですが、
それでは意味ないか。冗談でなく感謝感謝です。
その通りです、
)
の位置に注意してください。
Let (
[
#日付 = 完了日入 ;
#令和 = Date ( 5 ; 1 ; 2019 )
] ;
Case (
Year ( #日付 ) > Year ( #令和 ) ; "令和" & ( Year ( #日付 ) - Year ( #令和 ) + 1 ) ;
#日付 >= #令和 ; "令和元" ;
YearName ( #日付 ; 0 )
)
& ”年” & Month ( #日付 ) & "月" & Day ( #日付 ) & "日"
)
最初の
> #日付 = 完了日入
これから
コピペすれば間違いないでしょう。
) & ”年” & Month ( #日付 ) & "月" & Day ( #日付 ) & "日"
~~~~
最後の行の#日付が反転して「指定されたフィールドが見つかりません。」と出て
OKできません。
採用された式は冗長すぎますよ、
Shinさんの#14の式から
完了日の計算式
Let (
[
#日付 = 完了日入 ;
#令和 = Date ( 5 ; 1 ; 2019 )
] ;
Case (
Year ( #日付 ) > Year ( #令和 ) ; "令和" & ( Year ( #日付 ) - Year ( #令和 ) + 1 ) ;
#日付 >= #令和 ; "令和元" ;
YearName ( #日付 ; 0 )
)
) & ”年” & Month ( #日付 ) & "月" & Day ( #日付 ) & "日"
でいいでしょう。
]]>