excelの年度日付自動入力

excelのセルに日付を入力するとき、例えば1月10日を1/10と入力すると、自動的に「今年」が補完されて2019/1/10というように入力される。しかし、入力したい年は「今年」とは限らない。例えば今1月だが、年度的意味で12月と言ったら「去年」の12月であって欲しい場合が多々ある。つまり今年2019年の1月に12/19と入力した場合、2018/12/19という具合に補完して欲しい、という意味。勝手にまだまだ先の12月に補完されてもありがた迷惑。ということで、今年を補完するのではなく今年度を補完してくれるオプションはないものかと調べてみた。ちなみにMSプロジェクトにはそのような設定が可能だったことは記憶にある。したがって簡単に見つかるだろうと高をくくってググった。が、ない。結論から言うとそのような設定はないらしい。VBマクロでやればできるのは、分かっているし、関数使えば出来るであろうことも分かっている。そんな大げさなのでなく、何とかexcelのオプション程度でカタをつけたい。で、調べてみたら素晴らしいページにヒットした。それによるとオートコレクトのオプションに定義してあげれば、ちょっと裏技的小技ではあるが出来る。で、やってみた。具体的には、

  • ファイル >> オプション >> 文書校正 >> オートコレクトのオプション

を選ぶ。で、一番下のチェックボックス「入力中に自動修正する」をONにする。更に1月から3月までの間で使用する場合だと、4月から12月までは前の年であって欲しいので、

  • 修正文字列に「4/]と入力し、修正後の文字列に例えば「2018/4/」

と入力する。で、登録ボタン。これと同じことを、「4/」から「12/」まで繰り返し登録する。
逆に4月から12月までの間使用する場合、1月から3月までは次の年であって欲しいので、上記の9ヶ月分の代わりに、修正文字列に「1/]と入力し、修正後の文字列に例えば「2020/1/」と入力して登録する。これを1から3まで繰り返し登録する。ちなみに私の場合、1/や4/をこのまま使いたいことはないので、この定義で十分かな。すると1月から3月までの間に12/と入力すると、2018/12/と自動修正される。4月から12月までの間に1/と入力すると2020/1/と自動修正される。使う月によって(正確には毎年1月と4月に)修正文字列を変えなければならないので手間はかかる。その意味で少々面倒だし、トリッキーな裏技的小技であることは否めないが、使えるハズ。で、使ってみた。できた。幸せ。