過去の桐井戸端BBS (桐ver.8)
26908 他からのCSVファイルでデータが欠落するので頭に文字を付加するにはどんな関数を使えばいいのでしょうか みゃ〜 2004/07/01-10:06
こんにちは!!
ver.8 SP6を使っております。
会社のデータベースからD/LしたCSVデータを桐でいじくって仕事をしておりますが、
そのなかで日付のデータが本来は“20040701”となるべきところ“40701”となってしまいます(原因不明?)
そこで、桐上でこの項目の頭に“200"を追加したいのですが
その場合の計算式にどのような関数を入れればよいのでしょうか?
変な質問で申し訳ありません。(^^;

26912 Re:関数について うにん 2004/07/01-10:35
記事番号26908へのコメント
>日付のデータが本来は“20040701”となるべきところ
>“40701”となってしまいます(原因不明?)

CSVに「040701」と書かれていて、桐の項目が数値型になっているというのが
ありえるケースですが、もしそうなら

>そこで、桐上でこの項目の頭に“200"を追加したいのですが

置換で「[]+20000000」でできるかもしれません。

26927 文字列型であるなら 佐田 守弘 2004/07/01-21:26
記事番号26908へのコメント
みゃ〜さん
日付のデータで、"20040701"との事ですから、読み込む先は文字列型になっていますか?
数値型であればうにんさんが書いている通り、数値として20000000を加えれば良いわけですが、
文字列型の場合には、"200"を前につなぎ合わせて下さい。
置換の計算式は次の通りです。
 "200"+[<項目名:省略可能>]

●なぜデータが化けたのか
原因不明と書かれていますが、この原因をしっかりと掴むことは大切かと思います。
と言っても第三者に分ることではないのですが。でも敢て推定してみます。

 @CSVを書き出す段階で"200"が欠落していた。
 A途中の処理で欠落させた。

以上のうち、@はCSVを調べてみれば分る話です。
Aの方としては、"20040701"のCSVデータを桐以外のソフト(例えばExcel)に日付型として読み込んだ。
しかしそのソフト上で日付の年号を西暦2桁書式としたために先頭の"20"が省略された。
これを再び桐に取り込んだが、文字列型とせず、数値型としたために、更に先頭の0が表示されなくなった。

佐田守弘(KS-00119)

戻る