こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Excel csvから開くと上限文字数が異なる

EXCEL 2002 2003 2007 で現象を確認しました。
EXCEL のセルに入る文字数上限は32767文字ですが、csvファイルをEXCELで開くと、上限はもっと低いようです。
調べた所、カンマ間に32759文字以上有ると改行されてしまうようです。
これはexcelのバグなのでしょうか?何か情報をお持ちの方教えて下さい。

マイクロソフトに電話したのですが、私のライセンスは無償サポートが終わっていて、4000円掛かると言われ辞めました。

よろしくお願いします。

投稿日時 - 2011-01-17 10:24:24

QNo.6453841

困ってます

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

>セルが含むことができる合計文字数
>32,767 文字
これはあくまでExcelワークシートにおける操作上の制限、
という事なのでしょうね。
『CSVテキストファイル』というExcelBookフォーマット以外のファイルを
Excel上に展開する時には、また別の制限事項がある、
という事ではないでしょうか。
ざっと検索しただけですが、公式ドキュメントは見当たりません。
2002は持ってないのですが 97,2000,2003,2007,2010 で確認しました。

2007,2010は32,759文字まで読み込めます。
32,760文字以上が下のセルに読み込まれます。

97,2000,2003は31,737文字まで読み込めます。
31,738文字以上が下のセルに読み込まれます。

『31,737文字まで』というと
http://support.microsoft.com/kb/161241
http://support.microsoft.com/kb/211965
こういう記事もあるんですが、古い情報なのか、
私の環境ではこの現象が再現できないです。
#関係ないかもしれませんし。

いずれにしてもですね、
表示上の制限が3万文字までは大丈夫だからといって
制限ぎりぎりまで使用するより、ある程度バッファ持たせておいたほうが
良いような気もします。
また、単純に表示させるだけなら
1セルに何万文字も格納するのはありかもしれませんが、
データとして操作する場合、操作内容によっては、
もっと低いレベルで制限ありますから留意しておいたほうが良いかもしれません。
http://support.microsoft.com/kb/418283

投稿日時 - 2011-01-17 16:29:21

補足

詳しく調べていただき、本当にありがとうございます。
97, 2000, 2010は環境がなく調べる事が出来ていませんでした。このバージョンについても教えて頂けたので、上限を2万文字ぐらいにして対応しようと考えております。

>ざっと検索しただけですが、公式ドキュメントは見当たりません。

私も一日探したのですが、この問題の情報も無いし、CSV読み込みについてのドキュメントも結局見つかりませんでした。

>こういう記事もあるんですが、古い情報なのか

見てみました。現象は全く同じですね。確かに関係あるような感じですが、ちょっと解りません。

とりあえず、貴重な情報ありがとうございました。上限でカンマをつけるにしても、適当に付けるわけにもいかなかったので何か情報が必要でした。仕様は結局わかりませんが、エクセルの色んな種類のバージョンの上限がわかったので、これで対応しようと思います。

投稿日時 - 2011-01-17 21:38:22

お礼

ありがとうございました。

投稿日時 - 2011-01-18 22:39:30

ANo.3

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(5)

ANo.5

#4 です。

私は飲み込みが悪いので、ご立腹させたようで、大変失礼しました。

人にはいろんな事情があることが、分からずにお書きしてしまいました。ご質問者さんは、「バグ」とお聞きになっていることでしたので、そういう発想をしてしまいました。解決とは違う趣を持っていたように思われました。

出来るなら、もう一度、「Microsoft Answers」の掲示板(日本語・英語)に、同じようにお聞きにっなってもよろしいかと思います。無料で、Microsoft の実際のサポート側の人が回答してくれるはずです。

現実的な問題だとしても、Excel自体の持っている仕様そのものの変更は利かないと思われます。
ただし、あくまでも、これは、CSVという範疇の話ですから、それ以外の解決方法はあるかとは思います。また、実際の文章が32,767文字内で納まることはないでしょうから、おそらく、それは、Excel自身では、スペックギリギリの問題は、難しいのではない、とも思われます。

これで、こちらは終わりにさせていただきます。

投稿日時 - 2011-01-18 08:44:16

ANo.4

#1の回答者です。
>質問分にカンマ間に32759文字以上と書いてます。
私が、読み違えているということですね 32767-32759 の差つまり、8文字の余裕があるはずだということ?それが書いてなかったので、まったく見当違いな対応をしてしまったようです。

私は、実務上の質問かと思いましたので、今までの経験から、見えない切り分け文字が反応しているのだと考えてしまいました。でも、現実に使うことも出会うこともない問題を、解明しようとされているようです。基本的には、私は、そういうことはお付き合いしないことにしていますが、乗りかかった話ですから、少し、私の考えを書いておきます。

正直なところ、まさしく、MSに聞くような話ですね。どうせ、私たち外部の人間は、責任ある話にはなりませんが、MSの開発者さんたちが書いているブログがあったはずですから、そこで聞いてみたら、バグだとかなんとかいうよりも、ここらは辺りは、開発のことで、思ってみない「言い訳」を言ってくるので、面白いとは思います。もちろん、英語ですが。

