mygems

Excel で開けない大きな CSV ファイルを開く方法 (2026 guide)

Excel は 1,048,576 行で止まり、黙って切り捨てることも。巨大な CSV をパソコンとスマホで開き、読み、編集する方法を紹介します。

執筆: uos ·

CSV ファイルをダブルクリックすると、Excel は 90 秒ほど考え込み、次の 3 つのどれかが起こります。明らかにファイル全体ではない中途半端な内容が開く。「ファイルが完全に読み込まれませんでした」というダイアログが出る。あるいは応答なしになり、コーヒーを淹れに行くことになる。

どれもファイルが壊れているという意味ではありません。開こうとしたツールに対してファイルが大きすぎる、というだけです。ここでは、それでも中身を見る方法を紹介します。デスクトップできちんと扱えるツールと、メールに添付されたファイルをスマホで開くときに使えるツールの両方です。

最短の答え

  • デスクトップで、中身を見てクエリを実行するだけなら: DuckDB を使います。コマンド 1 つ、インポート不要で、数 GB でも扱えます。
  • デスクトップで、Excel のままで済ませるなら: シートのグリッドではなく、Power Query でデータ モデルに読み込みます。
  • スマホやタブレットなら: 大きなファイル向けの CSV アプリを使います。読み取りとクエリは Smart CSV Viewer、行の編集は CSV Editor です。
  • やってはいけないこと: メモ帳で開くこと。そして、一部しか読み込んでいないツールで元のファイルに上書き保存すること。

以下では、Excel が諦める理由、手元のファイルがどういう状態かを調べる方法、そしてどの方法がそのファイルに合うかを説明します。

Excel で開けない理由

Excel には構造上の厳しい上限があり、メモリを増設しても変わりません。

  • 1,048,576 行。 これは 2²⁰ で、ワークシートの高さです。300 万行のファイルは、いくら払っても 1 枚のシートには収まりません。
  • 16,384 列。 問題になることはまれですが、分析ツールからの横長のエクスポートでは上限に当たります。
  • 1 セルあたり 32,767 文字。 長い JSON や、メール本文まるごとを 1 つのフィールドに入れた CSV は、何も言われずに切り捨てられます。
  • メモリ。 行数の上限よりずっと手前で、Excel は極端に遅くなります。400MB の CSV は、すべての値を解析し、型を付け、インデックスを作ると、メモリ上で数 GB に膨らむことがあります。

本当に危険なのは、静かに失敗する場合

開かないファイルは面倒なだけです。開いてしまうファイルのほうが実害を出します。

CSV が行数の上限を超えると、Excel は最初の 1,048,576 行だけを読み込み、警告を 1 回だけ出します。そのダイアログを閉じて、必要な行に絞り込み、保存すると、切れ目より後ろの行がすべて抜けたファイルを書き出したことになります。しかも、何かがおかしいという目に見えるサインはありません。列見出しは正しく、データも正しく見えます。ただ、全部は入っていないのです。

軽量な CSV ビューアの多く、モバイル向けのものも含めて、同じことが起こります。画面の反応を保つために最初の数千行だけを読み、そのことには一切触れません。大きなファイルをツールに任せる前に、そのツールが表示する行数が元ファイルの行数と一致しているか確認してください。

まず、ファイルの状態を確認する

以降の判断は 2 つの数字で決まります。ファイルのサイズと、行数です。

macOS または Linux の場合:

ls -lh big.csv          # file size
wc -l big.csv           # row count (add 1 for the header)
head -5 big.csv         # what the columns actually look like

Windows PowerShell の場合:

Get-Item big.csv | Select-Object Length
Get-Content big.csv -ReadCount 1000 | Measure-Object -Line
Get-Content big.csv -TotalCount 5

この head は見た目以上に重要です。「壊れた」CSV の半分は、カンマではなくセミコロン区切り(ヨーロッパの多くの地域では標準です)か、最初の列名にバイトオーダーマーク(BOM)がくっついているファイルです。サイズのせいにする前に、これを確かめておきましょう。

方法を選ぶ

状況向いているツール
中身を見る、数える、クエリを実行するDuckDB
Excel のままで、ピボットテーブルを作りたいPower Query + データ モデル
スプレッドシートに収まるサイズに分割したいsplit または csvkit
繰り返し分析する、ファイル同士を結合するSQLite または DuckDB
1 列の値だけ読みたいcsvcut または大きなファイル対応のテキストエディタ
ファイルがスマホにある大きなファイル向けの CSV アプリ
行を編集して保存し直したいCSV Editor、またはデスクトップの CSV アプリ

