プロが教える店舗&オフィスのセキュリティ対策術

エクセルの「ファイル-開く」からファイルを選択し、
「テキストファイルウィザート」を使えば
正しく読み込めることは確認済みなのですが、
エクスプローラーからクリックすると
頭の0が数字として扱われてしまい
勝手に0が省略されてしまいます。
これをデフォルトでは文字列として扱うように
前もって制御することはできないのでしょうか?
よろしくお願いいたします。

A 回答 (6件)

ダブルクォートでくくっておく


ってのはどうでしょうか?

もしかしてエクセルの設定でですか??

この回答への補足

はい。ダブルクォートでくくってしまうと
ダブルクォートも表示されてしまいますし、
実際には(データとしては)不要な文字が入っていることになります。
あくまで表示だけを変えたいのですが
よい方法があれば教えてください。

補足日時:2003/10/20 14:32
    • good
    • 0

EXCEL2000の場合の例です。



テキストファイルウィザード3/3
「区切ったあとの列のデータ形式を選択して下さい。」
という画面、

画面下側「データのプレビュー」で対象となる列、または全列を
選択(反転)し、画面右上「列のデータ形式」のラジオボタンを
「G/標準」(デフォルト)から「文字列」に変更します。
これで「完了」を押せばOKです。

例えば「0123」もそのまま文字列「0123」として読み込まれます。
文字列扱いなので左寄せになります。


但し、
0123,0456_,_0789
のようにカンマの前後に空白が有る場合は、それもデータとして
扱われます。

これを回避するにはテキストファイルウィザード2/3の区切り
文字指定の所で「カンマ」「スペース」両方をチェックし、更に
「連続した区切り文字は1文字として扱う」にもチェックします。

この場合は、空欄としてのデータを扱えなくなる弊害が出ます。
空欄が有り得ないなら問題有りませんが…

この辺りは御自分でサンプルファイルを読み込ませて試してみる
方が早いと思います。
    • good
    • 0

申し訳有りません


>エクスプローラーからクリックすると
を見落としていました。

下記全く的外れですね。
出直してきます…
    • good
    • 0

>実際には(データとしては)不要な文字が入っていることになります。

に反するかもしれませんが、エクセルで確実に文字と認識させるには、先頭に「’」を入れるので、考えつきました。
(1)そのCSVファイルの最初のフィールド(エクセルに読みこんだとき、A列に来るフィールド)に0で始まるデータがあるときは、エクセルのVBEを開き、標準モジュールを挿入し下記を貼りつけ、実行してください。
Sub test01()
Open "test02.csv" For Input As #1
Open "test03.csv" For Output As #2
p01:
If EOF(1) Then GoTo p02
Line Input #1, a
Print #2, "'" & a
GoTo p01
p02:
Close #1
Close #2
End Sub
インプットファイル名、アウトプットファイル名やPATHは適当に変えてください。
(2)エクセルに読みこんだとして、第2列以後にくるフィールドで「0を先頭に含む数字」がある場合は、置換機能のあるEDITORソフト(WORDPADでも良さそう。メモ帳はだめ。)を使って、「,0」を「,’0」に置換して、一旦保存し、エクセルで開いてください。
(3)エクセルに読みこんで、「’」が残り、目障りの場合は、「’」を「’」で(同じ文字で)置換すると、見えなくなるようです。
    • good
    • 0

どういうことをもって「前もって制御する」ということなのかわかりませんが、CSV


ファイルの加工が許されるのでしたら、CSVデータを、
クォーテーションマーク+半角スペース+数値、つまり、 ' 0015 のように作成します。
そのCSVファイルをダブルクリックしてエクセル化すると、同じく ' 0015 と表示
されますので、置換処理で、検索する文字=半角スペース 、置換後=ブランク、として
一括置換します。

なんていうことで、どうでしょうか。
    • good
    • 0

ごめんなさい。


わざわざスペースを入れなくとも、 '0015 のまま読み込んで、クォーテーションマーク(')をそのまま同じ(')に置換すればいいんですね。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!