文章の一部を自動生成して置き換えたい 何をしたいのか簡単に説明すると 「今日(2020年9月13日)の出来事」 の年月日の部分を自動生成して、その自動生成したものを元の文章に置き換えようというもの。今日は9月13日を指定、明日は9月14日を指定、1ヶ月後は…、というのを出来るだけ簡略化したい。 ワープロソフトやテキストエディタの置換機能でその都度自分で置き換えることが出来ますが、それを数回作業をするだけならともかく頻繁に行う場合は面倒。 いろいろ方法はありますが、今回は表計算ソフト(LibreOffice Calc)を使ってやってみることにします。 (方法自体は単純な部類なので、MS Excelでもほぼ同じように出来るでしょう) 置き換えたい部分を自動生成 これは表計算のオートフィルで作ります。今回は単なる日付を生成するだけなので、オートフィルで作ります。 定形的部分を作成 文章の中でそのまま利用したい部分をセルに書いておきます。 今回の場合は日付前の 「今日の(」 と日付後の 「)の出来事」 をそれぞれ別のセルに書いておきます。 concat関数でテキストを連結 文章の必要な部分が揃ったので、最後にCalcのconcat関数でテキストを連結して完成させます。定形部分は固定セルとして指定するので、関数の指定方法は以下のようになります。 =CONCAT($C$2,B2,$C$3) この数式のセルを日付部分のセルに合わせてオートフィルしてやります。 ですが、この指定方法では日付部分が以下のようにおかしなことになります。 これは日付のフォーマット指定が解除された状態で連結されてしまっているからです。 日付部分をtext関数で文字列に変換 Calcなど表計算ソフトでは日付は内部で数値として扱われているので、この場合には任意のフォーマット指定をした文字列へと変換する必要があります。 こういうときはtext関数を利用します。以下のように、変換したいセルと任意のフォーマットを指定します。