デスクトップの場合

DuckDB: 2026 年の答え

このガイドから 1 つだけ持ち帰るなら、これにしてください。DuckDB は無料の単一ファイルのデータベースで、CSV をインポートなしで直接読み込み、驚くほど高速です。

インストールします(brew install duckdb、winget install DuckDB.cli、または duckdb.org からダウンロード)。そのうえで:

duckdb -c "SELECT * FROM 'big.csv' LIMIT 20"
duckdb -c "SELECT count(*) FROM 'big.csv'"
duckdb -c "DESCRIBE SELECT * FROM 'big.csv'"

3 つ目は、すべての列と推定された型を表示します。初めて見るエクスポートを理解するには、たいてい最速の方法です。そこから先は普通の SQL です:

duckdb -c "SELECT region, sum(amount) AS total
           FROM 'big.csv'
           GROUP BY region
           ORDER BY total DESC"

Excel で開けるような小さいファイルを書き出したいときは:

duckdb -c "COPY (SELECT * FROM 'big.csv' WHERE year = 2026)
           TO 'subset.csv' (HEADER, DELIMITER ',')"

ファイル全体をメモリに読み込むことはないので、ファイルサイズは問題になりません。注意点は、SQL を書ける必要があることと、ターミナルのツールであることです。

Power Query: Excel から出られないとき

行がワークシートに載らない限り、Excel は 100 万行をはるかに超えるデータを扱えます。そのための仕組みが Power Query とデータ モデルです。

Excel で、データ → データの取得 → ファイルから → テキストまたは CSV から を選びます。表示されるプレビュー ウィンドウで、読み込みは押さないでください。その横の矢印を押して 読み込み先... を選び、接続の作成のみ を選んで このデータをデータ モデルに追加する にチェックを入れます。

これで行はグリッドではなく Excel の列指向エンジンに入り、1,048,576 行の上限は適用されません。ピボットテーブルやグラフは通常どおり作れます。できないのは生の行をスクロールして見ることですが、400 万行をスクロールするのが目的だったことはないので、たいてい問題ありません。

分割する

スプレッドシートに収まるサイズの塊が必要なこともあります。macOS または Linux では:

split -l 500000 big.csv chunk_

つまずきやすい点が 1 つあります。ヘッダー行が付くのは最初の塊だけです。ほかの塊にも付けるには:

head -1 big.csv > header.txt
for f in chunk_*; do cat header.txt "$f" > "with_header_$f"; done

csvkit ならこれを正しく処理でき、ほかにもいろいろできます。csvcut -c 1,4 big.csv は特定の列を取り出し、csvgrep -c status -m failed big.csv は行を絞り込み、csvstat big.csv は各列を集計します。非常に大きなファイルでは DuckDB より遅いものの、素朴なシェルツールが苦手な引用符や、フィールド内の改行を理解します。

SQLite: 何度も見るなら

このファイルに 3 回以上戻ってくる、または別のファイルと結合する必要があるなら、一度だけ読み込みます:

sqlite3 data.db
.mode csv
.import big.csv sales
.headers on
SELECT count(*) FROM sales;

その後はどの操作も一瞬です。DuckDB と比べた欠点は、先に自分でテーブルを定義しない限り、SQLite がすべてをテキストとして取り込むことです。

テキストエディタ: 注意つき

生の行を見るだけなら、大きなファイルに対応したエディタが一番手間がかかりません。

  • EmEditor(Windows)はこの用途のために作られていて、数 GB のファイルも問題なく開きます。有料で、試用版があります。
  • Sublime Text は、ほとんどのエディタよりずっと大きなファイルに強いです。
  • BBEdit(macOS)は、編集エンジンにファイルサイズの厳密な上限がありません。
  • VS Code は 50MB あたりから厳しくなり、多くの機能が無効になります。
  • メモ帳はファイル全体をメモリに読み込もうとして、マシンごと巻き込んで落ちます。Notepad++ は問題ありませんが、標準のメモ帳はだめです。

Google スプレッドシートなどのクラウド表計算

Google スプレッドシートは、1 つのスプレッドシートにつき 1,000 万セルが上限です。多そうに聞こえますが、セル数は行 × 列です。30 列のエクスポートなら、約 33 万行で上限に達します。さらに、先にファイル全体をアップロードしなければなりません。大きな CSV では、たいてい一番楽な方法ではなく一番遅い方法です。Apple Numbers はさらに厳しく、100 万行・1,000 列までです。

