ExcelのCSVがセミコロン区切りになる原因と直し方|小数点記号・桁区切り設定
ExcelのCSVがセミコロン区切りになる原因と直し方|小数点記号・桁区切り設定 2025 12/29 ExcelExcelで「CSV(コンマ区切り)」として保存したはずなのに、出力されたCSVを開くと区切りがセミコロン(;)になってしまう…。Windowsの地域設定(リスト区切り)を直しても改善しない場合、原因はExcelの「小数点記号」と「桁区切り」の設定にあることが多いです。仕組みと直し方、Web版やSharePoint経由の切り分けまでまとめます。
目次Excelで「CSV(コンマ区切り)」なのにセミコロン(;)で出力される症状
Excelの「CSV(コンマ区切り)」や「CSV UTF-8(コンマ区切り)」を選んで書き出したのに、実際のファイルはセミコロン区切りになっている。こうした相談は珍しくありません。特に次のような状況が重なると「設定を変えても直らない」と感じやすいです。
よくある状況起きやすい現象見落としポイントWindowsの地域設定を触った(リスト区切りを変更)CSVが依然としてセミコロンのままExcel側の小数点記号・桁区切りが不整合のままExcelの「区切り設定」を変更した再起動後も区切りが変わらない「システム区切り文字を使用する」の影響、またはVBA/アドインの上書きSharePoint/OneDrive上のファイルをWebからエクスポートPC側の設定を変えても結果が変わらないWeb(アカウント/サイト)の地域設定が優先されることがある結論から言うと、「CSVなのにセミコロン」はExcelの仕様として起こり得る現象です。ただし、今回のケースのように「本来コンマにしたいのに、何をやってもセミコロンになる」ときは、設定の衝突が原因である可能性が高いです。
まず押さえたい:CSVの区切り文字は必ずしもコンマではない
CSVは一般的に「Comma Separated Values(コンマ区切り)」と説明されることが多い一方で、現実には区切り文字がコンマ以外のCSVも広く存在します。理由はシンプルで、数値の表記(小数点)と区切り文字が衝突すると読み取りが難しくなるからです。
たとえば、小数点に「,(カンマ)」を使う地域では数値が1,23のように表記されます。もしCSVの区切りもカンマだと、
- 「1,23」が1と23の2列なのか
- 「1.23」の意味で小数点カンマなのか
が紛らわしくなります。そこでExcelは多くの環境で、小数点がカンマのときは区切りをセミコロンにする方向に寄せます。
ここで重要なのは、ExcelのCSV出力が「ファイル形式名に書かれた区切り」だけで決まっていない点です。Excelは内部的に、次のような設定を見て区切りを決めることがあります。
設定項目主な場所CSV出力への影響リスト区切り(List separator)Windowsの地域設定CSVのフィールド区切りとして使われることがある小数点記号(Decimal separator)Excelの詳細設定(またはWindows)区切り文字と衝突すると、セミコロンへ切り替わる要因になる桁区切り(Thousands separator)Excelの詳細設定(またはWindows)小数点記号と同一だと不整合が起きやすいシステム区切り文字を使用するExcelの詳細設定Windows側を優先するか、Excel独自設定を使うかを左右する今回の原因:小数点記号と桁区切りがどちらも「,」になっていた
今回のポイントはここです。Excelの詳細設定で、
- 小数点記号(Decimal separator):,
- 桁区切り(Thousands separator):,
のように同じ記号が二重に設定されていると、Excelにとって「数値表記としても区切りとしてもカンマが出てくる」状態になります。こうなるとCSVでコンマ区切りを採用するとさらに混乱するため、Excelが区切りをセミコロンに寄せる挙動になりやすくなります。
また、この状態はCSVだけでなく、日常の入力でも次のような副作用を生むことがあります。
- 数値の表示が不自然(桁区切りが効かない、または表示が崩れる)
- 他システムからの貼り付け/インポートで数値が文字列扱いになる
- 集計やピボットで「数値なのに合計できない」などが起きる
「CSVの区切りだけがおかしい」と見えても、根っこは数値の区切りルールが壊れているケースが多いので、まずはそこを整えるのが最短です。
解決策:小数点「.」・桁区切り「,」に戻す
対処はシンプルで、Excelの区切り設定を次の推奨値に戻します。
項目推奨設定狙い小数点記号(Decimal separator).(ピリオド)小数点を明確化し、CSVのコンマと衝突させない桁区切り(Thousands separator),(カンマ)一般的な「1,000」表記を維持するこれで「コンマを区切りにしても数値と衝突しない」状態になり、CSVがコンマ区切りに戻る可能性が高まります。
手順:Excelデスクトップ版で区切り設定を直す
Excelの画面で確認・変更する流れを、迷いにくい形でまとめます。操作後はExcelの再起動までセットで行ってください。
- Excelを起動し、左上の「ファイル」をクリック
- 「オプション」を開く
- 左メニューから「詳細設定」を選ぶ
- 「編集オプション」付近にある「システム区切り文字を使用する」を確認
- 小数点記号と桁区切りを次のように設定
- 小数点記号:.
- 桁区切り:,
- OKで閉じる
- Excelをいったん終了し、再起動
- 改めて「名前を付けて保存」でCSVを書き出して確認
ここは環境によって最適解が変わります。判断の目安を整理すると次の通りです。
選び方向いているケース注意点オン(Windows側に合わせる)社内PCで標準設定を統一している/端末間で整合性を取りたいWindowsの地域設定が変わるとExcelも影響を受けるオフ(Excel独自で指定)一時的にこのPCだけ出力仕様を固定したい/Windowsを触れない他ユーザーのPCでは再現しないことがあるまずは原因の切り分けとして、Excel側で小数点「.」・桁区切り「,」が正しく入るか確認するのが効果的です。その上で、社内運用としてWindows側に寄せるのか、Excel単体で固定するのかを決めるとトラブルが減ります。
Windowsの地域設定も合わせてチェックする(リスト区切り)
Excelが「システム区切り文字を使用する」をオンにしている場合、Windowsの設定がCSV出力に影響します。特に見ておきたいのがリスト区切り(List separator)です。
Windows 10/11では、最短だと次の経路で確認できます(表示名は環境により多少前後します)。
- コントロール パネル → 地域(Region)
- 追加設定(Additional settings)
- 小数点記号、桁区切り記号、リスト区切りを確認
ポイントは、小数点記号とリスト区切りの整合性です。小数点がカンマの環境ではリスト区切りがセミコロンになっていることが多く、これ自体は「間違い」とは限りません。問題なのは、今回のように小数点と桁区切りが同じ記号になっていたり、運用上はコンマ区切りが必要なのに環境がそれを許さない設定になっていることです。
変更後の確認方法:出力CSVをテキストで開いて区切りを確認する
「Excelで開くと、それっぽく見える」だけでは区切り文字が判断できません。必ずテキストエディタ(メモ帳、VS Code など)でCSVを開き、区切りがどちらかを確認しましょう。
例:コンマ区切りで出力されていると、行は次のように見えます。
id,name,price 1,りんご,120.5 2,みかん,98.0例:セミコロン区切りだと、次のようになります。
id;name;price 1;りんご;120.5 2;みかん;98.0もし数値が120,5のように小数点カンマで出ているなら、区切りをコンマに戻すには数値表記(小数点記号)を先に揃える必要があります。
よくある落とし穴と追加チェック
Windowsの「リスト区切り」をコンマにしたのに直らないこのパターンで多いのが、Excel側で小数点記号・桁区切りが崩れたままになっているケースです。今回のように、Excelの詳細設定で小数点記号と桁区切りが同じ「,」になっていると、CSVの区切りをコンマにできず、セミコロンへ寄ることがあります。
対策としては、
- Excelの小数点記号を「.」に戻す
- Excelを再起動する
- 同じブックをもう一度CSVとして保存する
までをセットで行うのが確実です。
関数の引数区切りが「,」ではなく「;」になったExcelでは、関数の引数区切り(=SUM(A1,B1) のカンマ部分)も、地域設定やリスト区切りの影響を受けます。小数点がカンマの地域では、引数区切りがセミコロンになるのはよくある挙動です。
今回のCSV問題を直すために区切り設定を変更した結果、関数入力の見え方が変わることがあります。これは「壊れた」のではなく、Excelがその環境の区切り規則に合わせただけです。運用として「どちらが正しいか」を決め、社内PCで統一するのが理想です。
VBAやアドインが区切り設定を上書きしている意外と見落とされるのが、VBAマクロやアドインがExcel起動時に区切り設定を変更しているケースです。たとえば、次のようなコードはExcelの区切りを強制的に変更できます。
Application.UseSystemSeparators = False Application.DecimalSeparator = "," Application.ThousandsSeparator = ","もし「毎回直しても戻る」「特定のブックを開いたときだけおかしくなる」なら、
- PERSONAL.XLSB(個人用マクロブック)
- アドイン(COMアドイン含む)
- ブックのOpenイベント(ThisWorkbook)
あたりを疑ってください。原因の切り分けとして、セーフモードでExcelを起動してCSVを書き出してみるのも有効です(セーフモードでは一部アドインが無効になります)。
CSVを取り込む側(他システム)が「コンマ固定」を前提にしているExcelの設定を直しても、組織や取引先のシステムが「CSV=コンマ」と決め打ちしていることがあります。この場合、Excelの仕様に合わせるのではなく、相手側の仕様に合わせて確実にコンマで出す運用が必要です。
ただし、単純に「; を , に置換」すると、データ中の文字列や引用符の扱いで事故が起きます。たとえば、メモ欄に「A;B」や「A,B」が入っていると、置換や分割が破綻します。強制変換するなら、データを正しくパースできるツール(PowerShell/Pythonなど)を使うのが安全です。
Excel for the web(ブラウザー)やSharePoint経由のエクスポートで区切りが変わる場合
SharePointやOneDrive上のファイルをWebから「CSVとしてダウンロード」する場合、PC側の設定ではなく、
- Microsoft 365アカウントの言語・地域
- SharePointサイトの地域設定
- ブラウザー上のExcelのロケール
などが影響して区切りが決まることがあります。つまり、ローカルPCでいくら設定を直しても、Web経由のエクスポートはセミコロンのまま…ということが起こり得ます。
出力元区切りに影響しやすい設定切り分けのコツExcelデスクトップ(PC)Excel詳細設定/Windows地域設定同じファイルをローカル保存して「名前を付けて保存」で確認Excel for the webM365アカウントの地域設定/ブラウザーの言語「デスクトップアプリで開く」で出力結果が変わるか比較SharePointのエクスポート機能サイトの地域設定/列の書式サイト設定を変更できない場合はデスクトップ出力に寄せる現場での最短ルートは、一度ローカルに保存してExcelデスクトップからCSVを書き出すことです。これでコンマ区切りになるなら、原因はWeb側の地域設定に寄っている可能性が高いと判断できます。
どうしても「コンマ固定」でCSVを出したいときの代替案
「Excelの設定は社内標準で変えられない」「Webの地域設定も触れない」「でも納品はコンマ固定」といったケースもあります。そんなときは、Excelの出力結果に頼らず、変換工程を作るのが現実的です。
PowerShellで区切りを指定して書き出すすでにセミコロン区切りのCSVがある場合、PowerShellで一度読み込んでからコンマ区切りで出力できます(列名が1行目にある前提)。
# 例:入力はセミコロン区切り、出力はコンマ区切り Import-Csv -Path "input.csv" -Delimiter ";" | Export-Csv -Path "output.csv" -Delimiter "," -NoTypeInformation -Encoding UTF8この方法は「ちゃんと列として解釈してから書き出す」ため、単純置換より安全です。ただし、日時や数値の書式が変わる場合があるので、納品仕様が厳しいときはサンプルで必ず検証してください。
Python(pandas)で区切りを変換するデータ量が多い、または変換処理を自動化したい場合はPythonも有効です。
import pandas as pd df = pd.read_csv("input.csv", sep=";") df.to_csv("output.csv", index=False, sep=",", encoding="utf-8")Excelの設定に左右されず、処理をスクリプト化できます。CSVの引用符や改行を含むデータがある場合も、ライブラリ側が適切に扱ってくれることが多いのがメリットです。
まとめ:CSVの区切りがセミコロンになるときは「数値区切りの衝突」を疑う
Excelで「CSV(コンマ区切り)」を選んでもセミコロンになってしまうとき、まず疑うべきはWindowsのリスト区切りだけではありません。特に、
- 小数点記号と桁区切りが同じ記号になっていないか
- Excelの「システム区切り文字を使用する」がどうなっているか
- Web/SharePoint経由ならWeb側の地域設定が優先されていないか
を順に潰すと、最短で原因に到達できます。設定を整えた上で、必ずテキストでCSVを開いて区切りを確認し、目的のシステムで正しく取り込めるところまでチェックしてください。
Excel 地域設定 Excel CSV 小数点記号 セミコロン- ExcelでAHTをエージェント別に月次(MoM)トレンド表示し外れ値を見つける方法|mm:ss対応・Rank/ピボット活用
- ExcelセルにフォーカスのidMsoはFocusActiveCell|ExecuteMsoでトグルするVBAアドイン実装