MSの一般サポートなら、たぶん、CSVインポートする時に、メモリを使用しているので、その分が減りますっていうぐらいで答えてくるとは思います。それで、標準ファイルに変えて、不足分を入れてくださいっていうことになるのかもしれません。

実際問題として、Excelで渡す バッファの問題であるのだろうと思います。

#3のend-uさんのおっしゃる通り、2000, 2003では、31,737文字までですね。こちらは、その差は、1,030字、それより上位のバージョンでは、上記で書いた、8文字の差。インポート時に、その分が減らされているということだということよりも、バッファを割り引いているということで、CSVのインポート時は、公開されていませんが、それだけ分、消費しているということだろうと思います。

投稿日時 - 2011-01-17 19:13:18

補足

一体お1人で何を勝手な解釈を繰り返されているのでしょうか?
正直、必要の無い主観を長々と説明されても質問者にとっては苦痛でしかありません。

>8文字の余裕があるはずだということ?

セル入力文字数上限 32767であるはずが、32758文字までしか入りませんと言ってます。

>でも、現実に使うことも出会うこともない問題を、解明しようとされているようです。基本的には、私は、そういうことはお付き合いしないことにしていますが

これは、法務関係の業務において「「現実」」にある程度のシェアを持って使われているアプリの機能の一部に起こっている問題です。

投稿日時 - 2011-01-17 21:15:38

お礼

投稿日時 - 0000-00-00 00:00:00

参考になるかどうか疑問ですが、Excel 2002 のヘルプ「Excel の仕様および制限」によれば、
「セルの内容の長さ (文字列)」は「32,767 文字。セルに表示できるのは 1,024 文字まで。数式バーでは 32,767 文字すべての表示が可能」とあります。

その「32,767 文字まで」と貴方の「32759文字以上(=32758文字まで?)」の違いを問題にされているのでしょうか?

投稿日時 - 2011-01-17 14:49:31

補足

その通りです。
エクセルの仕様情報では、32767文字まで1つのセルに入れる事が出来るようですが、32759文字以上がカンマ間にあるcsvファイルを開くとおかしな表示になります。
データが分離され、かつ次行のセルに移されます。
エクセルから作ったcsvでもです。
また、内容も半角英字のみという単純な内容でもです。
32758文字までならこの現象は起きません。
ながーい文字列のデータをエクセルでひらけるようにするために、上限でカンマを入れたいのですが、その上限が仕様と異なるので問題にしております。

投稿日時 - 2011-01-17 15:09:54

ANo.1

実際はどういうデータなのでしょうか?

バグとかいう前に、それがCSVというのは文字通り、カンマ(,)で区切っているだけのもので、他のデータベースファイルで、いわゆる、原始データファイルというもので、シーケンシャルファイルと呼ばれたりするものです。まず、基本的にはExcelでは扱うことは出来ません。

>カンマ間に32759文字以上有ると改行されてしまうようです。

「32,767」というのは、Excel 2003までなら、おそらく、一区切り128文字ずつ入れたら、カンマ(,)の255個目を過ぎた時点で、改行が入るものだと思います。一行の累計が、32,767文字を越えることはないと思います。Excelは、本来、自分の出力したCSVファイルを扱えるだけで、他にも実際のデータベースなどの、CSVファイルらしきものは、Excelで扱えるものとは限らないこともあります。

私は、勤めてこの種の質問には読んで回答しているつもりですが、ここ(Office系を含む)の掲示板では、私の見る範囲では、この種の問題は、一度も解決したことはありません。

理由は推測の限りですが、バイナリコードが入っていることを質問者自身が気がつかないで、回答側には情報は与えず、ダメ出しされるだけのこともあります。

こちらも、解決策は示したり用意したりしていますが、ほとんど理解されないままになっているものも多いです。しかし、質問者の方も、ファイルをバイナリエディタで調べてくれているならともかく、単にダメ出しだけでは、相手の持っている、CSVらしきファイルを、神様のようにピタリと内容を当てて、解決することは出来ないのです。

私としても、一度ぐらい、上手く行きましたと聞きたいところですが、そうも行かないので、せめて適当なソフトウェアを探してください。CSVらしきものを扱う汎用のフリーソフトもあるようです。

http://www.asukaze.net/soft/cassava/
Cassava Editor

http://www.simosimo.info/tool/index.shtml
しもりんツール

投稿日時 - 2011-01-17 12:08:22

補足

この質問は解釈された事よりもっとずっとシンプルな内容です。
質問分にカンマ間に32759文字以上と書いてます。
セルに入る文字数を問題にしています。
今外で、データが提示できませんが、エクセルでひとつのセルにアルファベット何でも32767文字入れ、csv形式で保存し、ダブルクリックで開き直すだけで起きます。
データが分離され、改行が入るという現象が起きます。

投稿日時 - 2011-01-17 13:52:21

あなたにオススメの質問