ファイルがスマホにあるとき

ここまでの方法がどれも当てはまらないのがこのケースで、ネットにあるデスクトップ前提の助言が示すより、ずっとよくある状況です。エクスポートはメールに添付されていて、机にはおらず、今すぐ中身を知りたい。ターミナルも Power Query もなく、標準のファイル プレビューは最初の 1 画面ぶんの生テキストを見せて終わりです。

解決策は、ファイルサイズを例外ではなく最初の要件として扱うアプリです。

CSV File Viewer - Smart CSViPhone・iPad · Android

ファイル全体を開いたうえで、問い合わせができます。SQL クエリ、ビジュアルなフィルタ、グラフ、普通の言葉で質問できる AI アシスタント、PDF エクスポートに対応しています。

できること

ここまでは読み取りの話です。行を変更してファイルを保存し直すのは別の作業で、先ほどの切り捨ての問題に注意が必要です。ファイルの一部しか読み込まなかったモバイルの編集アプリは、黙って一部だけを書き戻します。

CSV Editor - Smart CSViPhone・iPad

50 万行のファイルでもスプレッドシート感覚で編集できます。Excel 風の並べ替えとフィルタ、数式列、元に戻す・やり直し、そして無料版を含め、保存時にすべての行が保持されます。

できること

やってはいけない 4 つのこと

  1. 標準のメモ帳で開かない。 ストリーミングなしでファイル全体をメモリに読み込むため、大きなファイルではマシンが固まります。
  2. 「別のパソコンで試す」ために自分宛にメールで送らない。 多くのメールサーバーは添付ファイルを 25MB 前後に制限していて、制限しないサーバーは再エンコードします。
  3. 元のファイルに上書き保存しない。 作業は必ずコピーで行ってください。この習慣ひとつで、切り捨ての事故が何事でもなくなります。
  4. 確認していない行数を信用しない。 wc -l や SELECT count(*) を実行して、ツールの表示と比べてください。食い違うなら、嘘をついているのはツールです。

よくある質問

Excel はなぜ 1,048,576 行で止まるのですか?
この数は 2²⁰ で、Excel のワークシートの固定の高さです。メモリの制限ではなく、ファイル形式の構造上の制限なので、RAM を増やしても上がりません。Excel はそれ以上の行数を扱えますが、Power Query とデータ モデルを経由する場合に限ります。この場合、行がワークシートに置かれることはありません。
Excel の上限より大きい CSV ファイルはどう開けばよいですか?
デスクトップでは、DuckDB でその場でクエリする(SELECT * FROM 'big.csv')か、グリッドではなく Power Query 経由で Excel のデータ モデルに読み込みます。スプレッドシートに収まるサイズの塊が必要なら、先に `split -l` か csvkit でファイルを分割してください。スマホやタブレットでは、大きなファイル向けの CSV アプリを使います。
Excel はファイルを切り捨てたことを教えてくれますか?
ファイルが完全に読み込まれなかったと伝えるダイアログが 1 回出るだけで、その後は出ません。その後、シート上には行が欠けていることを示すものが何もないので、ダイアログを閉じて保存すると、警告なしに切り捨てられたファイルを書き出すことになります。必ず元のファイルと行数を照合してください。
スマホで開ける最大の CSV はどれくらいですか?
スマホではなく、アプリによって完全に決まります。多くのモバイル CSV ビューアは、反応を保つために最初の数千行しか読み込みません。この用途のために作られたアプリなら、50 万行のファイルを切り捨てずに開けます。Smart CSV Viewer と CSV Editor はどちらも対応しています。
大きな CSV をスマホで編集して保存し直しても安全ですか?
アプリが最初からすべての行を読み込んでいるなら安全です。危険なのは、ファイルの一部だけを読み込み、その一部を元のファイルに上書きしてしまうアプリです。コピーで作業し、保存時にファイルを切り捨てないとアプリが明記していることを確認してください。
CSV は開けましたが、すべての行が 1 つの列に入ってしまいます。なぜですか?
ファイルが別の区切り文字を使っている可能性がほぼ確実です。ヨーロッパの多くの地域ではセミコロンが標準で、タブ区切りのファイルが意外なほど頻繁に .csv 拡張子を持っています。ファイルに `head -5` を実行してどの区切りか確認し、ツールに推測させず、その区切り文字を指定して開き直してください。

uos — 表計算ソフトが大きなファイルで音を上げるために生まれた、CSV Editor と Smart CSV Viewer を開発しています。