30秒で診断する:本当の区切り文字を見つける
何かを修正する前に、まずファイルが実際に使っている文字を確かめてください。以後の修正はすべてこの1つの事実に依存します。ファイルの拡張子から推測してはいけません。data.csvという名前のファイルでも、カンマ、セミコロン、タブ、パイプのどれを使っているかは分からず、Excelは名前だけではそれを教えてくれません。ファイルをプレーンテキストエディタで開いてください。Windowsではメモ帳、Macではプレーンテキストモードのテキストエディットです。そして最初の2行を見てください。各行で値の間に同じ回数だけ繰り返し現れる文字が区切り文字です。1行目がname,city,note,tagsで、2行目がAna,Lima,ships fast,saleなら、区切り文字はカンマです。name;city;note;tagsならセミコロンです。値の間が目に見える文字のない広い空白で区切られているならタブです。
繰り返しの回数を数えてください。その回数が判定基準です。健全な区切り文字付きファイルでは、すべての行で区切り文字の数が同じです。1行あたり区切り文字が3つなら、すべての行で列は4つです。ある行だけ少ない場合、その行には区切り文字を内部に隠した引用符付きの値があるか、その行が本当に不規則かのどちらかです。前者は正常で正しい状態であり、後者はExcelの問題ではなくデータの問題です。もう1つの素早い確認は、行全体の引用符です。テキストエディタで各行が引用符で始まり引用符で終わり、行全体が1組の引用符の中に収まっている場合、たとえば"Ana,Lima,ships fast,sale"のようになっている場合は、ファイルが余分な引用符の層で書かれています。その引用符を取り除くまで、どの区切り文字を選んでも分割されません。そのケースの修正方法はこのガイドの後半にあります。
先に進む前に、見つけた内容を書き留めてください。区切り文字と、最初の行がヘッダー行かどうかです。この2つの事実が、その後のすべてを決めます。カンマのファイルがカンマのシステムで開けばダブルクリックで正しく開きます。カンマのファイルがセミコロンのシステムで開けば1列になります。セミコロンのファイルがカンマのシステムで開けば、まったく逆のことが起きます。区切り文字が分かれば修正は機械的な作業になり、セルを手作業で整形したり、数式で値を分割したりする必要は二度とありません。
なぜExcelはこうなるのか:ファイルではなくリスト区切り記号が原因
ExcelはテキストエディタのようにCSVを読みません。CSVファイルをダブルクリックしても、Excelはファイルがどの区切り文字を使っているかを尋ねません。オペレーティングシステムの地域設定から来るシステムのリスト区切り記号で各行を分割し、その推測が正しかったかどうかを確認しません。アメリカなど小数点の区切りがピリオドの地域では、リスト区切り記号は通常カンマなので、カンマのファイルは正しく開き、セミコロンのファイルは1列に潰れます。ヨーロッパやラテンアメリカの大部分では、小数点の区切りがカンマなので、リスト区切り記号は通常セミコロンです。カンマはすでに小数点を意味する地域では列を区切ることができないからです。そうした地域では、セミコロンのファイルは正しく開き、カンマのファイルは1列に潰れます。
だからこそ、同じファイルがあるコンピュータでは動き、別のコンピュータでは失敗するのです。同僚から送られたファイルが、送り主の環境では正しく開いたのに、あなたの環境では1列にまとまるのも同じ理由です。どちらのコンピュータも壊れておらず、ファイルも破損していません。2台のマシンが列を区切る文字について意見が食い違っているだけで、各マシンのExcelは尋ねることなく自分の設定を信じています。JSONからCSVへの変換が完璧でもこの症状が出るのも同じ理由です。カンマを書き出す変換ツールは、セミコロンのシステムでは1列に開くファイルを作りますし、セミコロンを書き出す変換ツールは、カンマのシステムでは逆の結果を生みます。変換は正しかったのです。開き方が合っていなかっただけです。
これを理解すれば、やってはいけないことも分かります。1列だけを整形し直したり、数式で値を分割したり、Excelから保存すれば問題が消えるだろうと期待したりしてはいけません。1列のファイルを保存すると、その1列のレイアウトがディスクに書き戻され、元の区切り文字が壊れる恐れがあります。セルではなく分割を修正してください。以下に紹介する3つの修正方法はすべて分割を修正するもので、最初に試すべきものからシステムを変更するものまで順に並んでいます。
修正方法1:ファイルを取り込み、区切り文字を選ぶ
これが最初に試すべき修正方法です。システムを何も変更せず、区切り文字が何であれどんなファイルにも使えます。ファイルをダブルクリックする代わりに、まずExcelを開き、ガイド付きの取り込みでファイルを取り込んで、区切り文字を自分で選んでください。取り込みダイアログのプレビューでは、選んだ区切り文字が正しいかどうかがすぐに分かります。プレビューで列が分かれる様子は、シート上に表示される様子とまったく同じです。
- Excelでデータ、テキスト/CSVからと進み、ファイルを選択します。
- プレビューダイアログで、区切り文字をテキストエディタで見つけた文字に設定します。カンマ、セミコロン、タブ、パイプのいずれかです。
- プレビューを確認します。列が正しく分かれていれば続行します。まだ1列のままなら、間違った区切り文字を選んだので、次の候補を試してください。
- アクセント付き文字がおかしく見える場合は、ファイルの文字コードを65001:Unicode(UTF-8)に設定してから読み込みます。
- 先頭のゼロ付きコードのようにテキストのまま残すべき列は、読み込む前に取り込みの手順でテキストに設定します。読み込み後に書式を修正しても、Excelがすでに落としたゼロは戻りません。
取り込みによる方法には、ダブルクリックと比べてもう1つの利点があります。確定する前に結果を確認できることです。プレビューが1列のままなら、まだ何も変更していないので、別の区切り文字を試せます。プレビューで正しい列が表示されれば、自信を持って読み込めます。これを救済策としてだけでなく、CSVファイルを開く通常の方法にしてください。ダブルクリックは推測です。取り込みは選択であり、その選択にかかる時間は10秒ほど長いだけです。
Googleスプレッドシートはこの処理が異なり、たいていは優れています。ファイル、インポートからCSVをスプレッドシートに取り込むと、ほとんどの場合に区切り文字が自動で検出され、確認を求められます。そのため1列の問題はそちらではまれです。スプレッドシートの推測が間違った場合は同じ修正方法が使えます。自動の推測を受け入れるのではなく、取り込みダイアログで区切り文字を選んでください。
修正方法2:すでに開いた列を区切り位置で分割する
すでにファイルをダブルクリックして、すべてがA列に入っている場合でも、閉じてやり直す必要はありません。Excelはその1列をその場で分割でき、そのためのツールが区切り位置です。この修正方法はシート上にすでにあるデータに対して働くので、ファイルがすでに開いている場合の最も速い救済策です。ただし守るべき制限が1つあります。分割する列の右側のセルを上書きしてしまうので、それらのセルが空であることを確認するか、まず1列を新しいシートにコピーしてください。
- すべてのデータが入った1列を選択します。通常はA列です。
- データ、区切り位置と進みます。
- カンマやタブなどの区切り文字によってフィールドごとに区切られたデータを選び、次へをクリックします。
- テキストエディタで見つけた区切り文字、カンマ、セミコロン、タブ、その他の文字にチェックを入れ、残りのチェックを外してから次へをクリックします。
- プレビューを確認します。列が正しく分かれていれば、コード列の書式をテキストに設定してから完了をクリックします。
プレビューは修正方法1と同じ安全網です。プレビューがまだ1列のままなら、チェックした区切り文字はファイルのものではないので、1つ戻って別の区切り文字を試してください。プレビューで正しい列が表示されても、ある列だけがおかしく見える場合は、行全体の引用符の問題を確認してください。1組の引用符で包まれた行は、Excelが引用符の中身を1つの値として扱うため、どの区切り文字でも分割されません。そのケースは下のその他の原因の節で扱います。
区切り位置は1つのファイルに対する一度きりの修正方法です。次のファイルの開き方は変わらず、保存するまでディスク上のファイルも変わりません。分割後にExcelから保存する場合は、CSVに戻して保存するのではなくスプレッドシートとして保存してください。CSVに戻すと、Excelが自分のリスト区切り記号で区切り文字を書き直し、次に開く人のために同じ不一致を再び持ち込む恐れがあります。
修正方法3:リスト区切り記号を変更してダブルクリックで開けるようにする
毎週同じ不一致の区切り文字のファイルを受け取る場合、ファイルを1つずつ修正するのは面倒になります。その場合の持続的な修正方法は、システムのリスト区切り記号を受け取るファイルに合わせることです。Windowsでは、これはExcelの設定ではなくシステムの設定であり、変更するとリスト区切り記号を使うすべてのプログラムに影響します。だからこそこれが修正方法3であり、修正方法1ではないのです。何に影響するかを理解したうえで意図的に変更し、ほとんどのファイルがもう一方の区切り文字を使う場合に限ってください。
- Windowsで設定、時刻と言語、言語と地域、日付、時刻、地域の追加設定、地域、追加の設定と開きます。
- リスト区切り記号の欄を見つけ、ファイルが使う区切り文字、カンマかセミコロンに設定します。
- 適用し、Excelを完全に閉じてから再度開き、テストファイルをダブルクリックして列が分かれることを確認します。
変更する前に2つの注意点があります。まず、他のプログラムもリスト区切り記号を使います。そのため、これまでセミコロンのファイルを書き出していたプログラムがカンマのファイルを書き出し始めたり、その逆が起きたりします。ファイルを同僚と共有する場合は、変更したことを伝えてください。同僚のシステムは変わっていないからです。次に、MacにはExcelで同じように振る舞う単一の同等な設定がないので、修正方法1の取り込みによる方法がそちらでは確実な修正方法であり、設定を探し回る方法ではありません。迷ったらファイルを取り込んでください。10秒の取り込みは、マシン上のすべてのプログラムに説明しなければならないシステム変更よりも優れています。
設定を何も変更しないファイルごとの裏技もあります。ファイルの最初の行にsep=;を置き、その次にヘッダー行を置くと、Excelはカンマのシステムでもそのファイルではセミコロンを使います。同じことがsep=,でもでき、セミコロンのシステムで使えます。これは標準ではなくExcelの実際の挙動なので、他のツールではsep=の行がデータ行として表示される場合があります。Excelで開くことが分かっているファイルにだけ使い、ツール間を行き来するファイルには取り込みによる方法を優先してください。
根元で修正する:Excelが想定する区切り文字で書き出す
上記の3つの修正方法は、他人が作ったファイルを修復するものです。自分がファイルを作る側なら、最もすっきりした修正方法は、読み手のExcelが想定する区切り文字で書き出すことです。そうすれば誰も修正する必要がありません。このページの変換ツールでは、ダウンロードする前に区切り文字を選べます。出力の上にある区切り文字のメニューから、カンマ、セミコロン、タブ、パイプを選んでください。ファイルが開かれるシステムに合ったものを選べば、ダブルクリックの問題は二度と起きません。ファイルが両方の種類のシステムの人に届く場合は、カンマがより安全な既定値です。取り込みによる方法でどこでも修正でき、Excel以外のほとんどのツールがカンマを想定しているからです。
同じファイルを2つの区切り文字で変換すると、選択がなぜ重要か、そして引用符付けを手作業で管理する必要がない理由が分かります。変換ツールは同じ2行のサンプルを2回実行しました。1回はカンマで、もう1回はセミコロンです。以下はそのときに実際に生成されたバイトそのものです。各出力が、自分の区切り文字のために引用符が必要なセルだけを引用符で囲み、それ以外は囲んでいないことに注目してください。
Comma output:
name,city,note,tags
Ana,Lima,"ships, fast",new; vip
Ben,Oslo,ships fast,sale
Semicolon output:
name;city;note;tags
Ana;Lima;ships, fast;"new; vip"
Ben;Oslo;ships fast;saleこの2つの出力を注意深く読んでください。引用符の規則が実際に働いている様子が分かります。カンマ区切りの場合、セルships, fastはカンマを含んでいるため引用符で囲まれますが、new; vipは引用符なしのままです。区切り文字がカンマの場合、セミコロンは無害だからです。セミコロン区切りの場合は逆になります。ships, fastは引用符なしのままで、new; vipはセミコロンを含んでいるため引用符で囲まれます。変換ツールはこの規則を自動で適用します。同じ実行でのタブとパイプの出力では、どちらのセルも引用符なしのままでした。どちらのセルにもタブやパイプが含まれていないからです。自分で何かを引用符で囲む必要はありません。区切り文字を選ぶだけで、引用符付けはそれに従います。
スクリプトから書き出す場合も、区切り文字を明示的に選んでください。Pythonではcsvライターがdelimiter引数を、pandasのto_csvがsep引数を取ります。つまりセミコロンでの書き出しは引数1つであり、出力に対する検索と置換ではありません。完成したファイルの文字を置換して区切り文字を変更してはいけません。置換では区切り文字のカンマと、引用符付きの値の内側のカンマを区別できず、引用符が守っていたセルをまさに壊してしまいます。
区切り文字の問題に見える3つの別の原因
1列のファイルがすべて区切り文字の不一致というわけではありません。同じ症状を生む別の原因が3つあり、それぞれ修正方法が異なります。区切り文字が間違っていると結論づける前に確認してください。1つ目は、診断の節でも触れた行全体の引用符です。各行が1組の引用符で包まれている状態です。ツールがセルごとに引用符を付けるのではなく行全体に引用符を付けると起き、Excelは引用符の中身を正しく1つの値として扱います。修正方法は根元にあります。セルごとに正しく引用符を付けた形でファイルを再書き出しするか、値の内側にカンマがなければテキストエディタで外側の引用符を取り除いてから、通常どおり取り込んでください。
2つ目は、区切り文字がまったくないファイルです。実はCSVファイルではありません。JSONの配列をテキストファイルに貼り付けて.csv拡張子で保存したものや、列がスペースで整列された固定幅の書き出しは、どの区切り文字を選んでも1列で開きます。分割するものが何もないからです。診断はテキストエディタで見えます。最初の行に繰り返し現れる区切り文字がなければ、そのファイルは区切り文字付きではなく、どの取り込み設定でも修正できません。変換元のデータを正しく変換してください。たとえばJSONを先にCSVに変換してから、その結果を開きます。
3つ目は、区切り文字の問題に化けた文字コードです。ファイルが1列で開き、同時に文字もおかしく見え、アクセント付き文字が奇妙な記号に置き換わっている場合、区切り文字は正しく、文字コードが間違っている可能性があります。修正方法1と同じように、取り込みダイアログでファイルの文字コードを65001:Unicode(UTF-8)に設定し、列と文字の両方が正しくなるか確認してください。このページの変換ツールはバイト順マークなしのプレーンなUTF-8をダウンロードするので、その出力を65001で再取り込みすれば文字は正しく読め、残る疑問は区切り文字だけになります。
次のファイルのための予防チェックリスト
1列の問題は、書き手と読み手の不一致です。つまり予防とは、ファイルが移動する前に書き手と読み手を一致させることです。CSVを作るときにこのチェックリストを確認すれば、次に開く人はこのガイドを必要としません。まず、読み手のシステムを知ってください。アメリカや小数点がピリオドの地域ではカンマ、小数点がカンマの地域ではセミコロンです。次に、書き出しのときに区切り文字を明示的に設定してください。変換ツールのメニューでもスクリプトの引数でも構いません。確認していない既定値を受け入れてはいけません。3つ目に、書き出したファイルをテキストエディタで開き、最初の行に意図した区切り文字が現れ、すべての行で回数が同じであることを確認してください。
4つ目に、ファイルが両方の種類のシステムの人に届く場合は、区切り文字を明記したメモと一緒に送るか、CSVではなくスプレッドシートとして送ってください。スプレッドシートは列の構造を一緒に運ぶため、誤って分割されることがありません。5つ目に、救済したファイルをExcelからCSVとして保存し直すときは、Excelが使った区切り文字を確認せずに保存してはいけません。Excelはシステムのリスト区切り記号で書き出すため、次の読み手にとっては間違ったものになる可能性があります。そして6つ目に、元のソースファイルを保管してください。CSVはデータそのものではなく、平坦化されたスナップショットです。救済がうまくいかなかった場合、ソースがあれば損傷したコピーを修復するのではなく、きれいに再書き出しできます。
関連ガイド
- How to JSON to CSV Online: このタブで30秒で変換する方法(2026年ガイド)
- JSONファイルをオンラインでCSVに変換する方法(2026年ガイド)
- JSONをローカルでCSVに変換する方法とは?6つの方法を比較(2026年ガイド)
- CSVがExcelで文字化けする原因と文字コードの直し方(2026年ガイド)
- CSVのコードの先頭の0がExcelで消える理由と、残す方法(2026年ガイド)
- CSVの日付がExcelで変わる原因と直し方(2026年ガイド)
- ExcelでCSVを保存すると内容が変わる理由と、元のファイルを守る方法(2026年ガイド)
- CSVが大きすぎてExcelで開けない原因と対処法(2026年ガイド)
よくある質問
なぜ私のCSVはExcelで1列に開くのですか?
Excelがファイルの区切り文字ではなく、システムのリスト区切り記号で分割したからです。システムがセミコロンを想定しているのにファイルがカンマを使っている場合や、システムがカンマを想定しているのにファイルがセミコロンを使っている場合は、すべての行が1つのセルにまとまります。ファイルを取り込み、合う区切り文字を選べば列が表示されます。データが壊れたことは一度もありません。
自分のCSVファイルがどの区切り文字を使っているかはどうやって調べますか?
プレーンテキストエディタで開き、最初の2行を見てください。各行で値の間に同じ回数だけ繰り返し現れる文字が区切り文字です。カンマ、セミコロン、広い空白として表示されるタブ、パイプのいずれかです。ファイルが.csvという名前でも、どれを使っているかは分からないので、拡張子は何も教えてくれません。
すでに1列で開いているCSVの最も速い修正方法は何ですか?
1列を選択し、データ、区切り位置と進み、区切り文字による分割を選び、ファイルが使う区切り文字にチェックを入れて完了をクリックします。分割すると右側のセルが上書きされるので、まずそれらのセルが空であることを確認してください。まだ開いていないファイルの場合は、代わりにデータ、テキスト/CSVからを使い、読み込む前にプレビューを確認できるようにします。
これを修正するためにWindowsのリスト区切り記号を変更すべきですか?
毎週同じ不一致の区切り文字のファイルを受け取る場合に限ります。リスト区切り記号を変更すれば、それらのファイルではダブルクリックで開けるようになりますが、設定を使うすべてのプログラムに影響し、変更していないシステムの同僚は引き続き不一致を見ることになります。たまにしかないファイルの場合は、正しい区切り文字で取り込む方が安全な修正方法です。
なぜ同じCSVが同僚のコンピュータでは正しく開くのに、私のコンピュータでは開かないのですか?
2つのシステムのリスト区切り記号が違うからです。一方はカンマを想定し、もう一方はセミコロンを想定しています。通常は地域設定と小数点の区切りが違うためです。ファイルは両方のマシンで同一です。各マシンのExcelは自分の設定を信じるため、同じファイルが一方では正しく分割され、もう一方では潰れてしまいます。
CSVをExcelで正しく開けるように書き出すにはどうすればよいですか?
受け取る側のExcelが想定する区切り文字で書き出してください。小数点がピリオドの地域ではカンマ、小数点がカンマの地域ではセミコロンです。このページでは、ダウンロードする前にメニューから区切り文字を選んでください。スクリプトでは、完成したファイルの文字を置換するのではなく、区切り文字の引数を明示的に設定してください。置換すると引用符付きの値が壊れます。
正しい区切り文字を選んでもCSVが1列のままの場合はどうすればよいですか?
その場合、原因は区切り文字ではありません。各行が1組の引用符の中に収まった行全体の引用符や、.csv拡張子で保存されたJSONのように区切り文字がまったくないファイルを確認してください。文字コードも確認してください。アクセント付き文字が同時に間違って見える場合は、取り込みダイアログでファイルの文字コードを65001:Unicode(UTF-8)に設定してください。
最初から正しい区切り文字で変換する
このページの変換ツールにJSONを貼り付け、メニューからあなたのExcelが想定する区切り文字、カンマ、セミコロン、タブ、パイプを選び、正しい列で開くファイルをダウンロードしてください。アップロードなし、登録なし、ブラウザのタブから何も出ていきません。
JSONからCSVへの変換ツールを開く