2008年12月28日日曜日

OpenOffice.org Calcの謎 ~ 「曜日名+数字」が日付になっちゃう

お仕事の環境がFreeBSD上になっているので、OpenOfficeにはとってもお世話になっています。portsでビルドしたものを使っていて、最新バージョンではないのですが。



200812271



先日、偶然気がついたんですが、OpenOfficeの表計算ソフトCalcにて、たとえば「Sat1」と入力すると



200812272



なぜか、「12月1日」になってしまいます。



200812273



「2008/12/01」という日付が入力されてしまっています。



200812274



ちなみに2008年12月1日は、土曜日ではなく、月曜日です。2008年12月になるのは、今が2008年12月だから、ってことなんでしょうね。



どうやら、英語の曜日のMonday、Saturday、Mon、Satなどに、数字をつけると、日付扱いされてしまうようです。

Wed24 → 2008/12/24
Tue24 → 2008/12/24

曜日のほかに、月の名前でも、似たような現象がおきます。

Jan1 → 2008/01/01
May5 → 2008/05/05
Dec24 → 2008/12/24

まあ、この「月の名前+数字」が日付になるのは無難かな、という気がします。
でも、「曜日+数字」ってのは、かなり微妙な気がします。



ほかにもちょっと試してみると

Wed24/12 → 2024/12/01
Wed24/2001/12 → そのままWed24/2001/12
Wed2001/12/1 → 2001/12/01

という感じでした。いまひとつ納得できない感じ。





つぎに、CSVファイルを読み込む場合。たとえば、こんなファイルを読み込んでみます。

% cat hoge.csv
mon1,mon2,mon3

200812275



すると、やっぱり、日付に変わってしまいます。



200812276



この現象を防ぐには、読み込むときに、列の種類として「テキスト」を指定すればいいみたいです。



200812277



めんどくさいですね。



200812278



しかも、列見出し行に、たまたま、MON1、MON2、SAT3とか、何かの略語のようなものが入ってたりすると、も~どーしょーもねーな、な状況になってしまいますよね。
見出しは"MON1"のようにクォートしておけ、ってことでしょうか。



0 件のコメント:

コメントを投稿