Excelにインポートするcsvファイルに大量のデータがありますが、ほとんどは問題ありませんが、列の1つに最大1000文字のデータが含まれています。残念ながら、Excelは必要以上に多くのデータがあると想定し、短く(255文字で)カットしているようです。
この制限を増やしてすべてのデータを保持するにはどうすればよいですか?
Excelにインポートするcsvファイルに大量のデータがありますが、ほとんどは問題ありませんが、列の1つに最大1000文字のデータが含まれています。残念ながら、Excelは必要以上に多くのデータがあると想定し、短く(255文字で)カットしているようです。
この制限を増やしてすべてのデータを保持するにはどうすればよいですか?
回答:
Excelには奇妙なバグがあります。ここでそれを回避する方法を説明します(修正せず、回避するだけです)。MSOfficeプログラマーによってすぐに修正されるかもしれません。Excel 2013で修正されたのかもしれませんが、まだ開いていません。
だから、これが問題です。
テキストセルの最大長は32767で、問題ありません。
数値セルの最大長は255で、問題ありません。
しかし、数値パーサーを呼び出し、失敗してからテキストパーサーを呼び出すセルがある場合、ここに大きな混乱があります。
例えば:
...,"This is a cell with 30,000 characters........",...
働くでしょう。
ただし、次のように、最初に少しマイナスを入れると
...,"-This is a cell with 30,000 characters........",...
EXCELでは負の数であると見なされるため、最初のテキスト文字は255文字しか表示されません。
それが役に立てば幸い。
ダッシュで始まることもある長いテキストフィールドを持つcsvファイルでこの問題に遭遇しました。Excelのインポートは、ダッシュのためにフィールドを数値として処理しようとするようであり、数値インポートはそれを255文字にトリミングします。それが失敗すると、テキストとしてインポートされますが、最初の255文字のみがインポートされます。
この問題を回避するには、csvを開くだけでなくインポートする必要がありました。インポートウィザードで、問題が発生している列を選択し、その種類を[全般]から[テキスト]に切り替えました。そうすると、Excelはそれを数値として解析しようとさえせず、列幅全体を取得します。
まず、これを解決するためにあなたの助けてくれてありがとう。Excelはセルに255文字以上を非常にうまく収容できることがわかります(ラムを持っている場合は前述のように32,767まで可能です)。
では、なぜ仕事がなかったのでしょうか?
簡単な答えはわかりません。データを初めてExcelに持ち込んだとき、csvとしてエクスポートし、Excelで開きました。これにより、列が短くなります(255)。(csvファイルには、メモ帳で表示したときにすべてのデータが含まれていましたが、Excelで再度保存したときは含まれていませんでした)。
問題の列にはセミコロンが含まれていましたが、これはカットオフポイント(常に255)に対応していなかったため、私は使用しませんでした。区切り文字として。
私の解決策は、xlsファイルとしてエクスポートすることでした。その後、これは完全なデータを含むcsvファイルとして正常に保存されました。
ここに何が問題なのか正確にはわからないにもかかわらず、これが誰かの助けになることを願っています。
http://office.microsoft.com/en-us/excel-help/excel-specifications-and-limits-HP010342495.aspxによると、Excel 2010は255文字の列幅のみをサポートしています。
編集:これはあなたが話している問題、Webweaverですか?[書式]> [セル]> [テキストの折り返し]は、残りの文字を表示しますか?
編集:気にしないで、この答えは目の前の問題とは無関係です(おそらく何らかの形で関係しているかもしれませんが、質問には答えていません)
通常、これは古い制限であり、Excelの最新バージョン(とにかく2013)には適用されなくなりました。ただし、ワークブックが最初に古いバージョンで作成された場合、古いバージョンで変更された(つまり、特定のプロパティと属性でインスタンス化された)セルオブジェクトは、明らかに、新しいバージョンのExcelで開いても255文字の制限を保持します!
修正:
その後、WebweaverDが投稿したとき、彼はcsvインポートの問題の解決策を見つけました。また、セルがVBAを介して入力されている場合、他の応答で言及されているように、状況はより複雑になります。ただし、データが手動で入力されている場合、または別のアプリケーションからレガシーブックにコピー/貼り付けされている場合、このレガシーセル属性の問題が原因である可能性があります。
私は同様の問題を抱えていました、私の値はすべて形式でした(数字を数字に、テキストをテキストに変換できるようにするために、長いテキストをカットしました:
...,="Long Text........",...
=を先頭に付けると、最初の255文字しか表示されません。これは、EXCELが数字であると見なすため、先頭に=を削除するためです。
それが役に立てば幸い。
=LEN(A1)
A!にExcelを入力するとどうなりますか。あなたのテキストへの参照ですか?