- 更新日 : 2025年10月16日
スプレッドシートでCSVを扱うには?インポートから文字化け対策まで解説
GoogleスプレッドシートとCSV (Comma Separated Values)ファイルの連携は、データ交換の基本でありながら、文字化けやフォーマットの問題など、様々な課題が存在します。CSVは汎用性が高く、多くのシステムやアプリケーションで利用されるため、正しい取り扱い方法を理解することは業務効率化に直結します。本記事では、スプレッドシートでのCSVインポート・エクスポートの詳細な手順から、文字化けの解決方法、スマホでの操作まで、CSV活用に必要な全ての知識を実践的に解説します。
目次
スプレッドシートでCSVをインポートする方法は?
スプレッドシートでCSVをインポートするには、主にファイルメニューからのインポート、IMPORTDATA関数を使用する方法があります。データの性質や更新頻度に応じて最適な方法を選択します。
ファイルメニューからの標準インポート
最も基本的で確実な方法は、ファイルメニューを使用したインポートです。
- Googleスプレッドシートを開く
- 「ファイル」→「インポート」を選択
- 「アップロード」タブでCSVファイルを選択
- インポート設定を選択:
- スプレッドシートを新規作成する:独立したファイルとして開く
- 新しいシートを挿入する:現在のファイルに新シートとして追加
- スプレッドシートを置換する:現在のデータを完全に置き換え
- 現在のシートに追加する:既存データの下に追加
- 現在のシートを置換する:アクティブシートのみ置換
- 選択したセルを先頭にデータを置換する:選択したセル範囲のデータをインポートしたデータに置き換え
区切り文字の自動検出機能により、カンマ、タブ、セミコロンなどを自動判別しますが、「カスタム」を選択して手動設定も可能です。特に日本語環境では、CSVファイルの文字コードがShift-JISの場合があるため、「テキストを数値、日付、数式に変換」のオプションに注意が必要です。
IMPORTDATA関数による動的インポート
Web上のCSVファイルを動的にインポートする場合は、IMPORTDATA関数が便利です。
=IMPORTDATA (“https://example.com/data.csv”)
- URLが更新されると自動的にデータも更新
- APIやWebサービスとの連携が容易
- 定期的に更新されるデータの取得に最適
- ファイルサイズは50MBまで
- URLは公開されている必要がある
- 1時間ごとに更新(手動更新も可能)
複数のCSVファイルを結合する場合:
={IMPORTDATA (“url1.csv”);IMPORTDATA (“url2.csv”)}
スプレッドシートからCSVを出力する手順は?
スプレッドシートの標準機能でCSV出力できるのはアクティブなシート(現在のシート)のみです。複数のシートや範囲指定でCSVを出力する場合はApps Scriptなどを使います。
出力時の設定により、データの互換性と利用可能性が大きく変わります。
基本的なCSVエクスポート手順
標準的なエクスポート方法を詳しく説明します。
- エクスポートしたいシートをアクティブにする
- 「ファイル」→「ダウンロード」→「カンマ区切り形式 (.csv)」を選択
- ファイルが自動的にダウンロードフォルダに保存される
このとき、以下の点に注意が必要です。
- アクティブなシートのみがエクスポートされる
- 書式情報(色、フォント、罫線)は失われる
- 数式は計算結果の値として出力される
- 日付は設定された表示形式で文字列化される
複数シートの一括エクスポート
スプレッドシートの複数のシートを個別のCSVファイルとして一括エクスポートする場合、Google Apps Script(GAS)を使用します。
function exportAllSheetsAsCSV () {
const ss = SpreadsheetApp.getActiveSpreadsheet ();
const sheets = ss.getSheets ();
const folder = DriveApp.createFolder (‘CSV_Export_’ + new Date ().getTime ());
sheets.forEach (sheet => {
const data = sheet.getDataRange ().getValues ();
let csvContent = ”;
// データをCSV形式に変換
data.forEach (row => {
const csvRow = row.map (cell => {
// セル内にカンマや改行が含まれる場合の処理
if (typeof cell === ‘string’ && (cell.includes (‘,’) || cell.includes (‘n’))) {
return ‘”‘ + cell.replace (/”/g, ‘””‘) + ‘”‘; }
return cell;
}).join (‘,’);
csvContent += csvRow + ‘n’;});
// ファイルとして保存
const blob = Utilities.newBlob (csvContent, ‘text/csv’, sheet.getName () + ‘.csv’);
folder.createFile (blob);});
Logger.log (‘エクスポート完了: ‘ + folder.getUrl ());}
選択範囲のみのエクスポート
スプレッドシートの特定の範囲だけをCSVとして出力したい場合の方法です。
- エクスポートしたい範囲を選択
- コピー (Ctrl+C)
- 新しいシートまたはスプレッドシートに貼り付け
- そのシートをCSVとしてダウンロード
スプレッドシートで開いたCSVが文字化けする場合の解決方法は?
CSVファイルの文字化けは、主に文字コードの不一致が原因で発生し、適切な変換ツールやインポート設定の調整により解決できます。
文字化けは特にWindows日本語環境でShift-JIS形式を扱う際に発生しやすい問題です。
文字化けの原因診断
文字化けのパターンから原因を特定する方法を説明します。
- 「���」や「???」:UTF-8をShift-JISで読んだ場合
- 「譁�蟄怜喧縺�」:Shift-JISをUTF-8で読んだ場合
- 「テァツャツョ」:半角カナの文字コード問題
- 元のCSVファイルをテキストエディタで開く
- 文字コードを確認 (VS Code 、サクラエディタなど)
- 正しく表示される文字コードを特定
文字コード変換の具体的方法
様々な環境での文字コード変換方法を紹介します。
- メモ帳でCSVファイルを開く
- 「ファイル」→「名前を付けて保存」
- 文字コードを「UTF-8」に変更して保存
コマンドラインでの変換 (Windows/Mac/Linux):
# Shift-JISからUTF-8への変換
iconv -f SHIFT-JIS -t UTF-8 input.csv > output.csv
# BOM付きUTF-8への変換
echo -ne ‘xEFxBBxBF’ > output_with_bom.csv
cat output.csv >> output_with_bom.csv
オンラインツールの活用: 文字コード変換サービスを使用することで、ソフトウェアのインストール不要で変換可能です。ただし、機密データの場合はセキュリティに注意が必要です。
Googleスプレッドシート側での対処
インポート時の設定で文字化けを防ぐ方法です。
IMPORTDATA関数での文字コード指定: 残念ながら、IMPORTDATA関数では文字コードを直接指定できませんが、Google Apps Scriptを使用することで対応可能です。
function importCSVWithEncoding (url, encoding) {
const response = UrlFetchApp.fetch (url);
const blob = response.getBlob ();
const text = blob.getDataAsString (encoding); // ‘Shift_JIS’など
// CSVをパース
const csv = Utilities.parseCsv (text);
// アクティブシートに書き込み
const sheet = SpreadsheetApp.getActiveSheet ();
sheet.clear ();
sheet.getRange (1, 1, csv.length, csv[0].length).setValues (csv);}
予防策とベストプラクティス
文字化けを未然に防ぐための運用ルールです。
- 可能な限りUTF-8を使用
- システム間でやり取りする場合は文字コードを明記
- テスト用のサンプルデータで事前確認
- 日本語を含む場合はBOM付きUTF-8を検討
- 定期的な処理は自動化スクリプトで文字コード変換
スマホのスプレッドシートでCSVを開く方法は?
スマホでCSVファイルを扱う場合、Googleスプレッドシートアプリ、Googleドライブ経由、メール添付ファイルからの3つの方法があり、それぞれに特徴と制限があります。
モバイル環境での制約を理解し、効率的な方法を選択することが重要です。
iOSでのCSV操作
iPhoneやiPadでCSVファイルを開く詳細手順です。
- GoogleドライブにCSVファイルを保存
- iOSでGoogleドライブを開き、CSVファイルをタップ
- メールアプリでCSV添付ファイルをタップ
- 共有メニューから「Googleスプレッドシート」を選択
- 自動的にアプリが起動してインポート
iOSの制限により、大きなCSVファイル (10MB以上)は処理に時間がかかる場合があります。
AndroidでのCSV操作
Android端末での操作方法と特有の機能を説明します。
ファイルマネージャーからの直接オープン:
- ファイルマネージャーでCSVファイルを長押し
- 「アプリで開く」→「Googleスプレッドシート」を選択
- インポートオプションを設定
Googleドライブとの連携: AndroidではGoogleドライブとの統合が深いため、以下の方法が便利です。
- CSVファイルをGoogleドライブにアップロード
- Googleドライブアプリでタップ長押し
- 「アプリで開く」→「Googleスプレッドシート」
Androidの利点として、バックグラウンドでのファイル処理が可能なため、大きなCSVファイルも比較的スムーズに処理できます。
モバイル版の制限と対処法
スマホ版Googleスプレッドシートの制限事項です。
- 100万セルを超えるデータは開けない
- 複雑な数式は再計算されない場合がある
- 一部の関数 (IMPORTDATA等)は動作しない
- マクロ・スクリプトは実行できない
- 大きなファイルはPCで分割してから処理
- 必要最小限のデータのみをモバイルで扱う
- 閲覧が主目的の場合は、PDFエクスポートも検討
- クラウド上で事前処理してからアクセス
効率的なワークフロー例:
// GASで大きなCSVを分割
function splitLargeCSV () {
const file = DriveApp.getFileById (‘FILE_ID’);
const content = file.getBlob ().getDataAsString ();
const rows = Utilities.parseCsv (content);
const chunkSize = 10000; // 10,000行ずつ分割
for (let i = 0; i < rows.length; i += chunkSize) {
const chunk = rows.slice (i, i + chunkSize);
const csv = chunk.map (row => row.join (‘,’)).join (‘n’);
DriveApp.createFile (
`split_${Math.floor (i/chunkSize) + 1}.csv`,
csv,
MimeType.CSV ); }}
スプレッドシートでCSVを扱う際は文字コードと正しいインポート方法を理解する
GoogleスプレッドシートでCSVを扱う際は、正しいインポート方法と文字コードの設定を理解することが重要です。ファイルメニューやドラッグ&ドロップ、IMPORTDATA関数で取り込めますが、日本語環境ではShift-JISが文字化けの原因になりやすいため、UTF-8形式での保存が安心です。
エクスポートは標準機能でアクティブシートのみ可能ですが、Google Apps Scriptを使えば複数シートや範囲指定も対応できます。
この記事をお読みの方におすすめのガイド5選【部署別紹介】
最後に、この記事をお読みの方によく活用いただいている人気の資料・ガイドを紹介します。すべて無料ですので、ぜひお気軽にご活用ください。
経理担当者向け
①Excel関数集 32選まとめブック
経理担当者の方をはじめ、ビジネスパーソンが知っておきたい便利なExcel関数集を初級~上級までギュッと網羅。新人社員の研修用などにもお使いいただけます。Google スプレッドシートならではの関数もご紹介しています。
②勘定科目・仕訳辞典(税理士監修)
勘定科目・仕訳に関する基本知識、および各勘定科目の仕訳例を具体的かつ網羅的にまとめた、50ページを超えるガイドを無料で提供しております。お手元における保存版としてでだけでなく、従業員への印刷・配布用としてもぜひご活用ください。
人事労務担当者向け
①入社・退職・異動の手続きガイドブック
書類の回収・作成・提出など手間のかかる入社・退職・異動(昇給・昇格、転勤)の手続き。
最新の制度をもとに、よくある質問やチェックポイントを交えながら、各手続きに必要な情報をまとめた人気のガイドですす。
②社会保険・労働保険の手続きガイド
企業において社会保険および労働保険の加入・喪失手続きは必ず発生し、手続きを誤れば保険事故が発生した際に従業員が不利益を被る可能性があります。
各保険の基本的な手続き方法を入社・退職・異動のシーン別にギュッとまとめた分かりやすいガイドです。
総務・法務担当者向け
契約書ひな形まとめ30選
業務委託契約書や工事請負契約書…など各種契約書や、誓約書、念書・覚書、承諾書・通知書…など、使用頻度の高い30個のテンプレートをまとめた、無料で使えるひな形パックです。
※ 掲載している情報は記事更新時点のものです。
※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。
関連記事
SUMIFS関数の使い方をわかりやすく解説!複数条件を指定して合計を求める
SUMIFS関数は、複数の条件を指定して合計を求める際に非常に便利なツールです。この関数を使うことで、大量のデータから特定の条件に合致した値だけを効率良く集計することができます。この記事では、SUMIFS関数の基本的な使い方や、さまざまな利…
詳しくみるスプレッドシートで足し算するには?数式や関数、セル参照の基本と応用まで解説
Googleスプレッドシートの「足し算」は、セルに直接数式を入力する方法から、SUM関数による効率的な合計、条件付き合計や配列関数による高度な集計まで、多様なやり方があります。 使い分けを理解すれば、売上集計や経費計算といった日々のデータ処…
詳しくみるTANH関数の使い方:双曲線正接を活用してデータを変換する方法
TANH関数は、双曲線正接(ハイパボリックタンジェント)を計算するエクセルの数学関数です。入力値を-1から1の範囲に変換する特性を持ち、機械学習のニューラルネットワークやデータの正規化、シグモイド曲線の作成など、高度なデータ分析で活用されて…
詳しくみるエクセルのDATE関数とは?日付の自動作成と曜日を判定する方法
ExcelのDATE関数(読み方:デイト関数)は、「年・月・日」の数値を組み合わせて正確な日付を作成するための関数です。日付の計算や特定の日付の生成だけでなく、他の関数との組み合わせで複雑な日付処理も可能になります。 シリアル値による日付管…
詳しくみるスプレッドシートで家計簿を作るには?エクセルとどっちがいい?
Googleスプレッドシートを使った家計簿は、無料で始められて、スマホからでもPCからでもアクセスできる便利な家計管理ツールです。自動計算機能やグラフ作成機能を活用すれば、お金の流れを視覚的に把握でき、節約や貯金の目標達成にも役立ちます。 …
詳しくみるCOMBIN関数の使い方:組み合わせの数を計算する方法
COMBIN関数は、指定された個数の要素から特定の個数を選ぶ組み合わせの数を計算する関数です。統計分析での標本抽出、品質管理での検査計画、プロジェクト管理でのチーム編成、くじや抽選の確率計算など、様々な場面で活用されます。例えば、10人から…
詳しくみる



