• ベストアンサー

Microsoft Excelの書式について

PHPでCSVダウンロードのプログラムを作成し実行した後Microsoft Excelで開きました。ところが、20桁の数値がきちんと表示されません。桁数が大きいためEを使った表示になります。書式変更で20桁の表示に変更できました。しかしながら17桁目から20桁目が0で埋められてしまいます。どのように対処すれば良いでしょうか?

  • PHP
  • 回答数1
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

これは、MS-Excel の問題と言う他ありません。 一応、シングルクォートで囲めば表示はされますが、シングルクォートまで表示されるので痛し痒しです。 ダウンロードではなく、phpでcsv を作成しているのであれば、PEAR のSpreadsheet_Excel_Writer でExcel ファイルを直接作成することで解決できるかもしれません。

関連するQ&A

  • エクセルの条件つき書式を別のセルに適用させる

    お世話になっております。m(_ _)m エクセルに「条件つき書式」という機能があります。 これは、「設定をしたセルの書式」を制御するものですが、条件の指定に使うセルと書式を設定したいセルが別の場合は、どのようにすればよいのでしょうか?可能なのでしょうか? やりたいことは、A1のセルに入っているデータが8桁なら書式を「00000000(ゼロ8個)」とし、9桁なら「000000000(ゼロ9個)」というようにしたいのです。 このような設定をしなければならない理由は、このセルに入るデータは桁数が8桁か9桁で、数字か文字か決まっていないデータが入ります。 例)00123445   E0123456   012345678   Z12345678 等 「E0123456」や「Z12345678」が入る場合は文字列としてデータが扱われてもかまわないのですが、「00123445」や「012345678」は「数値」として扱いたいのです。 「00123445」の場合、数値としてこの数字を表示したければ書式を「00000000(ゼロ8個)」とすればよいと思います。 しかし、このセルには9桁の「012345678」というデータが入る可能性があります。このデータも数字として扱いたいので「000000000(ゼロ9個)」とすればよいとなります。 しかし、ゼロ9個の書式設定をしてしまうと、8桁の数字が「000123445」と表示されてしまいます。それでは困ります。 8桁は8ケタ、9桁は9ケタで、0から始まる数字を表示したい場合、どのようにすれば表示できるでしょうか? 長くなりましたが回答をお願いします。

  • CSVファイルに書式ってあるんですか?

    CSVファイルに関して質問があります。 ある数値のデータがあるEXCELファイル((1)とします)をCSV形式で保存します。 そのCSVファイルのアイコンをクリックすると、当然EXCELで開くことができます((2)とします)が、その時に、EXCEL(1)で設定した書式によって、EXCEL(2)で表示されるものが変わるという現象が起きてます。 具体的に言うと、EXCEL(1)で桁区切りをつけた書式を設定すると、EXCEL(2)でも桁区切りが表示され、EXCEL(1)で桁区切りをつけないとEXCEL(2)でも表示されないという状態です。 質問は以下の2つです。 1.「CSVファイルは書式を持たない」というような認識を持っていたのですが、それは違うのでしょうか? 2.EXCEL(1)の書式は違っても、EXCEL(2)で表示されるものを同じものにするにはどうすればよいのでしょうか? 詳しい方どなたか教えてください。

  • Excel(エクセル)のセルの書式について

    Excelでセル内に11桁以上の数値を入力すると勝手に"E+11"みたいに表示が変わってしまい困っています。自分で書式設定するやり方はわかるのですが、ファイルを開くたびに再度設定しなくてはならないので… 初期設定などで書式を変えることはできるのでしょうか?? ご回答、よろしくお願いいたします。

  • エクセルのセルの書式のユーザー定義について

    今私はエクセル2003の勉強をしています。 エクセルの 書式→セルで出てくるセルの書式設定ダイアログボックスで、 ユーザー定義というのがありますよね。 それの#や0の数値に関する書式記号の意味がわかりません。 たとえば、#は、 有効桁数を表示し、余分な0を表示しない と私が今勉強しているテキストには書いてあるのですが、 これは一体どういう意味なのでしょうか? ##とあれば有効桁が2桁ということだから、 12345という数があれば、12というふうに表示されるということでしょうか? また、余分な0を表示しないということは、 ##なら、1200は12ということになるのでしょうか? また、0の意味もわかりません。 テキストには、#,###.00の場合、1234.5→1,234.50という風に表示されると書いてあるのですが、1235.00って表示されるのではいのですか? まったくわからないので、 なるべくたくさんの具体例を用いて、 #や0、あとカンマ、やピリオドの書式記号について 教えてくださると嬉しいです。 文章をあまりうまくかけないので、 質問内容がなんなのかよくわからなかったらすみません。 よろしくお願いします。

  • CSVデータの数値の表示

    教えて下さい。 他プログラムからCSVデータ出力したデータを エクセルで表示すると、13桁の数字が9E+12と表示されて しまいます。 セルの書式設定を「数値」に変更すると一時的に数字が表示されるのですが、一度保存して、再度ファイルを開くと戻ってしまいます。 エクセル形式で保存すれば大丈夫なのですが、どうしてもCSVファイルのままで保存したいのです。 CSVデータで13桁の数字を常に表示する方法を教えて下さい。 よろしくお願いします。

  • エクセル0.0の書式

    エクセル0.0と表示したいのですが0を入力すると表示されません。 書式設定で数値、小数点以下の桁数を1にしても何も表示されません。 元の作成者が別の人なので、どう設定しているかわかりかねています。 設定方法を簡潔に教えてください。

  • エクセルでの『セルの書式設定』について、右揃えができない!

    こんにちわ。 エクセルで、セルの書式設定にて実験データの表など を右揃えにすることが多いのですが、書式設定内で 表示形式→数値→小数点以下の桁数、で桁数を変える と何故か右揃えがほかのセルの右揃えと合わなくなり ます。(少しずれているのです。) これは桁数を特にいじらなければ起きないのですが、 有効桁数を揃えるなどで桁数をいじると起きます。 桁数を変更しても全てのセルが右揃えにする方法は ないのでしょうか?

  • power autmateでエクセル書式設定の方法

    power automate desktopでxlsxファイルの書式設定がうまくいかず困っています。ご教示いただければ幸いです。 処理の流れとしては ①WEBからcsvファイルをダウンロード(ファイル名は毎回変わる) ②エクセルを起動 ③DLしたcsvファイルを開く ④csvファイルをaaa.xlsxファイルとして保存(エクセルは閉じない) ⑤aaa.xlsxのA列が指数表記になっているのでセルの書式設定で表示形式を「数値」にする 以上ですが、①~④までは出来ています。 また⑤においては「A1~A最終行セルの選択」という処理もできています。 数値表示に出来ればよいので、セル単体ではなくA列全体を選択して変更する方法でも良いです。 VBScriptの実行で対応可能かと思うのですがうまくいきません。 やり方をご存じの方、どうぞよろしくお願いいたします。

  • Excelでゼロサプレスする際の書式設定について

    Excelのセルの書式設定で、値がゼロの時に非表示にするため、書式設定を以下のように変更しました。 旧)「文字列」 新)「ユーザー定義」とし、「#,###」と設定 これによって確かにゼロサプレスできるようになったのですが、新たな問題がでてきました。 セルの幅に収まりきらない桁数の大きい数値が「#####」と表示されるようになってしまいました。これまでは左隣のセルにまたがって(文字列で右揃えの設定だったので)表示させていたので問題なかったのですが、書式設定を上記内容に変更したことで、セルの書式自体は右揃えなっているのですが左隣のセルにまたがって表示されなくなりました。 元通り、桁数の大きい場合は隣のセルにまたがって表示させるようにするにはどうすればよいでしょうか? よい方法があったら是非教えてください。お願いします。

  • EXCEL セル内の数値から、5桁目だけを抽出する方法について

    EXCELシートのセル内に、以下のような30桁からなる数値が入力されている 列が複数あります。 この列内の数値の右端から「5桁目」だけ、または左端から「10桁目」だけを 抽出したいと思っているのですが、EXCELの仕様で数値の先頭にある「0」は 表示されないため、各セルごとに表示されている数値の桁数はバラバラです。 数値の先頭に「0」が付いているセルが多数あり桁数が不揃いなことと、 数値が30桁もあるため、セルの数値表示が「1E+29」のように「E+29」で表示 されてしまっており、うまく数値を抽出することが出来ません。 ◆元データ   「列1」     (1) 1234567890  →(本当は30桁:000000000000000000001234567890)    (2) 111111111100000000001111111111   (3) 1      →(本当は30桁:000000000000000000000000000001)  (4) 123456789012345678909999999999  ◆右端から5桁目だけを抽出する   「列1」      (1)  6      (2)  1      (3)  0      (4)  9   お手数お掛けいたしますが、ご指導下さいますよう宜しくお願い致します。

専門家に質問してみよう