<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>CSV &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/csv/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Tue, 09 Jun 2026 01:46:00 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>CSV &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>VBAでCSVを自動で読み込む・書き出す方法｜Open文とFSOの使い分け</title>
		<link>https://mashukabu.com/excel-vba-csv-import-export/</link>
					<comments>https://mashukabu.com/excel-vba-csv-import-export/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Tue, 09 Jun 2026 01:46:00 +0000</pubDate>
				<category><![CDATA[VBA・マクロ]]></category>
		<category><![CDATA[CSV]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[ファイル操作]]></category>
		<category><![CDATA[マクロ]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=7890</guid>

					<description><![CDATA[VBAでCSVファイルを自動で読み込む・書き出す方法を解説します。Open文とFileSystemObjectの使い分け、フォルダ内CSVの一括処理、Shift-JIS/UTF-8の文字コード対処までコピペで動くコード付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">毎日や毎月届くCSVファイルを、手作業でExcelに貼り付けていませんか。「ファイルを開いて、全選択してコピーして、シートに貼り付けて……」という作業は、地味なわりに時間がかかりますよね。</p>



<p class="wp-block-paragraph">1ファイルなら数分でも、10ファイル・20ファイルと増えると一気に負担になります。しかもコピペの貼り付け位置を間違えると、データがずれて気づかないこともあります。</p>



<p class="wp-block-paragraph">そんな繰り返し作業こそ、VBA（マクロ）の出番です。一度コードを書いておけば、ボタン1つでCSVの取り込みが一瞬で終わります。この記事では、CSVを読み込むコードと書き出すコードを、コピペで動く形で順番に紹介します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-1" checked><label class="toc-title" for="toc-checkbox-1">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">VBAでCSVを読み込む・書き出すとは？</a><ol><li><a href="#toc2" tabindex="0">CSVファイルの中身はただのテキスト</a></li></ol></li><li><a href="#toc3" tabindex="0">VBEの起動とコードの準備</a><ol><li><a href="#toc4" tabindex="0">VBE（Visual Basic Editor）の開き方</a></li><li><a href="#toc5" tabindex="0">標準モジュールの挿入</a></li></ol></li><li><a href="#toc6" tabindex="0">基本コード｜Open文でCSVを読み込む</a><ol><li><a href="#toc7" tabindex="0">コードの仕組みを理解する</a></li></ol></li><li><a href="#toc8" tabindex="0">基本コード｜CSVを書き出す</a></li><li><a href="#toc9" tabindex="0">FileSystemObjectでCSVを扱う方法</a><ol><li><a href="#toc10" tabindex="0">Open文とFileSystemObjectの使い分け</a></li></ol></li><li><a href="#toc11" tabindex="0">実践コード｜フォルダ内のCSVを全件一括処理する</a><ol><li><a href="#toc12" tabindex="0">1行目のヘッダーをスキップしたいとき</a></li></ol></li><li><a href="#toc13" tabindex="0">文字コードのトラブル対処（Shift-JIS/UTF-8）</a></li><li><a href="#toc14" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc15" tabindex="0">マクロが無効になっていないか確認する</a></li></ol></li><li><a href="#toc16" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">VBAでCSVを読み込む・書き出すとは？</span></h2>



<p class="wp-block-paragraph">VBAでCSVを扱うとは、マクロを使ってCSVファイルの取り込みと出力を自動化することです。読み込みは「CSVの中身をExcelシートに展開する処理」を指します。書き出しは「シートのデータをCSVファイルとして保存する処理」のことです。</p>



<p class="wp-block-paragraph">手作業とVBAで、どれくらい差が出るのか比べてみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>作業内容</th><th>手作業</th><th>VBA</th></tr></thead><tbody><tr><td>1ファイルの取り込み</td><td>約2〜3分</td><td>1秒以下</td></tr><tr><td>10ファイルの取り込み</td><td>約30分</td><td>数秒</td></tr><tr><td>貼り付け位置のミス</td><td>起きやすい</td><td>起きない</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ポイントは、ファイル数が増えるほど効果が大きくなることです。フォルダの中のCSVを全部まとめて処理する、といった芸当もマクロなら簡単にできます。</p>



<p class="wp-block-paragraph">CSVを扱う方法は大きく2つあります。1つは昔からある「Open文」、もう1つは「FileSystemObject（エフエスオー）」です。まずは両方の基本を押さえて、後半で使い分けを解説します。</p>



<h3 class="wp-block-heading"><span id="toc2">CSVファイルの中身はただのテキスト</span></h3>



<p class="wp-block-paragraph">CSVは「Comma Separated Values」の略で、カンマで区切られたテキストファイルです。Excelで開くと表のように見えますが、中身はメモ帳で開けるただの文字列です。</p>



<pre class="wp-block-code"><code>氏名,部署,売上
田中,営業1課,150000
佐藤,営業2課,98000</code></pre>



<p class="wp-block-paragraph">このように、1行が1レコード、カンマが列の区切りになっています。VBAでは、この「1行ずつ読む」「カンマで分ける」という流れでデータを扱います。</p>



<h2 class="wp-block-heading"><span id="toc3">VBEの起動とコードの準備</span></h2>



<p class="wp-block-paragraph">CSV処理のコードを書く前に、VBA専用のエディタ「VBE（Visual Basic Editor）」を開きます。ここがマクロを書く作業場所です。</p>



<h3 class="wp-block-heading"><span id="toc4">VBE（Visual Basic Editor）の開き方</span></h3>



<p class="wp-block-paragraph">VBEを開く方法は2つあります。</p>



<ol class="wp-block-list"><li>キーボードで <code>Alt + F11</code> を押す（一番手軽です）</li><li>リボンの「開発」タブ →「Visual Basic」をクリックする</li></ol>



<p class="wp-block-paragraph">「開発」タブが見当たらない場合は、次の手順で表示できます。</p>



<ol class="wp-block-list"><li>「ファイル」→「オプション」を開く</li><li>「リボンのユーザー設定」を選ぶ</li><li>右側の一覧で「開発」にチェックを入れる</li><li>「OK」を押す</li></ol>



<p class="wp-block-paragraph">これでリボンに「開発」タブが追加されます。</p>



<h3 class="wp-block-heading"><span id="toc5">標準モジュールの挿入</span></h3>



<p class="wp-block-paragraph">VBEが開いたら、コードを書く場所「標準モジュール」を追加します。</p>



<ol class="wp-block-list"><li>メニューの「挿入」→「標準モジュール」をクリックする</li><li>画面に白いコード入力エリアが表示される</li></ol>



<p class="wp-block-paragraph">この白い画面に、これから紹介するコードを貼り付けて使います。準備はこれだけです。</p>



<h2 class="wp-block-heading"><span id="toc6">基本コード｜Open文でCSVを読み込む</span></h2>



<p class="wp-block-paragraph">まずは一番シンプルな方法、Open文でCSVを読み込むコードです。下のコードをそのままコピペすれば動きます。</p>



<pre class="wp-block-code"><code>Sub CSV読み込み_Open()
    Dim sFilePath As String '読み込むCSVのパス
    Dim sLine As String '1行分の文字列
    Dim vData As Variant 'カンマで分割した配列
    Dim iRow As Long '書き込む行番号

    sFilePath = &quot;C:datasample.csv&quot; 'CSVのパスを指定
    iRow = 1 '1行目から書き込む

    Open sFilePath For Input As #1 'ファイルを読み込みモードで開く
    Do Until EOF(1) 'ファイルの末尾まで繰り返す
        Line Input #1, sLine '1行を読み込む
        vData = Split(sLine, &quot;,&quot;) 'カンマで分割する
        '--- 分割した値をセルに書き込む ---
        Dim iCol As Long '列番号
        For iCol = 0 To UBound(vData)
            Cells(iRow, iCol + 1).Value = vData(iCol)
        Next iCol
        iRow = iRow + 1 '次の行へ
    Loop
    Close #1 'ファイルを閉じる

    MsgBox &quot;読み込みが完了しました&quot; '完了メッセージ
End Sub</code></pre>



<p class="wp-block-paragraph"><code>sFilePath</code> の部分を、自分のCSVファイルのパスに書き換えてください。実行すると、アクティブなシートの1行目からデータが展開されます。</p>



<p class="wp-block-paragraph">実行方法は2通りです。VBE上で <code>F5</code> キーを押すか、Excelに戻って「開発」タブ →「マクロ」から <code>CSV読み込み_Open</code> を選んで実行します。</p>



<h3 class="wp-block-heading"><span id="toc7">コードの仕組みを理解する</span></h3>



<p class="wp-block-paragraph">このコードがやっていることを、順番に見ていきましょう。難しく見えますが、流れはとてもシンプルです。</p>



<ol class="wp-block-list"><li><code>Open sFilePath For Input As #1</code> でCSVを読み込み用に開く</li><li><code>Do Until EOF(1)</code> でファイルの最後まで1行ずつ処理する</li><li><code>Line Input #1, sLine</code> で1行を文字列として読み込む</li><li><code>Split(sLine, ",")</code> でカンマごとに分けて配列にする</li><li><code>Cells(iRow, iCol + 1)</code> で各セルに書き込む</li><li><code>Close #1</code> でファイルを閉じる</li></ol>



<p class="wp-block-paragraph"><code>#1</code> は「ファイル番号」と呼ばれる目印です。複数ファイルを同時に開くときは <code>#2</code>、<code>#3</code> と番号を変えます。<code>EOF</code> は「End Of File」の略で、ファイルの終わりを意味します。</p>



<h2 class="wp-block-heading"><span id="toc8">基本コード｜CSVを書き出す</span></h2>



<p class="wp-block-paragraph">次は逆方向、シートのデータをCSVファイルとして書き出すコードです。集計結果を他システムに渡したいときに役立ちます。</p>



<pre class="wp-block-code"><code>Sub CSV書き出し_Open()
    Dim sFilePath As String '書き出すCSVのパス
    Dim iLastRow As Long '最終行
    Dim iLastCol As Long '最終列
    Dim iRow As Long '行カウンター
    Dim iCol As Long '列カウンター
    Dim sLine As String '1行分の文字列

    sFilePath = &quot;C:dataoutput.csv&quot; '保存先のパスを指定
    iLastRow = Cells(Rows.Count, 1).End(xlUp).Row '最終行を取得
    iLastCol = Cells(1, Columns.Count).End(xlToLeft).Column '最終列を取得

    Open sFilePath For Output As #1 'ファイルを書き込みモードで開く
    For iRow = 1 To iLastRow '1行目から最終行まで
        sLine = &quot;&quot; '行の文字列を初期化
        For iCol = 1 To iLastCol '1列目から最終列まで
            sLine = sLine &amp; Cells(iRow, iCol).Value 'セルの値を連結
            If iCol &lt; iLastCol Then sLine = sLine &amp; &quot;,&quot; '区切りのカンマを追加
        Next iCol
        Print #1, sLine '1行をファイルに書き出す
    Next iRow
    Close #1 'ファイルを閉じる

    MsgBox &quot;書き出しが完了しました&quot; '完了メッセージ
End Sub</code></pre>



<p class="wp-block-paragraph">このコードは、シートの使われている範囲を自動で判定してCSVに出力します。<code>iLastRow</code> と <code>iLastCol</code> で、データがどこまで入っているかを取得しているのがポイントです。</p>



<p class="wp-block-paragraph">最終行の取得については、<a href="https://mashukabu.com/excel-vba-howto-get-lastrow/">Excel VBAで最終行を取得する方法</a>でくわしく解説しています。データ範囲を正しく取れないと書き出しが途中で切れるので、あわせて確認しておくと安心です。</p>



<p class="wp-block-paragraph"><code>Print #1, sLine</code> で1行ずつファイルに書き込みます。最後のカンマが余計に付かないよう、<code>If iCol < iLastCol Then</code> で制御しているところも実務では大事です。</p>



<h2 class="wp-block-heading"><span id="toc9">FileSystemObjectでCSVを扱う方法</span></h2>



<p class="wp-block-paragraph">Open文と並んでよく使われるのが、FileSystemObject（FSO）です。FSOは、ファイルやフォルダを扱うための専用オブジェクトで、コードが読みやすくなるのが特長です。</p>



<p class="wp-block-paragraph">FSOを使うには2つの書き方があります。1つは事前バインディング（参照設定が必要）、もう1つは遅延バインディング（参照設定が不要）です。配布しやすいのは、参照設定がいらない遅延バインディングです。</p>



<pre class="wp-block-code"><code>Sub CSV読み込み_FSO()
    Dim oFSO As Object 'FileSystemObject
    Dim oStream As Object 'テキストストリーム
    Dim sLine As String '1行分の文字列
    Dim vData As Variant 'カンマで分割した配列
    Dim iRow As Long '書き込む行番号
    Dim iCol As Long '列番号

    Set oFSO = CreateObject(&quot;Scripting.FileSystemObject&quot;) 'FSOを生成
    Set oStream = oFSO.OpenTextFile(&quot;C:datasample.csv&quot;, 1) '読み込みモードで開く
    iRow = 1 '1行目から書き込む

    Do Until oStream.AtEndOfStream 'ファイルの末尾まで繰り返す
        sLine = oStream.ReadLine '1行を読み込む
        vData = Split(sLine, &quot;,&quot;) 'カンマで分割する
        '--- 分割した値をセルに書き込む ---
        For iCol = 0 To UBound(vData)
            Cells(iRow, iCol + 1).Value = vData(iCol)
        Next iCol
        iRow = iRow + 1 '次の行へ
    Loop

    oStream.Close 'ストリームを閉じる
    Set oStream = Nothing 'オブジェクトを解放
    Set oFSO = Nothing 'オブジェクトを解放

    MsgBox &quot;読み込みが完了しました&quot; '完了メッセージ
End Sub</code></pre>



<p class="wp-block-paragraph"><code>OpenTextFile</code> の第2引数 <code>1</code> が「読み込みモード」を表します。書き出すときは <code>2</code>（上書き）または <code>8</code>（追記）を使います。処理の流れはOpen文とほぼ同じで、1行ずつ読んでカンマで分割しています。</p>



<h3 class="wp-block-heading"><span id="toc10">Open文とFileSystemObjectの使い分け</span></h3>



<p class="wp-block-paragraph">ここがこの記事の核心です。どちらを使うべきか、判断基準を表にまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>Open文</th><th>FileSystemObject</th></tr></thead><tbody><tr><td>書き方</td><td>VBA標準（追加設定不要）</td><td>オブジェクト経由</td></tr><tr><td>コードの読みやすさ</td><td>やや古風</td><td>直感的でわかりやすい</td></tr><tr><td>フォルダ操作</td><td>苦手</td><td>得意（一覧取得が簡単）</td></tr><tr><td>処理速度</td><td>やや速い</td><td>標準</td></tr><tr><td>文字コード</td><td>Shift-JIS中心</td><td>UTF-8も扱いやすい</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ざっくりした使い分けはこうです。1ファイルだけ素早く処理するならOpen文が向いています。フォルダ内の一覧を扱ったり複数ファイルをまとめて処理するならFSOが便利です。</p>



<p class="wp-block-paragraph">迷ったらFSOを選んでおけば、後からフォルダ処理に発展させるときに楽です。次の応用編でその威力がわかります。</p>



<h2 class="wp-block-heading"><span id="toc11">実践コード｜フォルダ内のCSVを全件一括処理する</span></h2>



<p class="wp-block-paragraph">ここからが本番です。「毎日届くCSVが溜まっているフォルダを、まとめて1枚のシートに統合したい」という実務ニーズに応えるコードを紹介します。FSOのフォルダ操作が活躍する場面です。</p>



<pre class="wp-block-code"><code>Sub CSV一括取り込み()
    Dim oFSO As Object 'FileSystemObject
    Dim oFolder As Object '対象フォルダ
    Dim oFile As Object '個々のファイル
    Dim oStream As Object 'テキストストリーム
    Dim sFolderPath As String '対象フォルダのパス
    Dim sLine As String '1行分の文字列
    Dim vData As Variant 'カンマで分割した配列
    Dim iRow As Long '書き込む行番号
    Dim iCol As Long '列番号

    sFolderPath = &quot;C:datacsv&quot; '対象フォルダを指定
    iRow = 1 '1行目から書き込む

    Set oFSO = CreateObject(&quot;Scripting.FileSystemObject&quot;) 'FSOを生成
    Set oFolder = oFSO.GetFolder(sFolderPath) 'フォルダを取得

    '--- フォルダ内のファイルを1つずつ処理 ---
    For Each oFile In oFolder.Files
        '--- 拡張子がcsvのファイルだけ対象にする ---
        If LCase(oFSO.GetExtensionName(oFile.Name)) = &quot;csv&quot; Then
            Set oStream = oFSO.OpenTextFile(oFile.Path, 1) '読み込みモードで開く
            Do Until oStream.AtEndOfStream '末尾まで繰り返す
                sLine = oStream.ReadLine '1行を読み込む
                vData = Split(sLine, &quot;,&quot;) 'カンマで分割する
                For iCol = 0 To UBound(vData)
                    Cells(iRow, iCol + 1).Value = vData(iCol)
                Next iCol
                iRow = iRow + 1 '次の行へ
            Loop
            oStream.Close 'ストリームを閉じる
        End If
    Next oFile

    Set oStream = Nothing 'オブジェクトを解放
    Set oFolder = Nothing 'オブジェクトを解放
    Set oFSO = Nothing 'オブジェクトを解放

    MsgBox &quot;フォルダ内のCSVをすべて取り込みました&quot; '完了メッセージ
End Sub</code></pre>



<p class="wp-block-paragraph">このコードのキモは <code>For Each oFile In oFolder.Files</code> の部分です。フォルダの中のファイルを1つずつ取り出して、CSVだけを順番に取り込んでいます。<code>For Each</code> の使い方は<a href="https://mashukabu.com/vba-howto-use-for-each-next/">Excel VBAでFor Each Nextを使う方法</a>でくわしく解説しています。</p>



<p class="wp-block-paragraph"><code>GetExtensionName</code> で拡張子を調べ、<code>csv</code> のファイルだけ処理するようにしています。これでフォルダにExcelファイルやテキストファイルが混ざっていても安全です。</p>



<p class="wp-block-paragraph">変更すべき箇所は <code>sFolderPath</code> の1行だけです。自分のCSVが入っているフォルダのパスに書き換えてください。末尾の「」を忘れないのがポイントです。</p>



<h3 class="wp-block-heading"><span id="toc12">1行目のヘッダーをスキップしたいとき</span></h3>



<p class="wp-block-paragraph">複数ファイルを統合すると、各CSVの見出し行（ヘッダー）が何度も繰り返されてしまいます。これを防ぐには、各ファイルの1行目を読み飛ばす処理を追加します。</p>



<pre class="wp-block-code"><code>Dim isFirstLine As Boolean '1行目かどうかの判定
isFirstLine = True 'ファイルごとにTrueにリセット

Do Until oStream.AtEndOfStream
    sLine = oStream.ReadLine '1行を読み込む
    '--- 1行目（ヘッダー）はスキップする ---
    If isFirstLine Then
        isFirstLine = False
    Else
        vData = Split(sLine, &quot;,&quot;)
        For iCol = 0 To UBound(vData)
            Cells(iRow, iCol + 1).Value = vData(iCol)
        Next iCol
        iRow = iRow + 1
    End If
Loop</code></pre>



<p class="wp-block-paragraph"><code>isFirstLine</code> というフラグを使って、ファイルの最初の1行だけ書き込みをスキップしています。ファイルごとに <code>True</code> へ戻すのを忘れないようにしてください。</p>



<h2 class="wp-block-heading"><span id="toc13">文字コードのトラブル対処（Shift-JIS/UTF-8）</span></h2>



<p class="wp-block-paragraph">CSV処理でつまずきやすいのが、文字化けです。CSVには主に「Shift-JIS」と「UTF-8」という2つの文字コードがあります。これが合っていないと、日本語が「譁・喧縺・」のように崩れてしまいます。</p>



<p class="wp-block-paragraph">Open文や <code>OpenTextFile</code> は、基本的にShift-JISとして読み込みます。最近の業務システムはUTF-8で出力することが多いので、ここで文字化けが起きやすいのです。</p>



<p class="wp-block-paragraph">UTF-8のCSVを正しく読むには、ADODB.Streamというオブジェクトを使います。文字コードを指定して読み込めるのが利点です。</p>



<pre class="wp-block-code"><code>Sub UTF8のCSV読み込み()
    Dim oStream As Object 'ADODB.Stream
    Dim sText As String '読み込んだ全文
    Dim vLines As Variant '行ごとの配列
    Dim vData As Variant 'カンマで分割した配列
    Dim iRow As Long '書き込む行番号
    Dim iCol As Long '列番号
    Dim i As Long '行ループ用

    Set oStream = CreateObject(&quot;ADODB.Stream&quot;) 'ストリームを生成
    oStream.Charset = &quot;UTF-8&quot; '文字コードをUTF-8に指定
    oStream.Open 'ストリームを開く
    oStream.LoadFromFile &quot;C:datautf8.csv&quot; 'ファイルを読み込む
    sText = oStream.ReadText '全文をテキストとして取得
    oStream.Close 'ストリームを閉じる
    Set oStream = Nothing 'オブジェクトを解放

    vLines = Split(sText, vbCrLf) '改行で行に分割
    iRow = 1 '1行目から書き込む
    For i = 0 To UBound(vLines)
        If vLines(i) &lt;&gt; &quot;&quot; Then '空行はスキップ
            vData = Split(vLines(i), &quot;,&quot;) 'カンマで分割
            For iCol = 0 To UBound(vData)
                Cells(iRow, iCol + 1).Value = vData(iCol)
            Next iCol
            iRow = iRow + 1 '次の行へ
        End If
    Next i

    MsgBox &quot;UTF-8のCSVを読み込みました&quot; '完了メッセージ
End Sub</code></pre>



<p class="wp-block-paragraph"><code>oStream.Charset = "UTF-8"</code> の1行で文字コードを指定するのがポイントです。Shift-JISのファイルなら <code>"Shift_JIS"</code> に変えれば対応できます。</p>



<p class="wp-block-paragraph">文字化けの原因と対処を体系的に知りたい方は、<a href="https://mashukabu.com/excel-csv-mojibake/">ExcelでCSVが文字化けする原因と直し方</a>もどうぞ。手作業での開き方も含めて整理しています。</p>



<h2 class="wp-block-heading"><span id="toc14">よくあるエラーと対処法</span></h2>



<p class="wp-block-paragraph">CSV処理でよく出るエラーと、その対処法をまとめました。エラーメッセージが出ても、原因がわかれば落ち着いて対応できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー・症状</th><th>主な原因</th><th>対処法</th></tr></thead><tbody><tr><td>実行時エラー'53' ファイルが見つかりません</td><td>パスやファイル名の間違い</td><td>パスを正確に指定し直す</td></tr><tr><td>実行時エラー'76' パスが見つかりません</td><td>フォルダが存在しない</td><td>フォルダのパスを確認する</td></tr><tr><td>実行時エラー'70' 書き込みできません</td><td>ファイルを別ソフトで開いている</td><td>Excelやメモ帳を閉じる</td></tr><tr><td>日本語が文字化けする</td><td>文字コードの不一致</td><td>ADODB.Streamで文字コード指定</td></tr><tr><td>データが1列に詰まる</td><td>区切り文字がカンマでない</td><td>Splitの第2引数を見直す</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">特に多いのが、ファイルを開いたまま書き出そうとして起きる「実行時エラー'70'」です。出力先のCSVをExcelやメモ帳で開いていないか、まず確認してください。</p>



<p class="wp-block-paragraph">実務で使うなら、エラーが出ても処理が止まらないようにエラーハンドリングを入れておくと安心です。<code>On Error GoTo</code> の使い方は<a href="https://mashukabu.com/vba-error-handling-complete-guide/">VBAのエラーハンドリング完全ガイド</a>でくわしく解説しています。</p>



<h3 class="wp-block-heading"><span id="toc15">マクロが無効になっていないか確認する</span></h3>



<p class="wp-block-paragraph">書いたマクロが動かないときは、ファイルの保存形式やセキュリティ設定が原因かもしれません。次の2点を確認してください。</p>



<ol class="wp-block-list"><li>ファイルを「Excelマクロ有効ブック（.xlsm）」で保存しているか</li><li>マクロのセキュリティ設定でマクロが許可されているか</li></ol>



<p class="wp-block-paragraph">通常の <code>.xlsx</code> 形式で保存すると、マクロが消えてしまいます。マクロを含むファイルは必ず <code>.xlsm</code> で保存しましょう。これはCSV処理に限らず、すべてのVBA作業で共通の注意点です。</p>



<h2 class="wp-block-heading"><span id="toc16">まとめ</span></h2>



<p class="wp-block-paragraph">VBAを使えば、手作業で繰り返していたCSVの取り込みと書き出しを、ボタン1つで自動化できます。最後にポイントを整理しておきます。</p>



<ul class="wp-block-list"><li><strong>読み込みの基本</strong>: <code>Open ～ For Input</code> または FSOの <code>OpenTextFile</code> で1行ずつ読む</li><li><strong>書き出しの基本</strong>: <code>Open ～ For Output</code> で <code>Print #1</code> を使って1行ずつ書く</li><li><strong>使い分け</strong>: 1ファイルならOpen文、フォルダ一括処理ならFileSystemObject</li><li><strong>一括処理</strong>: <code>For Each oFile In oFolder.Files</code> でフォルダ内のCSVを全件処理</li><li><strong>文字化け対処</strong>: UTF-8のCSVはADODB.Streamで文字コードを指定して読む</li><li><strong>保存形式</strong>: マクロを含むファイルは必ず <code>.xlsm</code> で保存する</li></ul>



<p class="wp-block-paragraph">毎月のCSV取り込みに30分かかっていた作業も、自動化すれば数秒で終わります。初回のコード作成だけがんばれば、あとはずっと時短の恩恵を受けられます。まずはこの記事の基本コードをコピペして、<code>sFilePath</code> を自分のファイルに書き換えるところから試してみてください。</p>



<p class="wp-block-paragraph">VBAの基本構文をテーマ別に学び直したい方は、こちらの記事もあわせてどうぞ。</p>



<ul class="wp-block-list"><li>繰り返し処理の基本は<a href="https://mashukabu.com/excel-vba-howto-use-for/">Excel VBAでFor文を使う方法</a></li><li>コレクション処理は<a href="https://mashukabu.com/vba-howto-use-for-each-next/">Excel VBAでFor Each Nextを使う方法</a></li><li>セル操作の基本は<a href="https://mashukabu.com/excel-vba-howto-use-range/">Excel VBAでRangeを使う方法</a></li><li>最終行取得は<a href="https://mashukabu.com/excel-vba-howto-get-lastrow/">Excel VBAで最終行を取得する方法</a></li></ul>



<p class="wp-block-paragraph">VBA全体を体系的に学びたい方もいるでしょう。入門ハブ記事の<a href="https://mashukabu.com/excel-vba-automation-guide/">Excel VBAでマクロ自動化を始めるための完全ガイド</a>も参考にしてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-vba-csv-import-export/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelでCSVを開いたら文字化けする原因と解決法｜UTF-8・Shift-JIS・BOMを図解</title>
		<link>https://mashukabu.com/excel-csv-mojibake/</link>
					<comments>https://mashukabu.com/excel-csv-mojibake/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Mon, 08 Jun 2026 15:51:49 +0000</pubDate>
				<category><![CDATA[仕事効率化]]></category>
		<category><![CDATA[CSV]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Shift-JIS]]></category>
		<category><![CDATA[UTF-8]]></category>
		<category><![CDATA[文字化け]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=7867</guid>

					<description><![CDATA[ExcelでCSVファイルを開くと文字化けする原因と解決策を解説。UTF-8・Shift-JISの違い、BOMの付け方、Power Queryでの正しい読み込み方法を図解で説明します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">基幹システムからダウンロードした CSV を Excel で開いたら、日本語が「縺ゅ＆繧定耳」のように化けた。そんな経験はありませんか？</p>



<p class="wp-block-paragraph">文字化けは「ファイルが壊れた」のではなく、Excel が<strong>文字コードを誤判定している</strong>だけのことが多いです。仕組みを理解してしまえば、毎回ググらなくても落ち着いて対処できますよ。</p>



<p class="wp-block-paragraph">この記事では Excel で CSV を開いたときに文字化けが起きる原因を、UTF-8・Shift-JIS・BOM の3つのキーワードで図解します。既に化けたファイルを救う方法と、次回からの予防策もまとめて紹介していきますね。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">CSV を Excel で開くと文字化けするのはなぜ？</a></li><li><a href="#toc2" tabindex="0">UTF-8 と Shift-JIS の違いを図解で理解する</a><ol><li><a href="#toc3" tabindex="0">UTF-8 とは</a></li><li><a href="#toc4" tabindex="0">Shift-JIS とは</a></li><li><a href="#toc5" tabindex="0">Excel の判定ロジック</a></li></ol></li><li><a href="#toc6" tabindex="0">BOM（Byte Order Mark）が文字化けを防ぐ仕組み</a><ol><li><a href="#toc7" tabindex="0">BOM の有無で何が変わる？</a></li></ol></li><li><a href="#toc8" tabindex="0">既に文字化けした CSV を直す3つの方法</a><ol><li><a href="#toc9" tabindex="0">方法1: メモ帳経由で文字コードを変換する</a></li><li><a href="#toc10" tabindex="0">方法2: Power Query で取り込む（おすすめ）</a></li><li><a href="#toc11" tabindex="0">方法3: VS Code やサクラエディタで変換する</a></li></ol></li><li><a href="#toc12" tabindex="0">文字化けを予防する方法</a><ol><li><a href="#toc13" tabindex="0">Power Query を業務フローに組み込む</a></li><li><a href="#toc14" tabindex="0">保存側を BOM 付き UTF-8 にする</a></li></ol></li><li><a href="#toc15" tabindex="0">業務シーン別の対処法</a><ol><li><a href="#toc16" tabindex="0">一部の漢字だけ化ける場合</a></li></ol></li><li><a href="#toc17" tabindex="0">よくある質問</a><ol><li><a href="#toc18" tabindex="0">Q. CSV ファイル自体に文字コード情報は記録されていないの？</a></li><li><a href="#toc19" tabindex="0">Q. 最新の Excel なら自動判定してくれない？</a></li><li><a href="#toc20" tabindex="0">Q. 文字化けしたファイルは壊れているの？</a></li><li><a href="#toc21" tabindex="0">Q. メモ帳の「ANSI」って何？</a></li><li><a href="#toc22" tabindex="0">Q. Mac の Excel はどうなる？</a></li></ol></li><li><a href="#toc23" tabindex="0">関連記事</a></li><li><a href="#toc24" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">CSV を Excel で開くと文字化けするのはなぜ？</span></h2>



<p class="wp-block-paragraph">文字化けの正体は、<strong>ファイルの保存形式と Excel の読み取り形式がズレている</strong>ことです。</p>



<p class="wp-block-paragraph">CSV はただのテキストファイルで、中身は「バイト列」と呼ばれる数字の並びでしかありません。そのバイト列を「どの文字コードで読むか」を決めるのは、開く側のソフト（ここでは Excel）です。</p>



<p class="wp-block-paragraph">例えば「あ」という1文字をファイルに保存するとき、文字コードによって違うバイト列になります。</p>



<figure class="wp-block-table"><table><thead><tr><th>文字コード</th><th>「あ」のバイト列</th><th>バイト数</th></tr></thead><tbody><tr><td>UTF-8</td><td><code>E3 81 82</code></td><td>3バイト</td></tr><tr><td>Shift-JIS</td><td><code>82 A0</code></td><td>2バイト</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">UTF-8 で保存された <code>E3 81 82</code> を Shift-JIS だと思って読むと、別の文字（縺）に化けてしまうんですね。これが文字化けの正体です。</p>



<p class="wp-block-paragraph">つまり Excel CSV 文字化けの原因は、ほぼ次の3つに集約されます。</p>



<ol class="wp-block-list"><li>ファイルが UTF-8 なのに Excel が Shift-JIS で読んでいる（Web 系ツールに多い）</li><li>ファイルが Shift-JIS なのに Excel が UTF-8 で読んでいる（クロス環境で起きる）</li><li>一部の漢字（環境依存文字）だけが「？」になっている</li></ol>



<p class="wp-block-paragraph">このうち圧倒的に多いのが 1番目です。次の章で UTF-8 と Shift-JIS の違いを整理しましょう。</p>



<h2 class="wp-block-heading"><span id="toc2">UTF-8 と Shift-JIS の違いを図解で理解する</span></h2>



<p class="wp-block-paragraph">文字化けの仕組みを掴むには、2つの文字コードの性格を知っておくと早いです。</p>



<h3 class="wp-block-heading"><span id="toc3">UTF-8 とは</span></h3>



<p class="wp-block-paragraph">UTF-8 は世界中の文字を扱える国際標準の文字コードです。正式名称は Unicode Transformation Format &#8211; 8bit といいます。</p>



<ul class="wp-block-list"><li>1文字を 1〜4 バイトの可変長で表現する</li><li>日本語の漢字・ひらがな・カタカナは 3 バイトで表現</li><li>Web の標準（HTML、JSON、API レスポンスはほぼ UTF-8）</li><li>Shopify、Amazon Seller Central、Google フォームなどクラウドサービスのエクスポートも UTF-8 がほとんど</li></ul>



<h3 class="wp-block-heading"><span id="toc4">Shift-JIS とは</span></h3>



<p class="wp-block-paragraph">Shift-JIS は日本独自の文字コードで、Microsoft の Windows 日本語環境で長年使われてきました。</p>



<ul class="wp-block-list"><li>日本語は 2 バイトで表現</li><li>半角英数字は 1 バイト</li><li>国産の基幹システム、銀行 CSV、Excel 既定の「CSV (カンマ区切り)」保存形式はほぼ Shift-JIS</li><li>Windows のメモ帳でいう「ANSI」は、日本語環境では Shift-JIS（厳密には CP932）のこと</li></ul>



<h3 class="wp-block-heading"><span id="toc5">Excel の判定ロジック</span></h3>



<p class="wp-block-paragraph">Excel for Windows は CSV ファイルをダブルクリックで開いた瞬間、ファイル先頭の数バイトを見て文字コードを推定します。判定基準は次の通りです。</p>



<figure class="wp-block-table"><table><thead><tr><th>ファイルの状態</th><th>Excel の判定</th><th>結果</th></tr></thead><tbody><tr><td>BOM 付き UTF-8</td><td>UTF-8 として読む</td><td>正常</td></tr><tr><td>BOM なし UTF-8</td><td>Shift-JIS として読む</td><td>文字化け</td></tr><tr><td>Shift-JIS</td><td>Shift-JIS として読む</td><td>正常</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">BOM 付き UTF-8 と Shift-JIS は問題なし。<strong>問題は「BOM なし UTF-8」のときだけ</strong>起きるんですね。</p>



<p class="wp-block-paragraph">ここで出てきた「BOM」が次の鍵になります。</p>



<h2 class="wp-block-heading"><span id="toc6">BOM（Byte Order Mark）が文字化けを防ぐ仕組み</span></h2>



<p class="wp-block-paragraph">BOM（Byte Order Mark）とは、ファイル先頭に置かれる<strong>3バイトの目印</strong>です。具体的には <code>EF BB BF</code> という3バイトを、ファイルの一番先頭に書き込みます。</p>



<p class="wp-block-paragraph">このバイトは文字としては表示されません。でも Excel はこの3バイトを見て「これは UTF-8 ファイルだ」と判定するんです。</p>



<h3 class="wp-block-heading"><span id="toc7">BOM の有無で何が変わる？</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>状態</th><th>ファイル先頭</th><th>Excel の挙動</th></tr></thead><tbody><tr><td>BOM 付き UTF-8</td><td><code>EF BB BF あ,い,う</code></td><td>UTF-8 として正しく読む</td></tr><tr><td>BOM なし UTF-8</td><td><code>あ,い,う</code></td><td>Shift-JIS と誤認して文字化け</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">つまり <strong>BOM は「私は UTF-8 です」という自己申告タグ</strong>なんですね。Web 系ツールの CSV は BOM なし UTF-8 が多く、ダブルクリックすると化けてしまいます。</p>



<p class="wp-block-paragraph">BOM 付き UTF-8 のことを「UTF-8 with BOM」「UTF-8-SIG」と呼ぶこともあります。テキストエディタの保存ダイアログで見かけたら同じものだと思ってくださいね。</p>



<h2 class="wp-block-heading"><span id="toc8">既に文字化けした CSV を直す3つの方法</span></h2>



<p class="wp-block-paragraph">すでに化けてしまった CSV ファイルがある場合、対処の方向性は2つです。</p>



<ul class="wp-block-list"><li><strong>ファイル側を変える</strong>: ファイルの文字コードを Shift-JIS に変換し直す</li><li><strong>Excel 側の読み方を変える</strong>: ファイルはそのまま、Excel に「UTF-8 で読んで」と指示する</li></ul>



<p class="wp-block-paragraph">それぞれ具体的な手順を見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc9">方法1: メモ帳経由で文字コードを変換する</span></h3>



<p class="wp-block-paragraph">最もシンプルなのが、Windows のメモ帳を経由する方法です。</p>



<ol class="wp-block-list"><li>CSV ファイルを右クリック → 「プログラムから開く」 → 「メモ帳」</li><li>メモ帳でファイルが開く（ここで日本語が正しく見えていれば OK）</li><li>ファイル → 名前を付けて保存</li><li>「文字コード」を「ANSI」（Windows 日本語環境では Shift-JIS）に変更</li><li>ファイル名はそのままで「保存」 → 上書き確認で「はい」</li><li>保存し直したファイルを Excel でダブルクリック</li></ol>



<p class="wp-block-paragraph">メリットは追加ツールが不要なこと。デメリットは、ファイルが大きいと遅いこと、改行コード（CRLF / LF）が崩れることがある点です。</p>



<h3 class="wp-block-heading"><span id="toc10">方法2: Power Query で取り込む（おすすめ）</span></h3>



<p class="wp-block-paragraph">Excel 2016 以降に標準搭載されている Power Query は、文字化けに対する<strong>最強の対処法</strong>です。</p>



<ol class="wp-block-list"><li>Excel を起動して空白ブックを開く</li><li>「データ」タブ → 「テキストまたは CSV から」をクリック</li><li>ダイアログで CSV ファイルを選択して「インポート」</li><li>プレビュー画面が開くので、左上の「ファイルの元の形式」のドロップダウンを開く</li><li>「65001: Unicode (UTF-8)」を選択</li><li>プレビューが正しく表示されるのを確認したら「読み込み」ボタンをクリック</li></ol>



<p class="wp-block-paragraph">メリットは3つあります。ファイル自体を変更しないこと、列ごとのデータ型も指定できること、一度クエリを作れば「更新」ボタンで再読み込みできることです。同じ形式のファイルを定期的に扱う業務には特におすすめですよ。</p>



<p class="wp-block-paragraph">デメリットは Excel 2016 以降が必要な点。古い Excel では使えませんが、Microsoft 365 や Excel 2024 を使っているなら標準で入っています。</p>



<h3 class="wp-block-heading"><span id="toc11">方法3: VS Code やサクラエディタで変換する</span></h3>



<p class="wp-block-paragraph">エンジニア寄りの方法ですが、テキストエディタで文字コードを変換する手もあります。</p>



<ol class="wp-block-list"><li>VS Code でファイルを開く</li><li>画面右下のステータスバーに「UTF-8」と表示される</li><li>クリックして「エンコード付きで保存」を選択</li><li>「Shift_JIS」を選んで保存</li></ol>



<p class="wp-block-paragraph">大きなファイルでも高速で、BOM の付け外しも明示的にできます。普段から VS Code を使っている方には一番手軽な方法ですよ。</p>



<h2 class="wp-block-heading"><span id="toc12">文字化けを予防する方法</span></h2>



<p class="wp-block-paragraph">毎回 Excel で化けてから対処するのは面倒ですよね。次の2つの方法を覚えておくと、そもそも文字化けに遭遇しなくなります。</p>



<h3 class="wp-block-heading"><span id="toc13">Power Query を業務フローに組み込む</span></h3>



<p class="wp-block-paragraph">ダブルクリックで開く習慣をやめて、<strong>最初から Power Query で取り込む</strong>ようにします。</p>



<p class="wp-block-paragraph">楽天・Shopify・Amazon・Salesforce などのエクスポートをよく扱う方は、それぞれの形式に対してクエリを作っておきましょう。一度作ればワンクリックで再読み込みできるので、月次レポート作成の手間が大きく減ります。</p>



<p class="wp-block-paragraph">具体的には、上記「方法2」の手順で取り込んだあと、ファイルを保存しておきます。次に新しいエクスポートを取り込むときは、同じファイルを開いて「データ」タブの「すべて更新」をクリックするだけです。</p>



<h3 class="wp-block-heading"><span id="toc14">保存側を BOM 付き UTF-8 にする</span></h3>



<p class="wp-block-paragraph">システム管理者・開発者の方なら、CSV を書き出す側で BOM を付けるのが根本解決です。</p>



<p class="wp-block-paragraph">Python のスクリプトで CSV を書き出す例を載せておきますね。</p>



<pre class="wp-block-code"><code>import pandas as pd

df = pd.DataFrame({&quot;商品名&quot;: [&quot;りんご&quot;, &quot;ばなな&quot;], &quot;価格&quot;: [150, 80]})

# BOM 付き UTF-8 で保存（Excel でダブルクリックしても化けない）
df.to_csv(&quot;output.csv&quot;, encoding=&quot;utf_8_sig&quot;, index=False)</code></pre>



<p class="wp-block-paragraph"><code>utf_8_sig</code> を指定するだけで BOM 付き UTF-8 になります。これだけで、社内の Excel ユーザーがダブルクリックで開いても文字化けしません。</p>



<p class="wp-block-paragraph">社内ツールやスクリプトを管理する立場なら、このひと工夫で問い合わせ対応がぐっと減りますよ。</p>



<h2 class="wp-block-heading"><span id="toc15">業務シーン別の対処法</span></h2>



<p class="wp-block-paragraph">実務でよく遭遇するサービス別に、CSV の文字コードと対処法をまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>サービス</th><th>元の文字コード</th><th>ダブルクリック時</th><th>推奨対処法</th></tr></thead><tbody><tr><td>楽天 RMS</td><td>Shift-JIS</td><td>正常に開ける</td><td>そのまま</td></tr><tr><td>Shopify エクスポート</td><td>UTF-8（BOM なし）</td><td>文字化け</td><td>Power Query</td></tr><tr><td>Amazon Seller Central</td><td>UTF-8（BOM なし）</td><td>文字化け</td><td>Power Query</td></tr><tr><td>BASE ストア管理</td><td>UTF-8（BOM なし）</td><td>文字化け</td><td>Power Query</td></tr><tr><td>Salesforce レポート</td><td>UTF-8（設定依存）</td><td>設定次第</td><td>Power Query</td></tr><tr><td>Google スプレッドシートCSV</td><td>UTF-8（BOM なし）</td><td>文字化け</td><td>Power Query</td></tr><tr><td>国産基幹システム</td><td>Shift-JIS が多い</td><td>正常に開ける</td><td>そのまま</td></tr><tr><td>銀行明細CSV</td><td>Shift-JIS が多い</td><td>正常に開ける</td><td>そのまま</td></tr><tr><td>Microsoft Forms 結果</td><td>UTF-8（BOM 付き）</td><td>正常に開ける</td><td>そのまま</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">迷ったときの判断基準はシンプルです。<strong>「Web 系・クラウド系のツール → Power Query 経由」「国産システム・銀行系 → ダブルクリックで OK」</strong>。これだけ覚えておけば、ほとんどのケースに対応できますよ。</p>



<h3 class="wp-block-heading"><span id="toc16">一部の漢字だけ化ける場合</span></h3>



<p class="wp-block-paragraph">「髙（はしごだか）」「﨑（たちさき）」「①（丸数字）」などが「？」になるパターンです。これらは<strong>環境依存文字</strong>と呼ばれ、Shift-JIS の範囲外もしくは機種依存の文字です。</p>



<p class="wp-block-paragraph">UTF-8 から Shift-JIS に変換するときに、対応する文字がないため失われてしまいます。これを避けるには、元データを UTF-8 のまま扱うのが鉄則。Power Query で UTF-8 のまま取り込めば、環境依存文字も正しく表示されます。</p>



<h2 class="wp-block-heading"><span id="toc17">よくある質問</span></h2>



<h3 class="wp-block-heading"><span id="toc18">Q. CSV ファイル自体に文字コード情報は記録されていないの？</span></h3>



<p class="wp-block-paragraph">CSV はただのテキストファイルなので、原則として文字コード情報は持っていません。BOM が付いていれば「これは UTF-8 です」という目印になりますが、それ以外の手がかりはないんです。</p>



<p class="wp-block-paragraph">だから受け取った CSV の文字コードは、ファイル名や提供元の慣習から推測するしかありません。Web 系なら UTF-8、国産システムなら Shift-JIS というのが大まかな目安ですよ。</p>



<h3 class="wp-block-heading"><span id="toc19">Q. 最新の Excel なら自動判定してくれない？</span></h3>



<p class="wp-block-paragraph">Microsoft 365 や Excel 2024 でも、BOM なし UTF-8 はやはり化けやすいです。判定アルゴリズムは改善されていますが、確実ではありません。</p>



<p class="wp-block-paragraph">業務で安定して扱うなら Power Query 経由が一番確実です。</p>



<h3 class="wp-block-heading"><span id="toc20">Q. 文字化けしたファイルは壊れているの？</span></h3>



<p class="wp-block-paragraph">いいえ、ファイル自体は無傷です。ただ Excel が違う文字コードで読んでいるだけなので、正しい文字コードで読み直せば元通りに見えます。</p>



<p class="wp-block-paragraph">化けた状態で Excel から保存し直してしまうと、その時点で文字情報が失われることがあるので注意してください。<strong>保存する前に必ず文字化けを直す</strong>のが鉄則です。</p>



<h3 class="wp-block-heading"><span id="toc21">Q. メモ帳の「ANSI」って何？</span></h3>



<p class="wp-block-paragraph">Windows 日本語環境では「ANSI = Shift-JIS（CP932）」と思って大丈夫です。米国版 Windows では ANSI = Windows-1252 になりますが、日本で使う分には Shift-JIS のことだと考えてくださいね。</p>



<h3 class="wp-block-heading"><span id="toc22">Q. Mac の Excel はどうなる？</span></h3>



<p class="wp-block-paragraph">Excel for Mac（2016 以降）は判定アルゴリズムが少し違います。それでも BOM 付き UTF-8 なら安定して読めますよ。Mac で扱う前提のファイルは UTF-8（BOM 付き）で書き出すのがおすすめです。</p>



<h2 class="wp-block-heading"><span id="toc23">関連記事</span></h2>



<p class="wp-block-paragraph">CSV の取り込みやデータ整形まわりでつまずいたときは、次の記事もあわせて読むと作業がスムーズになります。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/power-query-getting-started/">Excel Power Query入門｜コピペ集計を卒業する4つの自動化レシピ</a>：本記事で推した Power Query を、文字化け対処にとどまらず日々の集計自動化に広げる入門記事です。</li><li><a href="https://mashukabu.com/excel-number-stored-as-text-convert/">Excelの文字列数値を一括変換する4つの方法｜「数値が文字列として保存されています」を解除</a>：CSV を読み込んだあとに数字が文字列扱いされて計算できないときの対処法をまとめています。</li><li><a href="https://mashukabu.com/excel-flash-fill-power-query-name-list/">Excelのフラッシュフィル・Power Queryで名簿整理を10倍速にする方法</a>：取り込んだ名簿データの分割・結合・整形を効率化したい方向けの実践記事です。</li><li><a href="https://mashukabu.com/excel-vba-csv-import-export/">VBAでCSVを自動で読み込む・書き出す方法｜Open文とFSOの使い分け</a>：CSV の読み込みや書き出しを自動化したい方向けに、文字コード指定を含めた VBA の書き方を解説しています。</li></ul>



<h2 class="wp-block-heading"><span id="toc24">まとめ</span></h2>



<p class="wp-block-paragraph">Excel で CSV を開くと文字化けする原因と解決法を整理してきました。要点をおさらいしましょう。</p>



<ul class="wp-block-list"><li>文字化けは「ファイルの文字コードと Excel の読み方のミスマッチ」で起きる</li><li>原因のほとんどは「BOM なし UTF-8 を Excel が Shift-JIS と誤認」するパターン</li><li>BOM はファイル先頭の3バイト（<code>EF BB BF</code>）で、UTF-8 の自己申告タグ</li><li>既に化けたファイルは「メモ帳経由」「Power Query」「VS Code」のどれかで救える</li><li>予防策の本命は Power Query を業務フローに組み込むこと</li><li>システム側で書き出す立場なら BOM 付き UTF-8（<code>utf_8_sig</code>）にすれば根本解決</li></ul>



<p class="wp-block-paragraph">Web 系・クラウド系ツールの CSV は Power Query で取り込む癖をつけると、毎月の文字化け対応がほぼゼロになります。ぜひ次に CSV を扱うときから試してみてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-csv-mojibake/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Excelで日付が数字（シリアル値）になる原因と直し方｜貼り付け・CSVインポート後に5桁の数字に化けたときの対処</title>
		<link>https://mashukabu.com/excel-serial-date/</link>
					<comments>https://mashukabu.com/excel-serial-date/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 16 May 2026 23:16:09 +0000</pubDate>
				<category><![CDATA[仕事効率化]]></category>
		<category><![CDATA[1904年日付システム]]></category>
		<category><![CDATA[CSV]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[シリアル値]]></category>
		<category><![CDATA[和暦]]></category>
		<category><![CDATA[日付]]></category>
		<category><![CDATA[時刻]]></category>
		<category><![CDATA[書式設定]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6834</guid>

					<description><![CDATA[Excelで日付が44927などの数字（シリアル値）になる原因と直し方を解説。コピー貼り付け後・CSVインポート後に5桁の数字に化けたときのセル書式設定・TEXT関数・Power Queryでの対処法を図解。時刻が小数になる仕組みやMac由来の4年ずれ、和暦・曜日表示まで網羅します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「Excelに貼り付けたら、日付が『45000』みたいな5桁の数字になってる…」「取引先からもらったCSVを開いたら、日付の列が全部数字に化けた」。そんな状況で、このページを開いていませんか？</p>



<p class="wp-block-paragraph">結論からお伝えします。<strong>ファイルは壊れていませんし、データも消えていません</strong>。Excelが日付を数字として表示しているだけなので、原因を切り分ければ数十秒で元に戻せます。</p>



<p class="wp-block-paragraph">この記事では、Excelで日付が数字（シリアル値）になる原因を「数式バー」と「書式設定」の2軸で4パターンに整理します。それぞれの直し方を順に解説するので、状況に合わせた最短ルートで解決できます。CSVインポート後・貼り付け後・値貼り付け後の対処を網羅しました。後半では、時刻が小数になる仕組みや、日付が4年ずれる現象、和暦・曜日での表示方法も取り上げます。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/05/01_data_before-after.png" alt="01 data before after" /></figure>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-3" checked><label class="toc-title" for="toc-checkbox-3">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">シリアル値とは？Excelで日付が数字に見える仕組み</a><ol><li><a href="#toc2" tabindex="0">Excelは日付を「1900/1/1からの通算日数」で管理している</a></li><li><a href="#toc3" tabindex="0">数字に見えるのは「表示形式が数値になっているだけ」のことが多い</a></li></ol></li><li><a href="#toc4" tabindex="0">原因切り分け早見表｜数式バー × 書式設定で4パターン</a></li><li><a href="#toc5" tabindex="0">パターンA｜書式設定が数値・標準になっているだけ（最頻出）</a><ol><li><a href="#toc6" tabindex="0">見分け方</a></li><li><a href="#toc7" tabindex="0">直し方（セルの書式設定で日付に変更）</a></li><li><a href="#toc8" tabindex="0">列全体を一気に直すコツ</a></li></ol></li><li><a href="#toc9" tabindex="0">パターンB｜CSVインポート後に文字列として読み込まれた</a><ol><li><a href="#toc10" tabindex="0">見分け方</a></li><li><a href="#toc11" tabindex="0">直し方1: 区切り位置で日付列を一気に再変換</a></li><li><a href="#toc12" tabindex="0">直し方2: DATEVALUE関数で別セルに変換</a></li><li><a href="#toc13" tabindex="0">直し方3: Power Queryで型を明示してインポート（推奨）</a></li></ol></li><li><a href="#toc14" tabindex="0">パターンC｜値貼り付けでシリアル値だけが残った</a><ol><li><a href="#toc15" tabindex="0">見分け方</a></li><li><a href="#toc16" tabindex="0">直し方</a></li></ol></li><li><a href="#toc17" tabindex="0">パターンD｜文字列として打ち込まれた日付（&#8221;2026/5/10&#8243;形式）</a><ol><li><a href="#toc18" tabindex="0">見分け方</a></li><li><a href="#toc19" tabindex="0">直し方: DATEVALUE関数または区切り位置で変換</a></li></ol></li><li><a href="#toc20" tabindex="0">時刻が小数（0.5など）になるのはなぜ？日付＋時刻の仕組み</a><ol><li><a href="#toc21" tabindex="0">時刻は1日を「1」とした小数で管理される</a></li><li><a href="#toc22" tabindex="0">直し方は書式を「時刻」または「日付」に変える</a></li></ol></li><li><a href="#toc23" tabindex="0">逆に「日付をわざと数字（シリアル値）で見たい」ときの方法</a><ol><li><a href="#toc24" tabindex="0">方法1: 書式を「標準」または「数値」に変える</a></li><li><a href="#toc25" tabindex="0">方法2: N関数や四則演算で数値として取り出す</a></li><li><a href="#toc26" tabindex="0">経過日数の計算はシリアル値だからこそ簡単</a></li></ol></li><li><a href="#toc27" tabindex="0">日付が「4年ずれる」ときは1904年日付システムを疑う</a><ol><li><a href="#toc28" tabindex="0">Excelには2つの起点（日付システム）がある</a></li><li><a href="#toc29" tabindex="0">確認と直し方</a></li></ol></li><li><a href="#toc30" tabindex="0">和暦・曜日・任意表記で見せる書式設定</a><ol><li><a href="#toc31" tabindex="0">ユーザー定義書式でカスタマイズする</a></li><li><a href="#toc32" tabindex="0">TEXT関数なら別セルに文字列で出せる</a></li></ol></li><li><a href="#toc33" tabindex="0">CSVインポート3手段の挙動比較｜どれを使うべき？</a></li><li><a href="#toc34" tabindex="0">DATEVALUE / VALUE / TEXT 使い分け早見表</a></li><li><a href="#toc35" tabindex="0">シリアル値 → 日付の対応表（よくある5桁数字）</a></li><li><a href="#toc36" tabindex="0">よくあるトラブルQ&#038;A</a><ol><li><a href="#toc37" tabindex="0">Q1. SUMIFSの日付条件が効かない</a></li><li><a href="#toc38" tabindex="0">Q2. フィルタの昇順ソートが日付順にならない</a></li><li><a href="#toc39" tabindex="0">Q3. 計算は正しく動くのに、表示だけ数字のまま直らない</a></li><li><a href="#toc40" tabindex="0">Q4. ピボットテーブルで日付がグループ化できない</a></li><li><a href="#toc41" tabindex="0">Q5. 日付を貼り付けたら別の日付に変わった</a></li><li><a href="#toc42" tabindex="0">Q6. Mac版・Web版Excelでも同じ手順？</a></li><li><a href="#toc43" tabindex="0">Q7. Googleスプレッドシートでも同じ仕組み？</a></li><li><a href="#toc44" tabindex="0">Q8. 日付が数字になるのを未然に防ぎたい</a></li><li><a href="#toc45" tabindex="0">Q9. 似たような「数字の見え方」トラブルが他にもある？</a></li></ol></li><li><a href="#toc46" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">シリアル値とは？Excelで日付が数字に見える仕組み</span></h2>



<p class="wp-block-paragraph">まず、根っこの仕組みを1分だけ確認しましょう。ここを押さえると、後のパターン分けがぐっと理解しやすくなります。</p>



<h3 class="wp-block-heading"><span id="toc2">Excelは日付を「1900/1/1からの通算日数」で管理している</span></h3>



<p class="wp-block-paragraph">Excelは内部的に、日付を<strong>シリアル値</strong>として記録しています。シリアル値とは、1900年1月1日を「1」とする通算日数の連番です。たとえば <code>2023/1/1</code> は <code>44927</code>、<code>2023/3/15</code> は <code>45000</code> に対応します。時刻は小数部で表現され、12:00 は <code>0.5</code>、6:00 は <code>0.25</code> です。</p>



<p class="wp-block-paragraph">なお、Excelには「1900年2月29日を有効な日付として扱う」という独特の仕様があります。古い表計算ソフトとの互換性のために意図的に維持されているものです。1900年3月以降の日付を扱う分には影響しないので、気にしなくて大丈夫です。</p>



<h3 class="wp-block-heading"><span id="toc3">数字に見えるのは「表示形式が数値になっているだけ」のことが多い</span></h3>



<p class="wp-block-paragraph">セルに <code>45000</code> と表示されていても、Excel内部では「2023/3/15」として認識されているケースがほとんどです。表示形式（書式設定）が「数値」や「標準」になっていると、シリアル値が数字のまま表示されます。</p>



<p class="wp-block-paragraph">逆に、見た目が <code>2026/05/10</code> のように日付らしく見えても、内部では「ただの文字列」として扱われていることがあります。この違いを最初に切り分けないと、間違った直し方をしてしまいがちです。</p>



<h2 class="wp-block-heading"><span id="toc4">原因切り分け早見表｜数式バー × 書式設定で4パターン</span></h2>



<p class="wp-block-paragraph">直し方に進む前に、いま自分のExcelがどのパターンに当てはまるかを確認しましょう。<strong>該当セルを1つクリックして、数式バーの表示と書式設定をチェック</strong>するだけです。</p>



<figure class="wp-block-table"><table><thead><tr><th>パターン</th><th>数式バーの表示</th><th>セルの書式設定</th><th>セルの寄せ</th><th>状態</th></tr></thead><tbody><tr><td><strong>A</strong></td><td><code>45000</code> などの数値</td><td>数値・標準</td><td>右寄せ</td><td>シリアル値が数値表示されている（最頻出）</td></tr><tr><td><strong>B</strong></td><td><code>2026/5/10</code> など日付風の文字列</td><td>標準・文字列</td><td>左寄せ</td><td>CSVや手入力で文字列扱いされている</td></tr><tr><td><strong>C</strong></td><td><code>45000</code> などの数値</td><td>標準</td><td>右寄せ</td><td>値貼り付けでシリアル値だけ残った</td></tr><tr><td><strong>D</strong></td><td><code>'2026/5/10</code>（先頭にアポストロフィ）</td><td>文字列</td><td>左寄せ</td><td>アポストロフィ付きの文字列日付</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">見分ける一番のコツは、<strong>右寄せか左寄せか</strong>です。Excelは既定で、数値（シリアル値）は右寄せ、文字列は左寄せで表示します。これだけで、パターンA/CかパターンB/Dかをほぼ判別できます。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/05/02_data_pattern-comparison.png" alt="02 data pattern comparison" /></figure>



<h2 class="wp-block-heading"><span id="toc5">パターンA｜書式設定が数値・標準になっているだけ（最頻出）</span></h2>



<p class="wp-block-paragraph">実務で出会う「日付が数字になる」現象の8割以上は、このパターンです。中身は正しいシリアル値なので、表示形式を変えるだけで解決します。</p>



<h3 class="wp-block-heading"><span id="toc6">見分け方</span></h3>



<ul class="wp-block-list"><li>セルをクリックすると、数式バーに <code>45000</code> などの数字が表示される</li><li>セルは右寄せになっている</li><li><code>=A1+1</code> のような計算が正しく動く（足し算で次の日が出る）</li></ul>



<h3 class="wp-block-heading"><span id="toc7">直し方（セルの書式設定で日付に変更）</span></h3>



<ol class="wp-block-list"><li>該当セル（または列全体）を選択する</li><li><code>Ctrl + 1</code> を押して「セルの書式設定」を開く</li><li>「表示形式」タブ → 「日付」を選び、好みの形式（例: <code>2012/3/14</code>）をクリック</li><li>OK を押すと、シリアル値が日付として表示される</li></ol>



<p class="wp-block-paragraph">ホームタブの「数値の書式」プルダウンから「短い日付形式」を選ぶ方法でも同じ結果になります。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/05/03_format_format-cells-panel.png" alt="03 format format cells panel" /></figure>



<h3 class="wp-block-heading"><span id="toc8">列全体を一気に直すコツ</span></h3>



<p class="wp-block-paragraph">列番号（A、Bなど）をクリックして列全体を選択してから書式変更すると、後から追加されるデータにも書式が適用されます。ヘッダーごと選択しても問題ありません。ヘッダーの文字列は書式変更の影響を受けないためです。</p>



<h2 class="wp-block-heading"><span id="toc9">パターンB｜CSVインポート後に文字列として読み込まれた</span></h2>



<p class="wp-block-paragraph">取引先から受け取ったCSVファイルをダブルクリックで開いたとき、日付列が左寄せになっていたら、このパターンです。表示は <code>2026/5/10</code> のように日付っぽくても、Excelの中身は単なる文字列です。SUMIFSやフィルタの日付条件が効かない場合、このパターンを疑いましょう。</p>



<h3 class="wp-block-heading"><span id="toc10">見分け方</span></h3>



<ul class="wp-block-list"><li>セルは左寄せ</li><li>数式バーに <code>2026/5/10</code> のような文字が表示される</li><li><code>=A1+1</code> を入れると <code>#VALUE!</code> エラーになる</li><li><code>=ISTEXT(A1)</code> の結果が <code>TRUE</code> になる</li></ul>



<h3 class="wp-block-heading"><span id="toc11">直し方1: 区切り位置で日付列を一気に再変換</span></h3>



<p class="wp-block-paragraph">短い手順で確実に直せる方法です。</p>



<ol class="wp-block-list"><li>該当列を選択する</li><li>データタブ → 「区切り位置」</li><li>「カンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」を選び「次へ」</li><li>区切り文字はチェックを外したまま「次へ」</li><li>「列のデータ形式」で <strong>日付</strong> を選び、形式を「YMD」など実際のCSVに合わせて指定</li><li>「完了」をクリック</li></ol>



<p class="wp-block-paragraph">これで列全体が一気にシリアル値に変換されます。</p>



<h3 class="wp-block-heading"><span id="toc12">直し方2: DATEVALUE関数で別セルに変換</span></h3>



<p class="wp-block-paragraph">別の列に変換結果を出したい場合は、DATEVALUE関数が便利です。DATEVALUE関数とは、文字列の日付をシリアル値に変換するExcel関数です。</p>



<pre class="wp-block-code"><code>=DATEVALUE(A2)</code></pre>



<p class="wp-block-paragraph"><code>A2</code> に <code>"2026/5/10"</code> という文字列が入っていれば、結果は <code>46152</code>（シリアル値）になります。結果セルの書式を「日付」にすれば、見た目も日付に整います。</p>



<p class="wp-block-paragraph">DATEVALUEの詳しい使い方は、<a href="https://mashukabu.com/excel-function-howto-use-datevalue/">ExcelのDATEVALUE関数の使い方</a>で解説しています。</p>



<h3 class="wp-block-heading"><span id="toc13">直し方3: Power Queryで型を明示してインポート（推奨）</span></h3>



<p class="wp-block-paragraph">繰り返し同じ形式のCSVを扱うなら、Power Queryが最もおすすめです。Power Queryとは、Excelのデータ取得・変換機能のことです。一度設定すれば、次回以降は更新ボタン1つで型を保ったまま読み込めます。</p>



<ol class="wp-block-list"><li>データタブ → 「データの取得」→「ファイルから」→「テキストまたはCSVから」</li><li>CSVファイルを選択</li><li>プレビュー画面で「データの変換」をクリック</li><li>日付列のヘッダー左にあるデータ型アイコンをクリック → <strong>日付</strong> を選択</li><li>「閉じて読み込む」</li></ol>



<h2 class="wp-block-heading"><span id="toc14">パターンC｜値貼り付けでシリアル値だけが残った</span></h2>



<p class="wp-block-paragraph">別ブックから「値のみ貼り付け」したときに起きやすいパターンです。元ブックでは日付として表示されていたのに、貼り付け先では <code>45000</code> のような数字に変わった——というケースです。</p>



<h3 class="wp-block-heading"><span id="toc15">見分け方</span></h3>



<ul class="wp-block-list"><li>数式バーには <code>45000</code> などの数値（パターンAと同じ）</li><li>セルは右寄せ</li><li>元ブックの書式設定が引き継がれていない</li></ul>



<h3 class="wp-block-heading"><span id="toc16">直し方</span></h3>



<p class="wp-block-paragraph">中身は正しいシリアル値なので、パターンAと同じく<strong>書式設定を「日付」に変更すれば直ります</strong>。</p>



<p class="wp-block-paragraph">次回から書式ごとコピーしたい場合は、コピー後の貼り付けで <code>Ctrl + Alt + V</code> を押します。「値と数値の書式」を選ぶと、シリアル値と日付書式の両方が貼り付けられます。または「値」貼り付けの後で、書式だけを別途コピーする方法でもOKです。</p>



<h2 class="wp-block-heading"><span id="toc17">パターンD｜文字列として打ち込まれた日付（&#8221;2026/5/10&#8243;形式）</span></h2>



<p class="wp-block-paragraph">セルに直接入力したとき、書式設定がたまたま「文字列」になっていることがあります。または先頭にアポストロフィ（<code>'</code>）を付けて入力した場合、Excelは日付として認識しません。</p>



<h3 class="wp-block-heading"><span id="toc18">見分け方</span></h3>



<ul class="wp-block-list"><li>セルは左寄せ</li><li>数式バーで先頭に <code>'</code> が表示されることがある</li><li><code>=ISTEXT(A1)</code> が <code>TRUE</code>、<code>=ISNUMBER(A1)</code> が <code>FALSE</code></li><li>SUMIFSの日付条件で集計が効かない、<code>>=</code> 比較がうまくいかない</li></ul>



<h3 class="wp-block-heading"><span id="toc19">直し方: DATEVALUE関数または区切り位置で変換</span></h3>



<p class="wp-block-paragraph">数件なら再入力が一番早いです。複数件ある場合は以下の方法で一括変換しましょう。</p>



<p class="wp-block-paragraph"><strong>DATEVALUE関数を使う場合:</strong></p>



<pre class="wp-block-code"><code>=DATEVALUE(A2)</code></pre>



<p class="wp-block-paragraph">結果が出たら、コピー → 元の列に「値貼り付け」→ 書式を「日付」に変更します。</p>



<p class="wp-block-paragraph"><strong>区切り位置で一発変換する場合:</strong></p>



<p class="wp-block-paragraph">パターンBの「直し方1」と同じ手順で、列のデータ形式を「日付」に指定すると、文字列日付がシリアル値に変換されます。関数を使わずに直したいときに便利な方法です。</p>



<p class="wp-block-paragraph">なお、<code>"123"</code> のように数字に見える文字列を数値化したいときは、<a href="https://mashukabu.com/excel-function-howto-use-value/">ExcelのVALUE関数の使い方</a>が活躍します。日付には DATEVALUE、数値には VALUE と覚えておきましょう。</p>



<h2 class="wp-block-heading"><span id="toc20">時刻が小数（0.5など）になるのはなぜ？日付＋時刻の仕組み</span></h2>



<p class="wp-block-paragraph">「日付ではなく時刻のセルが <code>0.5</code> や <code>0.75</code> のような小数になった」という相談もよくあります。これもシリアル値の仕組みで説明できます。</p>



<h3 class="wp-block-heading"><span id="toc21">時刻は1日を「1」とした小数で管理される</span></h3>



<p class="wp-block-paragraph">Excelは1日を <code>1</code> として扱い、時刻はその小数部で表現します。24時間が <code>1.0</code> なので、計算はとてもシンプルです。</p>



<figure class="wp-block-table"><table><thead><tr><th>時刻</th><th>シリアル値（小数部）</th></tr></thead><tbody><tr><td>0:00</td><td>0</td></tr><tr><td>6:00</td><td>0.25</td></tr><tr><td>12:00</td><td>0.5</td></tr><tr><td>18:00</td><td>0.75</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">つまり、時刻のセルが <code>0.5</code> と表示されていたら、中身は「12:00」です。日付と時刻が一緒に入っている場合は、整数部が日付・小数部が時刻になります。たとえば <code>2023/3/15 12:00</code> のシリアル値は <code>45000.5</code> です。</p>



<h3 class="wp-block-heading"><span id="toc22">直し方は書式を「時刻」または「日付」に変える</span></h3>



<p class="wp-block-paragraph">中身は正しい時刻なので、表示形式を変えるだけで直ります。</p>



<ol class="wp-block-list"><li>該当セルを選択する</li><li><code>Ctrl + 1</code> で「セルの書式設定」を開く</li><li>「表示形式」タブ → 「時刻」を選び、<code>13:30</code> など好みの形式をクリック</li><li>OK を押すと、小数が時刻として表示される</li></ol>



<p class="wp-block-paragraph">文字列として時刻を表示したいときは、TEXT関数も使えます。<code>=TEXT(0.5,"h:mm")</code> の結果は <code>"12:00"</code> です。日付と時刻を両方見せたいときは、<code>=TEXT(45000.5,"yyyy/mm/dd h:mm")</code> のように書式コードを組み合わせましょう。</p>



<h2 class="wp-block-heading"><span id="toc23">逆に「日付をわざと数字（シリアル値）で見たい」ときの方法</span></h2>



<p class="wp-block-paragraph">ここまでは「数字を日付に戻す」話でした。一方で、「日付の中身であるシリアル値そのものを確認したい」「経過日数を数値で扱いたい」という逆方向のニーズもあります。</p>



<h3 class="wp-block-heading"><span id="toc24">方法1: 書式を「標準」または「数値」に変える</span></h3>



<p class="wp-block-paragraph">一時的にシリアル値を確認したいだけなら、書式変更が一番手軽です。</p>



<ol class="wp-block-list"><li>該当セルを選択する</li><li><code>Ctrl + 1</code> で「セルの書式設定」を開く</li><li>「表示形式」タブ → 「標準」または「数値」を選ぶ</li><li>OK を押すと、日付がシリアル値の数字で表示される</li></ol>



<p class="wp-block-paragraph">確認が終わったら、同じ手順で「日付」に戻せば元通りです。中身のシリアル値は変わりません。</p>



<h3 class="wp-block-heading"><span id="toc25">方法2: N関数や四則演算で数値として取り出す</span></h3>



<p class="wp-block-paragraph">別のセルにシリアル値を取り出したいときは、N関数が便利です。N関数は、日付や数値をそのまま数値として返します。</p>



<pre class="wp-block-code"><code>=N(A1)</code></pre>



<p class="wp-block-paragraph"><code>A1</code> に <code>2023/3/15</code> が入っていれば、結果は <code>45000</code> です。<code>=A1*1</code> や <code>=A1+0</code> のように演算しても、表示形式が外れて数値が得られます。</p>



<h3 class="wp-block-heading"><span id="toc26">経過日数の計算はシリアル値だからこそ簡単</span></h3>



<p class="wp-block-paragraph">日付が連番のシリアル値で管理されているおかげで、日付同士の引き算で日数がそのまま求まります。<code>=B1-A1</code> と入れれば、2つの日付の間の日数が出ます。営業日や年齢など、より実務的な日付計算は<a href="https://mashukabu.com/excel-date-calculation-guide/">Excelの日付計算を完全攻略</a>で詳しく解説しています。</p>



<h2 class="wp-block-heading"><span id="toc27">日付が「4年ずれる」ときは1904年日付システムを疑う</span></h2>



<p class="wp-block-paragraph">「貼り付けたら日付が約4年もずれた」という珍しいトラブルがあります。これは多くの場合、<strong>1904年日付システム</strong>が原因です。</p>



<h3 class="wp-block-heading"><span id="toc28">Excelには2つの起点（日付システム）がある</span></h3>



<p class="wp-block-paragraph">Excelの日付システムには2種類あります。起点が1900/1/1の「1900年日付システム」と、起点が1904/1/1の「1904年日付システム」です。Windows版の既定は1900年、古いMac版の既定は1904年でした。</p>



<p class="wp-block-paragraph">1904系で作られたブックを1900系で開くと、同じシリアル値でも指す日付がずれます。ずれ幅は約4年（1462日）です。Mac由来のファイルを統合したときに起きやすいトラブルです。</p>



<h3 class="wp-block-heading"><span id="toc29">確認と直し方</span></h3>



<p class="wp-block-paragraph">まずは設定を確認します。</p>



<ol class="wp-block-list"><li>[ファイル] → [オプション] → [詳細設定]</li><li>「計算時の設定」内の「<strong>1904年から計算する</strong>」チェックボックスを確認</li></ol>



<p class="wp-block-paragraph">このチェックを切り替えると、すでに入っているデータの日付がすべて4年ずれます。データが入った後の安易な変更は避けましょう。複数ブックを統合してずれが出た場合は、ずれている側の日付に <code>+1462</code> または <code>-1462</code> で調整して合わせます。</p>



<h2 class="wp-block-heading"><span id="toc30">和暦・曜日・任意表記で見せる書式設定</span></h2>



<p class="wp-block-paragraph">日付として正しく認識できたら、見せ方も自由に整えられます。和暦や曜日を表示したいときは、ユーザー定義書式かTEXT関数を使います。</p>



<h3 class="wp-block-heading"><span id="toc31">ユーザー定義書式でカスタマイズする</span></h3>



<ol class="wp-block-list"><li>該当セルを選択し <code>Ctrl + 1</code> を開く</li><li>「表示形式」タブ → 「ユーザー定義」を選ぶ</li><li>「種類」欄に書式コードを入力する</li></ol>



<p class="wp-block-paragraph">主な書式コードは次のとおりです。</p>



<figure class="wp-block-table"><table><thead><tr><th>書式コード</th><th>表示例（2026/5/10 日曜の場合）</th><th>内容</th></tr></thead><tbody><tr><td><code>yyyy/mm/dd</code></td><td>2026/05/10</td><td>西暦・ゼロ埋め</td></tr><tr><td><code>ggge"年"m"月"d"日"</code></td><td>令和8年5月10日</td><td>和暦（元号フル）</td></tr><tr><td><code>aaaa</code></td><td>日曜日</td><td>曜日（フル）</td></tr><tr><td><code>aaa</code></td><td>日</td><td>曜日（略）</td></tr><tr><td><code>ddd</code></td><td>Sun</td><td>英語曜日（略）</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc32">TEXT関数なら別セルに文字列で出せる</span></h3>



<p class="wp-block-paragraph">同じ書式コードはTEXT関数でも使えます。たとえば <code>=TEXT(46152,"ggge年m月d日(aaa)")</code> の結果は <code>令和8年5月10日(日)</code> です。注意点として、和暦や曜日の表示は「シリアル値として正しく認識された日付」が前提です。文字列日付のままでは効かないので、まずパターンB・Dの直し方で日付に変換しておきましょう。</p>



<h2 class="wp-block-heading"><span id="toc33">CSVインポート3手段の挙動比較｜どれを使うべき？</span></h2>



<p class="wp-block-paragraph">「そもそもCSVを開く時点で日付が壊れないようにしたい」という方のために、3つのインポート方法の挙動を比較します。</p>



<figure class="wp-block-table"><table><thead><tr><th>インポート方法</th><th>日付の扱い</th><th>おすすめ度</th><th>用途</th></tr></thead><tbody><tr><td>ダブルクリックで開く</td><td>地域設定と一致すれば日付認識、ズレると文字列扱い</td><td>△</td><td>中身を一瞥したいとき</td></tr><tr><td>データ → テキストまたはCSVから（Power Query）</td><td>列ごとに型を明示できる。再読み込みも可能</td><td>◎</td><td>業務で繰り返し使うCSV</td></tr><tr><td>データ → 区切り位置（既存データの再変換）</td><td>列単位で型を後付けで指定できる</td><td>○</td><td>既に読み込み済みのデータを直す</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">CSVを業務で繰り返し扱うなら、<strong>Power Queryが圧倒的におすすめ</strong>です。一度型を明示しておけば、別の月のCSVに差し替えても更新ボタン1つで日付が崩れない状態で取り込めます。</p>



<p class="wp-block-paragraph">ダブルクリックで開く方法は、ロケール（地域設定）と日付フォーマットが一致していれば問題なく動きます。ただし海外発のCSV（<code>05/10/2026</code> のような MDY 形式など）では文字列として読み込まれることが多いです。「とりあえず確認するだけ」の用途に限り、業務処理にはPower Queryを使うことをおすすめします。</p>



<h2 class="wp-block-heading"><span id="toc34">DATEVALUE / VALUE / TEXT 使い分け早見表</span></h2>



<p class="wp-block-paragraph">日付・数値・文字列の変換まわりで登場する3つの関数を、目的別に整理しました。</p>



<figure class="wp-block-table"><table><thead><tr><th>目的</th><th>使う関数</th><th>例</th><th>結果</th></tr></thead><tbody><tr><td>文字列の日付 → シリアル値</td><td>DATEVALUE</td><td><code>=DATEVALUE("2026/5/10")</code></td><td><code>46152</code></td></tr><tr><td>文字列の数字 → 数値</td><td>VALUE</td><td><code>=VALUE("123")</code></td><td><code>123</code></td></tr><tr><td>シリアル値・数値 → 任意の文字列</td><td>TEXT</td><td><code>=TEXT(45000,"yyyy/mm/dd")</code></td><td><code>"2023/03/15"</code></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ざっくり覚えるなら、</p>



<ul class="wp-block-list"><li><strong>数字に化けた日付を直したい</strong> → DATEVALUE</li><li><strong>数字に見える文字列を計算に使いたい</strong> → VALUE</li><li><strong>シリアル値を任意の表記で見せたい</strong> → TEXT</li></ul>



<p class="wp-block-paragraph">で、ほぼ困りません。詳しい引数や応用例は、それぞれ<a href="https://mashukabu.com/excel-function-howto-use-datevalue/">DATEVALUE関数</a>、<a href="https://mashukabu.com/excel-function-howto-use-value/">VALUE関数</a>、<a href="https://mashukabu.com/excel-function-howto-use-text/">TEXT関数</a>で深掘りしています。日付の組み立てには<a href="https://mashukabu.com/excel-function-howto-use-date/">DATE関数</a>も便利です。</p>



<h2 class="wp-block-heading"><span id="toc35">シリアル値 → 日付の対応表（よくある5桁数字）</span></h2>



<p class="wp-block-paragraph">「45000って何月何日？」という検索で来た方のための早見表です。手元のExcelで <code>=TEXT(数値, "yyyy/mm/dd")</code> を入れれば自分でも確認できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>シリアル値</th><th>対応する日付</th></tr></thead><tbody><tr><td>41639</td><td>2014/01/01</td></tr><tr><td>41914</td><td>2014/10/03</td></tr><tr><td>44927</td><td>2023/01/01</td></tr><tr><td>45000</td><td>2023/03/15</td></tr><tr><td>45292</td><td>2024/01/01</td></tr><tr><td>45657</td><td>2024/12/31</td></tr><tr><td>45658</td><td>2025/01/01</td></tr><tr><td>46023</td><td>2026/01/01</td></tr><tr><td>46152</td><td>2026/05/10</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「年が違うけれど5桁の数字を見つけた」という場合も、<code>=TEXT(その数値, "yyyy/mm/dd")</code> を空きセルに入力すれば、対応する日付がすぐに分かります。</p>



<h2 class="wp-block-heading"><span id="toc36">よくあるトラブルQ&#038;A</span></h2>



<h3 class="wp-block-heading"><span id="toc37">Q1. SUMIFSの日付条件が効かない</span></h3>



<p class="wp-block-paragraph">文字列日付（パターンB・D）が混ざっていると、<code>>=2026/5/1</code> のような条件が効きません。DATEVALUE関数か区切り位置でシリアル値に統一してから集計しましょう。</p>



<h3 class="wp-block-heading"><span id="toc38">Q2. フィルタの昇順ソートが日付順にならない</span></h3>



<p class="wp-block-paragraph">文字列ソートと数値ソートが混在しているサインです。1月、10月、11月、2月…のように文字列順で並ぶ場合は、列全体を日付型に統一することで解決します。</p>



<h3 class="wp-block-heading"><span id="toc39">Q3. 計算は正しく動くのに、表示だけ数字のまま直らない</span></h3>



<p class="wp-block-paragraph">これは典型的なパターンAです。中身はシリアル値として正しく動いているので、書式設定を「日付」に変更するだけで直ります。<code>Ctrl + 1</code> から1分で解決できます。</p>



<h3 class="wp-block-heading"><span id="toc40">Q4. ピボットテーブルで日付がグループ化できない</span></h3>



<p class="wp-block-paragraph">「選択範囲をグループ化できません」と出る場合は、対象列に文字列日付や空白が混ざっているのが主因です。列を日付型に統一してから、ピボットを更新してみてください。日付として正しく認識されれば、年・月・日でのグループ化が使えるようになります。</p>



<h3 class="wp-block-heading"><span id="toc41">Q5. 日付を貼り付けたら別の日付に変わった</span></h3>



<p class="wp-block-paragraph">約4年ずれているなら、1904年日付システムが原因の可能性が高いです。本記事の「日付が『4年ずれる』ときは1904年日付システムを疑う」を確認してください。数日程度のずれなら、貼り付け方法（値貼り付けなど）や時刻の小数部が影響していることもあります。</p>



<h3 class="wp-block-heading"><span id="toc42">Q6. Mac版・Web版Excelでも同じ手順？</span></h3>



<p class="wp-block-paragraph">基本的な仕組みは同じですが、メニュー名や配置が一部異なります。本記事はWindows版を基準に解説しています。お使いの環境で似たメニューを探してみてください。Power Queryの一部機能はWeb版で制限されることもあるので、業務処理はデスクトップ版がおすすめです。</p>



<h3 class="wp-block-heading"><span id="toc43">Q7. Googleスプレッドシートでも同じ仕組み？</span></h3>



<p class="wp-block-paragraph">スプレッドシートも日付をシリアル値で管理しますが、起点が1899/12/30とExcelよりわずかに異なります。そのため生のシリアル値を両者でコピーすると日付がずれることがあります。アプリ間でやり取りするときは、生の数値ではなく日付値のままコピーするのが安全です。スプレッドシート側の日付計算は<a href="https://mashukabu.com/spreadsheet-date-calculation-guide/">スプレッドシートで日付計算をする方法</a>を参考にどうぞ。</p>



<h3 class="wp-block-heading"><span id="toc44">Q8. 日付が数字になるのを未然に防ぎたい</span></h3>



<p class="wp-block-paragraph">次の3つを習慣にすると、ほとんどの事故を防げます。①CSVを扱うときはPower Queryで型を明示する、②貼り付け時は「すべて貼り付け」を使う、③入力前に列の書式を「日付」にしておく。日付として認識された後の計算については<a href="https://mashukabu.com/excel-date-calculation-guide/">Excelの日付計算を完全攻略</a>も参考にどうぞ。</p>



<h3 class="wp-block-heading"><span id="toc45">Q9. 似たような「数字の見え方」トラブルが他にもある？</span></h3>



<p class="wp-block-paragraph">日付以外でも表示まわりのトラブルはよく起きます。電話番号や郵便番号の先頭の0が消える現象は<a href="https://mashukabu.com/excel-leading-zero-disappears/">Excelで先頭の0が消える原因と解決法</a>で解説しています。セルに「####」が出る現象は<a href="https://mashukabu.com/excel-cell-sharp-display/">Excelのセルに「####」が表示される原因と直し方</a>が参考になります。あわせて押さえておくと、表示まわりで慌てずに済みます。</p>



<h2 class="wp-block-heading"><span id="toc46">まとめ</span></h2>



<p class="wp-block-paragraph">Excelで日付が数字（シリアル値）に化けたときの対処をおさらいします。</p>



<ul class="wp-block-list"><li><strong>まずは「数式バー × 書式設定」で4パターンに切り分ける</strong>：右寄せの数値ならパターンA/C、左寄せの文字列ならパターンB/D</li><li><strong>パターンA・C（右寄せ・数値）</strong>：書式設定を「日付」に変えるだけで解決</li><li><strong>パターンB（CSVインポート起因の左寄せ文字列）</strong>：区切り位置・DATEVALUE・Power Queryのいずれかで変換</li><li><strong>パターンD（手入力の文字列日付）</strong>：DATEVALUE関数または区切り位置で一括変換</li><li><strong>時刻が小数になる場合</strong>：1日を1とした小数部なので、書式を「時刻」に変えれば直る</li><li><strong>4年ずれる場合</strong>：1904年日付システムを確認</li><li><strong>未然防止</strong>：CSVはPower Queryで型を明示、貼り付けは「すべて」を使う</li></ul>



<p class="wp-block-paragraph">日付の扱いを一度きちんと整えておくと、SUMIFSや並べ替え、ピボットテーブルがスムーズに動くようになります。今回の切り分け表を手元に置きつつ、状況に合わせた直し方を試してみてください。</p>



<p class="wp-block-paragraph">関連記事：</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-datevalue/">ExcelのDATEVALUE関数の使い方｜文字列の日付をシリアル値に変換</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-value/">ExcelのVALUE関数の使い方｜文字列を数値に変換</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-text/">ExcelのTEXT関数の使い方｜表示形式コードで日付・数値を自在に変換</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-date/">ExcelのDATE関数の使い方｜年・月・日から日付を作成</a></li><li><a href="https://mashukabu.com/excel-date-calculation-guide/">Excelの日付計算を完全攻略｜年齢・日数・営業日・年度を関数で自動化</a></li><li><a href="https://mashukabu.com/excel-leading-zero-disappears/">Excelで先頭の0が消える原因と解決法【電話番号・郵便番号対応】</a></li><li><a href="https://mashukabu.com/excel-cell-sharp-display/">Excelのセルに「####」が表示される原因と直し方｜全4パターン完全対応</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-serial-date/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのIMPORTDATA関数の使い方｜CSV/TSVデータ取得</title>
		<link>https://mashukabu.com/spreadsheet-importdata-function/</link>
					<comments>https://mashukabu.com/spreadsheet-importdata-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sun, 22 Mar 2026 01:13:12 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[CSV]]></category>
		<category><![CDATA[IMPORTDATA]]></category>
		<category><![CDATA[Sheets独自]]></category>
		<category><![CDATA[TSV]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4987</guid>

					<description><![CDATA[GoogleスプレッドシートのIMPORTDATA関数でCSV/TSVデータを自動取得する方法を解説。構文・引数の基本から実践的な活用例、エラー対処法、50関数制限の注意点、IMPORT系関数との使い分けまで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「毎回CSVファイルをダウンロードして、スプレッドシートに手動でインポートしている」。そんな作業を繰り返していませんか。</p>



<p class="wp-block-paragraph">手作業のインポートは手間がかかりますし、データが更新されるたびに同じ作業が発生します。</p>



<p class="wp-block-paragraph">そんなときに便利なのが <strong>IMPORTDATA関数</strong> です。URLを指定するだけで、CSVやTSVのデータをスプレッドシートに自動で取り込めます。</p>



<p class="wp-block-paragraph">この記事では、IMPORTDATA関数の基本から実務で役立つ活用パターンまで解説します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4" checked><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">IMPORTDATA関数とは？</a></li><li><a href="#toc2" tabindex="0">IMPORTDATA関数の書き方（構文と引数）</a><ol><li><a href="#toc3" tabindex="0">基本構文</a></li><li><a href="#toc4" tabindex="0">引数の説明</a></li></ol></li><li><a href="#toc5" tabindex="0">IMPORTDATA関数の基本的な使い方</a><ol><li><a href="#toc6" tabindex="0">URLを直接指定してCSVを取得する</a></li><li><a href="#toc7" tabindex="0">セル参照でURLを指定する</a></li><li><a href="#toc8" tabindex="0">TSVデータを取得する</a></li></ol></li><li><a href="#toc9" tabindex="0">IMPORTDATA関数の実践的な使い方・応用例</a><ol><li><a href="#toc10" tabindex="0">公開データセットを取得する</a></li><li><a href="#toc11" tabindex="0">取得したデータをQUERY関数で加工する</a></li><li><a href="#toc12" tabindex="0">取得したデータをFILTER関数で絞り込む</a></li><li><a href="#toc13" tabindex="0">複数のCSVファイルを管理シートで一括管理する</a></li></ol></li><li><a href="#toc14" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc15" tabindex="0">IMPORTDATA関数の注意点（50関数制限、リアルタイム更新等）</a></li><li><a href="#toc16" tabindex="0">Excelとの違い</a></li><li><a href="#toc17" tabindex="0">IMPORT系関数の使い分け</a></li><li><a href="#toc18" tabindex="0">まとめ</a><ol><li><a href="#toc19" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">IMPORTDATA関数とは？</span></h2>



<p class="wp-block-paragraph">IMPORTDATA関数（読み方: いんぽーと でーた）は、<strong>指定したURLからCSVまたはTSVデータをスプレッドシートに取得する関数</strong>です。</p>



<p class="wp-block-paragraph">名前は英語の「import（取り込む）」と「data（データ）」が由来です。</p>



<p class="wp-block-paragraph">たとえば、次のようなデータを取得できます。</p>



<ul class="wp-block-list"><li>Web上に公開されているCSVファイル</li><li>API経由で提供されるCSV形式のデータ</li><li>社内システムが出力するTSV形式のレポート</li></ul>



<p class="wp-block-paragraph">URLを入力するだけで、データが自動的にセルに展開されます。CSV（カンマ区切り）とTSV（タブ区切り）を自動で判別してくれるので、区切り文字を指定する必要はありません。</p>



<p class="wp-block-paragraph">IMPORTDATA関数にできることをまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>CSVファイルのデータをセルに展開する</li><li>TSVファイルのデータをセルに展開する</li><li>定期的にデータを自動更新する（約1時間ごと）</li><li>QUERY関数やFILTER関数と組み合わせて取得データを加工する</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>IMPORTDATA関数は<strong>Googleスプレッドシート専用</strong>の関数です。Excelには同じ関数は存在しません。ExcelでCSVデータを取り込むには、Power Queryの「CSVからデータを取得」機能を使います。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc2">IMPORTDATA関数の書き方（構文と引数）</span></h2>



<h3 class="wp-block-heading"><span id="toc3">基本構文</span></h3>



<pre class="wp-block-code"><code>=IMPORTDATA(URL)</code></pre>



<p class="wp-block-paragraph">カッコの中にデータの取得先URLを指定します。</p>



<h3 class="wp-block-heading"><span id="toc4">引数の説明</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>URL</td><td>必須</td><td>CSVまたはTSVデータのURL。文字列で指定</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">引数は1つだけです。省略はできません。URLはダブルクォーテーションで囲んで指定するか、URLが入力されたセルを参照します。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>取得先のURLは <code>https://</code> で始まる公開URLが必要です。認証が必要なページやローカルファイルのパスは指定できません。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc5">IMPORTDATA関数の基本的な使い方</span></h2>



<p class="wp-block-paragraph">まずはシンプルな例で動きを確認してみましょう。</p>



<h3 class="wp-block-heading"><span id="toc6">URLを直接指定してCSVを取得する</span></h3>



<p class="wp-block-paragraph">公開されているCSVファイルのURLを直接指定する方法です。</p>



<pre class="wp-block-code"><code>=IMPORTDATA(&quot;https://example.com/data.csv&quot;)</code></pre>



<p class="wp-block-paragraph">CSVファイルの中身がカンマで区切られている場合、各列に自動で振り分けられます。見出し行があればそのまま取得されます。</p>



<h3 class="wp-block-heading"><span id="toc7">セル参照でURLを指定する</span></h3>



<p class="wp-block-paragraph">URLが長い場合は、別のセルにURLを入力しておく方法が便利です。</p>



<p class="wp-block-paragraph">たとえば、A1セルにURLを入力しておけば次のように書けます。</p>



<pre class="wp-block-code"><code>=IMPORTDATA(A1)</code></pre>



<p class="wp-block-paragraph">複数のCSVファイルを取得するときに、URLの管理が楽になりますよ。</p>



<h3 class="wp-block-heading"><span id="toc8">TSVデータを取得する</span></h3>



<p class="wp-block-paragraph">タブ区切り（TSV）のデータも同じ書き方で取得できます。</p>



<pre class="wp-block-code"><code>=IMPORTDATA(&quot;https://example.com/data.tsv&quot;)</code></pre>



<p class="wp-block-paragraph">CSVかTSVかは自動判別されます。特別な設定は不要です。</p>



<h2 class="wp-block-heading"><span id="toc9">IMPORTDATA関数の実践的な使い方・応用例</span></h2>



<h3 class="wp-block-heading"><span id="toc10">公開データセットを取得する</span></h3>



<p class="wp-block-paragraph">政府や自治体が公開しているオープンデータには、CSVファイルのURLが公開されているものがあります。</p>



<p class="wp-block-paragraph">たとえば、統計データのCSVファイルのURLをそのまま指定すれば、スプレッドシートにデータを取り込めます。</p>



<pre class="wp-block-code"><code>=IMPORTDATA(&quot;https://example.com/opendata/population.csv&quot;)</code></pre>



<p class="wp-block-paragraph">定期的に更新されるデータであれば、スプレッドシートを開くたびに最新のデータが取得されます。</p>



<h3 class="wp-block-heading"><span id="toc11">取得したデータをQUERY関数で加工する</span></h3>



<p class="wp-block-paragraph">IMPORTDATA関数で取得したCSVデータに対して、<a href="https://mashukabu.com/spreadsheet-query-function/">QUERY関数</a>で条件付きの抽出や集計ができます。</p>



<pre class="wp-block-code"><code>=QUERY(IMPORTDATA(&quot;https://example.com/data.csv&quot;), &quot;SELECT Col1, Col3 WHERE Col2 &gt; 100&quot;)</code></pre>



<p class="wp-block-paragraph">Col1、Col2 のように列番号で指定するのがポイントです。取得範囲の左端が Col1 になります。</p>



<p class="wp-block-paragraph">「取得 → 加工」を1つの数式で完結できるので便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc12">取得したデータをFILTER関数で絞り込む</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-filter-function/">FILTER関数</a>と組み合わせれば、条件に合うデータだけを取り出せます。</p>



<pre class="wp-block-code"><code>=FILTER(IMPORTDATA(A1), INDEX(IMPORTDATA(A1),,2)&gt;1000)</code></pre>



<p class="wp-block-paragraph">2列目の値が1000より大きい行だけを抽出する例です。IMPORTDATA関数を2回呼び出している点に注意してください。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>FILTER関数よりも<a href="https://mashukabu.com/spreadsheet-query-function/">QUERY関数</a>のほうが数式がシンプルになるケースが多いです。条件付きの加工にはQUERY関数を先に検討してみてください。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc13">複数のCSVファイルを管理シートで一括管理する</span></h3>



<p class="wp-block-paragraph">複数のCSVデータを定期的に取得する場合は、管理シートを作る方法がおすすめです。</p>



<ol class="wp-block-list"><li>「管理」シートのA列にCSVファイル名、B列にURLを入力します</li><li>各データ用のシートを作成します</li><li>各シートのA1セルに <code>=IMPORTDATA(管理!B1)</code> のようにURLを参照します</li></ol>



<p class="wp-block-paragraph">URLが変わった場合も管理シートを修正するだけで済みます。</p>



<h2 class="wp-block-heading"><span id="toc14">よくあるエラーと対処法</span></h2>



<p class="wp-block-paragraph">IMPORTDATA関数で「データが取得できない」ケースをまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td><code>#N/A</code> エラー</td><td>URLが間違っている・ページが存在しない</td><td>URLをブラウザで開いてCSVデータが表示されるか確認する</td></tr><tr><td><code>#N/A</code> エラー</td><td>URLにアクセス権限がない</td><td>認証が必要なURLは取得できない。公開URLに変更する</td></tr><tr><td><code>#VALUE!</code> エラー</td><td>引数が空、または不正な形式</td><td>URLを正しく文字列で指定する</td></tr><tr><td>リソースの取得エラー</td><td>サーバーがリクエストを拒否している</td><td>サイト側でアクセス制限がかかっている可能性がある</td></tr><tr><td>データが1列にまとまる</td><td>区切り文字がカンマでもタブでもない</td><td>セミコロン区切りなどは自動判別できない。元データの形式を確認する</td></tr><tr><td>古いデータが表示される</td><td>キャッシュが更新されていない</td><td>スプレッドシートを再読み込みする。数式を一度消して再入力する</td></tr><tr><td>数式が動作しない</td><td>IMPORT系関数の上限に達している</td><td>1スプレッドシートあたり50個の制限を確認する（次のセクションで解説）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><code>#N/A</code> エラーが最もよく出ます。まずはURLをブラウザで直接開いて、CSVデータが表示されるか確認してみてください。</p>



<h2 class="wp-block-heading"><span id="toc15">IMPORTDATA関数の注意点（50関数制限、リアルタイム更新等）</span></h2>



<p class="wp-block-paragraph">IMPORTDATA関数を使ううえで知っておきたいポイントをまとめます。</p>



<p class="wp-block-paragraph"><strong>1スプレッドシートあたり50関数の制限</strong></p>



<p class="wp-block-paragraph">IMPORT系関数（IMPORTDATA / IMPORTHTML / IMPORTXML / IMPORTFEED / IMPORTRANGE）は、1つのスプレッドシートに合計50個までしか使えません。50個を超えると数式がエラーになります。</p>



<p class="wp-block-paragraph">大量のCSVを取得したい場合は、スプレッドシートを分けて管理する方法を検討してください。</p>



<p class="wp-block-paragraph"><strong>リアルタイム更新ではない</strong></p>



<p class="wp-block-paragraph">IMPORTDATA関数はデータをリアルタイムに監視しているわけではありません。スプレッドシートを開いたときや、約1時間ごとに自動で再取得されます。</p>



<p class="wp-block-paragraph">すぐに最新データを取得したい場合は、数式を一度消して再入力するか、スプレッドシートを再読み込みしてください。</p>



<p class="wp-block-paragraph"><strong>公開URLのみ対応</strong></p>



<p class="wp-block-paragraph">取得先のURLは <code>https://</code> で始まる公開URLが必要です。社内ネットワーク内のURLやログインが必要なページは取得できません。</p>



<p class="wp-block-paragraph">社内データを連携したい場合は、<a href="https://mashukabu.com/spreadsheet-importrange-complete-guide/">IMPORTRANGE関数</a>で別のスプレッドシートから取得する方法を検討しましょう。</p>



<p class="wp-block-paragraph"><strong>大きなデータは動作が重くなる</strong></p>



<p class="wp-block-paragraph">行数が多いCSVファイルを取得すると、読み込みに時間がかかります。必要なデータだけを含む軽量なCSVファイルを用意するのがおすすめです。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>WARNING</strong></p><p>IMPORTDATA関数で取得するデータの正確性は、取得先のデータソースに依存します。重要な意思決定に使う場合は、元のデータソースでも最新の値を確認してください。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc16">Excelとの違い</span></h2>



<p class="wp-block-paragraph">IMPORTDATA関数はGoogleスプレッドシート専用の関数です。Excelには存在しません。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>Googleスプレッドシート</th><th>Excel</th></tr></thead><tbody><tr><td>IMPORTDATA関数</td><td>使える</td><td>なし</td></tr><tr><td>CSVデータ取得の代替手段</td><td>IMPORTDATA関数</td><td>Power Query「CSVからデータを取得」</td></tr><tr><td>操作方法</td><td>セルに数式を入力するだけ</td><td>GUIウィザードで設定</td></tr><tr><td>自動更新</td><td>約1時間ごとに自動更新</td><td>手動更新または自動更新設定</td></tr><tr><td>Web上のCSV取得</td><td>URLを指定するだけ</td><td>Power Queryの「Webから」で設定</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ExcelでCSVデータを取り込みたい場合は、「データ」タブ → 「データの取得」 → 「ファイルから」でPower Queryを使います。GUIで設定する方式なので、数式1つで完結する手軽さはありません。</p>



<p class="wp-block-paragraph">CSVの自動取得を数式で手軽にやりたいなら、スプレッドシートのIMPORTDATA関数が圧倒的に便利です。</p>



<h2 class="wp-block-heading"><span id="toc17">IMPORT系関数の使い分け</span></h2>



<p class="wp-block-paragraph">Googleスプレッドシートには、IMPORTDATA以外にもデータを取得するIMPORT系関数があります。目的に応じて使い分けましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>取得対象</th><th>用途例</th></tr></thead><tbody><tr><td><strong>IMPORTDATA</strong></td><td>CSV / TSVデータ</td><td>公開CSVファイルを取得</td></tr><tr><td><strong><a href="https://mashukabu.com/spreadsheet-importhtml-function/">IMPORTHTML</a></strong></td><td>HTMLのtable / list</td><td>Webページの表やリストを取得</td></tr><tr><td><strong>IMPORTXML</strong></td><td>XMLデータ / XPath指定</td><td>特定のHTML要素をXPathで指定して取得</td></tr><tr><td><strong>IMPORTFEED</strong></td><td>RSS / Atomフィード</td><td>ニュースサイトの更新情報を取得</td></tr><tr><td><strong><a href="https://mashukabu.com/spreadsheet-importrange-complete-guide/">IMPORTRANGE</a></strong></td><td>別のスプレッドシート</td><td>別ファイルのセル範囲を取得</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>使い分けのポイント</strong>: CSVファイルならIMPORTDATA、Webページの「表」が欲しいなら<a href="https://mashukabu.com/spreadsheet-importhtml-function/">IMPORTHTML</a>、HTMLの特定要素をピンポイントで取りたいならIMPORTXMLです。</p>



<p class="wp-block-paragraph">別のスプレッドシートからデータを取得したい場合は、<a href="https://mashukabu.com/spreadsheet-importrange-complete-guide/">IMPORTRANGE関数</a>を使います。URLではなくスプレッドシートキーで指定する点が異なりますよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>IMPORT系関数はすべて合わせて1スプレッドシートあたり50個までの制限があります。複数のIMPORT系関数を使う場合は、合計数を意識しておきましょう。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc18">まとめ</span></h2>



<p class="wp-block-paragraph">IMPORTDATA関数は、CSVやTSVのデータをURLから自動取得できる便利な関数です。</p>



<p class="wp-block-paragraph">ポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=IMPORTDATA(URL)</code> で、引数は1つだけ</li><li>CSV（カンマ区切り）とTSV（タブ区切り）を自動判別する</li><li>約1時間ごとにデータが自動更新される</li><li>公開URLのみ対応（認証が必要なページは不可）</li><li>IMPORT系関数は合計50個までの制限がある</li><li>Googleスプレッドシート専用でExcelには存在しない（Power Queryが代替）</li><li><a href="https://mashukabu.com/spreadsheet-query-function/">QUERY関数</a>や<a href="https://mashukabu.com/spreadsheet-filter-function/">FILTER関数</a>と組み合わせてデータ加工もできる</li><li>IMPORT系関数（<a href="https://mashukabu.com/spreadsheet-importhtml-function/">IMPORTHTML</a> / IMPORTXML / IMPORTFEED / <a href="https://mashukabu.com/spreadsheet-importrange-complete-guide/">IMPORTRANGE</a>）と目的に応じて使い分ける</li></ul>



<p class="wp-block-paragraph">まずは、公開されているCSVファイルのURLで <code>=IMPORTDATA("URL")</code> を試してみてください。数式を入力するだけでデータが取り込める手軽さを実感できますよ。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc19">関連記事</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-importhtml-function/">スプレッドシートのIMPORTHTML関数の使い方｜Webページの表/リスト取得</a></li><li><a href="https://mashukabu.com/spreadsheet-importrange-complete-guide/">スプレッドシートのIMPORTRANGE関数の使い方｜別ファイルからデータ取得</a></li><li><a href="https://mashukabu.com/spreadsheet-query-function/">スプレッドシートのQUERY関数の使い方｜データ抽出・集計をSQL風に操作</a></li><li><a href="https://mashukabu.com/spreadsheet-filter-function/">スプレッドシートのFILTER関数の使い方｜条件でデータを自動抽出</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-importdata-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのCLEAN関数の使い方｜改行・制御文字を一括削除</title>
		<link>https://mashukabu.com/spreadsheet-clean-function/</link>
					<comments>https://mashukabu.com/spreadsheet-clean-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 21 Mar 2026 11:37:12 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[CLEAN関数]]></category>
		<category><![CDATA[CSV]]></category>
		<category><![CDATA[SUBSTITUTE関数]]></category>
		<category><![CDATA[TRIM関数]]></category>
		<category><![CDATA[制御文字削除]]></category>
		<category><![CDATA[改行削除]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4893</guid>

					<description><![CDATA[スプレッドシートのCLEAN関数は、改行やタブなどの印刷できない制御文字を一括削除する関数です。CSVインポートやWebコピペで混入する不要文字の除去方法を解説。TRIM・SUBSTITUTEとの組み合わせ技、CODE関数で文字コードを調べる診断法も紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">CSVをインポートしたら、セルの中に謎の改行が入っていた。Webページからコピペしたデータに、見えない文字が紛れ込んでいた――そんな経験はありませんか？</p>



<p class="wp-block-paragraph">目視ではわからない制御文字が混入すると、数式がうまく動かなかったり、集計結果がずれたりします。原因を特定するだけでも一苦労ですよね。</p>



<p class="wp-block-paragraph">そんなときに使うのが<strong>CLEAN関数</strong>です。改行やタブなどの「印刷できない制御文字」をまとめて削除してくれます。</p>



<p class="wp-block-paragraph">この記事では、CLEAN関数の基本から、TRIM関数・SUBSTITUTE関数との組み合わせ、CLEAN関数では消えない文字への対処法まで紹介します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-5" checked><label class="toc-title" for="toc-checkbox-5">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">スプレッドシートのCLEAN関数とは？印刷できない制御文字を削除する関数</a><ol><li><a href="#toc2" tabindex="0">CLEAN関数の構文と引数</a></li><li><a href="#toc3" tabindex="0">CLEAN関数が削除する文字・しない文字</a></li></ol></li><li><a href="#toc4" tabindex="0">基本的な使い方：改行・制御文字を一括削除する</a><ol><li><a href="#toc5" tabindex="0">CSVインポートで混入した改行を削除する</a></li><li><a href="#toc6" tabindex="0">CODE関数で制御文字を見つける診断コード</a></li></ol></li><li><a href="#toc7" tabindex="0">TRIM関数・SUBSTITUTE関数との組み合わせパターン</a><ol><li><a href="#toc8" tabindex="0">CLEAN+TRIMで制御文字とスペースを同時に除去</a></li><li><a href="#toc9" tabindex="0">CLEAN+SUBSTITUTE+TRIMで完全クリーニング</a></li></ol></li><li><a href="#toc10" tabindex="0">CLEAN関数で消えない文字への対処法</a><ol><li><a href="#toc11" tabindex="0">CHAR(160)ノーブレークスペースの削除</a></li><li><a href="#toc12" tabindex="0">Unicode制御文字の削除（REGEXREPLACE）</a></li></ol></li><li><a href="#toc13" tabindex="0">よくある質問（CLEAN関数）</a></li><li><a href="#toc14" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートのCLEAN関数とは？印刷できない制御文字を削除する関数</span></h2>



<p class="wp-block-paragraph">CLEAN関数（読み方：クリーン関数）は、<strong>テキストからASCII制御文字を削除する関数</strong>です。</p>



<p class="wp-block-paragraph">名前は英語の「clean（きれいにする）」が語源です。目に見えない不要な文字をきれいに取り除くイメージですね。</p>



<p class="wp-block-paragraph">CLEAN関数が削除するのは、ASCIIコード0〜31の「制御文字」と呼ばれる文字です。代表的なものを挙げると、次のとおりです。</p>



<ul class="wp-block-list"><li>CHAR(9)：タブ</li><li>CHAR(10)：改行（ラインフィード / LF）</li><li>CHAR(13)：復帰（キャリッジリターン / CR）</li></ul>



<p class="wp-block-paragraph">これらは画面に表示されない文字なので、目視では見つけられません。CLEAN関数を使えば、まとめて削除できます。</p>



<h3 class="wp-block-heading"><span id="toc2">CLEAN関数の構文と引数</span></h3>



<pre class="wp-block-code"><code>=CLEAN(テキスト)</code></pre>



<p class="wp-block-paragraph">カッコの中に「制御文字を削除したい文字列」を入れるだけです。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>テキスト</td><td>必須</td><td>制御文字を削除したい文字列やセル参照</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">引数はひとつだけ。<a href="https://mashukabu.com/spreadsheet-trim-function/">TRIM関数</a>と同じく、シンプルな構文です。</p>



<h3 class="wp-block-heading"><span id="toc3">CLEAN関数が削除する文字・しない文字</span></h3>



<p class="wp-block-paragraph">CLEAN関数はすべての不要文字を消してくれるわけではありません。削除できる範囲をきちんと把握しておきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>文字の種類</th><th>文字コード</th><th>CLEAN</th><th>TRIM</th><th>主な発生源</th></tr></thead><tbody><tr><td>改行（LF）</td><td>CHAR(10)</td><td>削除できる</td><td>不可</td><td>CSVインポート・コピペ</td></tr><tr><td>復帰（CR）</td><td>CHAR(13)</td><td>削除できる</td><td>不可</td><td>Windows環境のCSV</td></tr><tr><td>タブ</td><td>CHAR(9)</td><td>削除できる</td><td>不可</td><td>TSVファイル・コピペ</td></tr><tr><td>半角スペース</td><td>CHAR(32)</td><td>削除できない</td><td>削除できる</td><td>手入力・CSV</td></tr><tr><td>全角スペース</td><td>—</td><td>削除できない</td><td>削除できない</td><td>日本語入力の切り替えミス</td></tr><tr><td>ノーブレークスペース</td><td>CHAR(160)</td><td>削除できない</td><td>削除できない</td><td>Webコピペ・HTML</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ポイントは、CLEAN関数とTRIM関数は<strong>担当範囲が違う</strong>ということです。CLEAN関数は制御文字（CHAR(0)〜31）を担当し、TRIM関数は半角スペース（CHAR(32)）を担当します。どちらか片方だけでは不十分なケースが多いので、組み合わせて使うのが定番です。</p>



<h2 class="wp-block-heading"><span id="toc4">基本的な使い方：改行・制御文字を一括削除する</span></h2>



<h3 class="wp-block-heading"><span id="toc5">CSVインポートで混入した改行を削除する</span></h3>



<p class="wp-block-paragraph">CSVファイルをインポートすると、セルの中に改行が入り込むことがあります。CLEAN関数で削除してみましょう。</p>



<p class="wp-block-paragraph">A1に「東京都千代田区」（セル内改行あり）が入っているとします。</p>



<pre class="wp-block-code"><code>=CLEAN(A1)</code></pre>



<p class="wp-block-paragraph">結果は「東京都千代田区」です。改行が削除されて、1行にまとまりました。</p>



<p class="wp-block-paragraph">列全体に適用するのが実務的な使い方です。B1に数式を入れて下方向にコピーすれば、一括で整形できますよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>改行を削除するのではなく、改行をスペースや特定の区切り文字に「置換」したい場合は、<a href="https://mashukabu.com/spreadsheet-substitute-function/">SUBSTITUTE関数</a>を使います。<code>=SUBSTITUTE(A1, CHAR(10), " ")</code> で改行を半角スペースに置き換えられます。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc6">CODE関数で制御文字を見つける診断コード</span></h3>



<p class="wp-block-paragraph">「制御文字が入っているかどうか」を確認したいときは、CODE関数が便利です。CODE関数は、文字列の先頭1文字のASCIIコードを返します。</p>



<p class="wp-block-paragraph">実務で手軽に使える診断コードを紹介します。</p>



<pre class="wp-block-code"><code>=LEN(A1)-LEN(CLEAN(A1))</code></pre>



<p class="wp-block-paragraph">結果が「0」なら制御文字は入っていません。「0」以外なら、その数だけ制御文字が混入しています。</p>



<p class="wp-block-paragraph">たとえばA1に改行が2つ入っている場合、LEN(A1)は元の文字数+2、LEN(CLEAN(A1))は元の文字数です。差は「2」。制御文字が2文字あるとわかります。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-len-function/">LEN関数の使い方</a>と組み合わせた、覚えておくと便利な診断テクニックです。</p>



<h2 class="wp-block-heading"><span id="toc7">TRIM関数・SUBSTITUTE関数との組み合わせパターン</span></h2>



<p class="wp-block-paragraph">CLEAN関数は制御文字だけを削除する関数です。実務では、スペースや見えない文字も同時に処理したいケースがほとんどです。ここでは定番の組み合わせパターンを紹介します。</p>



<h3 class="wp-block-heading"><span id="toc8">CLEAN+TRIMで制御文字とスペースを同時に除去</span></h3>



<p class="wp-block-paragraph">もっとも基本的な組み合わせです。CLEAN関数で制御文字を削除し、<a href="https://mashukabu.com/spreadsheet-trim-function/">TRIM関数</a>で余分なスペースを削除します。</p>



<pre class="wp-block-code"><code>=TRIM(CLEAN(A1))</code></pre>



<p class="wp-block-paragraph">CSVインポートやコピペデータの整形では、この2つをセットで使うのが定番です。「とりあえずTRIM(CLEAN())」を習慣にしておくと、多くのデータ整形トラブルを未然に防げます。</p>



<h3 class="wp-block-heading"><span id="toc9">CLEAN+SUBSTITUTE+TRIMで完全クリーニング</span></h3>



<p class="wp-block-paragraph">全角スペースやCHAR(160)（ノーブレークスペース）も含めて、すべての不要文字を一括除去したい場合の数式です。</p>



<pre class="wp-block-code"><code>=TRIM(CLEAN(SUBSTITUTE(SUBSTITUTE(A1,&quot;　&quot;,&quot; &quot;),CHAR(160),&quot; &quot;)))</code></pre>



<p class="wp-block-paragraph">ちょっと長く見えますが、やっていることはシンプルです。</p>



<ol class="wp-block-list"><li>内側のSUBSTITUTE：全角スペースを半角スペースに変換</li><li>外側のSUBSTITUTE：CHAR(160)を半角スペースに変換</li><li>CLEAN：制御文字（改行・タブ等）を削除</li><li>TRIM：余分な半角スペースを削除</li></ol>



<p class="wp-block-paragraph">この4段構えで、ほぼすべての不要文字を除去できます。外部データを取り込む場面では、このフル版を使っておくと安心です。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>同じ列に毎回この長い数式を入れるのが面倒なら、ヘルパー列（補助列）を1列用意して数式を入れておくのがおすすめです。元データを上書きしたい場合は、補助列をコピーして「値のみ貼り付け」で戻しましょう。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc10">CLEAN関数で消えない文字への対処法</span></h2>



<p class="wp-block-paragraph">CLEAN関数はASCIIコード0〜31の制御文字しか削除しません。それ以外の「見えない文字」は残ったままになります。</p>



<h3 class="wp-block-heading"><span id="toc11">CHAR(160)ノーブレークスペースの削除</span></h3>



<p class="wp-block-paragraph">Webページからコピペしたデータに混入しやすいのが、CHAR(160)のノーブレークスペースです。見た目は普通のスペースと同じですが、CLEAN関数でもTRIM関数でも削除できません。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-substitute-function/">SUBSTITUTE関数</a>でCHAR(160)を指定して置換します。</p>



<pre class="wp-block-code"><code>=SUBSTITUTE(A1, CHAR(160), &quot; &quot;)</code></pre>



<p class="wp-block-paragraph">CHAR(160)を半角スペースに変換してから、TRIMで整形するのが定番です。</p>



<pre class="wp-block-code"><code>=TRIM(SUBSTITUTE(A1, CHAR(160), &quot; &quot;))</code></pre>



<p class="wp-block-paragraph">「CLEAN関数を使ったのにまだ変な文字が残っている」という場合は、CHAR(160)を疑ってみてください。</p>



<h3 class="wp-block-heading"><span id="toc12">Unicode制御文字の削除（REGEXREPLACE）</span></h3>



<p class="wp-block-paragraph">まれに、ASCIIコード128以上のUnicode制御文字が混入することがあります。CLEAN関数の対象外なので、正規表現で除去します。</p>



<p class="wp-block-paragraph">Googleスプレッドシートには正規表現で置換できるREGEXREPLACE関数があります。</p>



<pre class="wp-block-code"><code>=TRIM(CLEAN(REGEXREPLACE(A1, &quot;[x00-x1Fx7F-x9F]&quot;, &quot;&quot;)))</code></pre>



<p class="wp-block-paragraph">この正規表現は「ASCIIおよびLatin-1の制御文字」を削除します。CLEANとREGEXREPLACEを組み合わせることで、より広い範囲の制御文字を除去できます。</p>



<p class="wp-block-paragraph">正規表現が難しいと感じたら、無理に使う必要はありません。ほとんどの実務データは前述の <code>=TRIM(CLEAN(SUBSTITUTE(...)))</code> パターンで十分対処できます。</p>



<h2 class="wp-block-heading"><span id="toc13">よくある質問（CLEAN関数）</span></h2>



<p class="wp-block-paragraph"><strong>Q. CLEAN関数でスペースは削除できますか？</strong></p>



<p class="wp-block-paragraph">できません。半角スペース（CHAR(32)）はCLEAN関数の対象外です。スペースの削除には<a href="https://mashukabu.com/spreadsheet-trim-function/">TRIM関数</a>を使ってください。制御文字とスペースの両方を消したいなら <code>=TRIM(CLEAN(A1))</code> がおすすめです。</p>



<p class="wp-block-paragraph"><strong>Q. CLEAN関数で改行をスペースに置き換えられますか？</strong></p>



<p class="wp-block-paragraph">CLEAN関数は改行を「削除」するだけです。スペースに「置換」したい場合は、<a href="https://mashukabu.com/spreadsheet-substitute-function/">SUBSTITUTE関数</a>で <code>=SUBSTITUTE(A1, CHAR(10), " ")</code> と書いてください。</p>



<p class="wp-block-paragraph"><strong>Q. ExcelのCLEAN関数との違いはありますか？</strong></p>



<p class="wp-block-paragraph">基本的な動作は同じです。どちらもASCIIコード0〜31の制御文字を削除します。ただし、ExcelファイルをGoogleスプレッドシートで開いた場合、改行コードの扱いに違いが出ることがあります。スプレッドシートではCHAR(10)がセル内改行です。</p>



<p class="wp-block-paragraph"><strong>Q. CLEAN関数を使っても文字が残る場合は？</strong></p>



<p class="wp-block-paragraph">CHAR(160)（ノーブレークスペース）やUnicode制御文字はCLEAN関数の対象外です。<code>=CODE(MID(A1, N, 1))</code> で残っている文字のコードを調べ、<a href="https://mashukabu.com/spreadsheet-substitute-function/">SUBSTITUTE関数</a>で個別に削除してください。</p>



<h2 class="wp-block-heading"><span id="toc14">まとめ</span></h2>



<p class="wp-block-paragraph">CLEAN関数は、改行やタブなどの制御文字を削除するシンプルな関数です。</p>



<p class="wp-block-paragraph">ポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=CLEAN(テキスト)</code> の1引数だけ。ASCIIコード0〜31の制御文字をまとめて削除する</li><li>CLEAN関数と<a href="https://mashukabu.com/spreadsheet-trim-function/">TRIM関数</a>は担当範囲が違う。<code>=TRIM(CLEAN(A1))</code> のセット使いが定番</li><li><code>=LEN(A1)-LEN(CLEAN(A1))</code> で制御文字の混入を素早く診断できる</li><li>全角スペースやCHAR(160)はCLEAN関数では消えない。<a href="https://mashukabu.com/spreadsheet-substitute-function/">SUBSTITUTE関数</a>で個別に対処する</li><li>完全クリーニングには <code>=TRIM(CLEAN(SUBSTITUTE(SUBSTITUTE(A1,"　"," "),CHAR(160)," ")))</code> を使う</li></ul>



<p class="wp-block-paragraph">まずは <code>=LEN(A1)-LEN(CLEAN(A1))</code> で、手元のデータに制御文字が潜んでいないかチェックしてみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-clean-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのSPLIT関数の使い方｜区切り文字で分割</title>
		<link>https://mashukabu.com/spreadsheet-split-function/</link>
					<comments>https://mashukabu.com/spreadsheet-split-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 19 Mar 2026 09:49:06 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[ARRAYFORMULA]]></category>
		<category><![CDATA[CSV]]></category>
		<category><![CDATA[SPLIT]]></category>
		<category><![CDATA[TEXTJOIN]]></category>
		<category><![CDATA[区切り文字]]></category>
		<category><![CDATA[文字列分割]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4305</guid>

					<description><![CDATA[スプレッドシートのSPLIT関数の使い方を基礎から解説。カンマ区切りデータの分割、姓名の分離、第3引数の使いどころ、ARRAYFORMULAとの一括処理まで。TEXTJOINとの相互変換も紹介。]]></description>
										<content:encoded><![CDATA[

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-6" checked><label class="toc-title" for="toc-checkbox-6">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">SPLIT関数の基本的な使い方（スプレッドシート）</a><ol><li><a href="#toc2" tabindex="0">読み方と語源</a></li><li><a href="#toc3" tabindex="0">構文と引数の説明</a></li></ol></li><li><a href="#toc4" tabindex="0">SPLIT関数の基本的な使い方</a></li><li><a href="#toc5" tabindex="0">第3引数の使いどころ（各文字で分割するか）</a><ol><li><a href="#toc6" tabindex="0">TRUE（デフォルト）の動作</a></li><li><a href="#toc7" tabindex="0">FALSEにした場合の動作</a></li></ol></li><li><a href="#toc8" tabindex="0">実務で使える活用例</a><ol><li><a href="#toc9" tabindex="0">カンマ区切りデータの分割</a></li><li><a href="#toc10" tabindex="0">スラッシュ区切りの日付を年月日に分解</a></li><li><a href="#toc11" tabindex="0">メールアドレスから@より前を取り出す</a></li></ol></li><li><a href="#toc12" tabindex="0">ARRAYFORMULAとの組み合わせで一括処理</a></li><li><a href="#toc13" tabindex="0">TEXTJOINとの相互変換（分割と結合）</a></li><li><a href="#toc14" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc15" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">SPLIT関数の基本的な使い方（スプレッドシート）</span></h2>



<p class="wp-block-paragraph">Googleスプレッドシートで「カンマ区切りのデータを列ごとに分けたい」「名前を姓と名に分割したい」と思ったことはありませんか?</p>



<p class="wp-block-paragraph">ExcelならCtrl+Eのフラッシュフィルや区切り位置機能が使えます。でもスプレッドシートにはその機能がなくて困りますよね。</p>



<p class="wp-block-paragraph">そんなときに便利なのが<strong>SPLIT関数</strong>です。区切り文字を指定するだけで、文字列をパッと分割してくれますよ。この記事ではSPLIT関数の基本から、ARRAYFORMULAとの一括処理やTEXTJOINとの相互変換まで解説します。</p>



<h3 class="wp-block-heading"><span id="toc2">読み方と語源</span></h3>



<p class="wp-block-paragraph">SPLIT関数の読み方は「スプリット」です。英語で「分割する」という意味があります。名前のとおり「文字列を分割する関数」と覚えてください。</p>



<p class="wp-block-paragraph">なおSPLIT関数はGoogleスプレッドシート独自の関数です。Excelには搭載されていません。Excel（Microsoft 365）ではTEXTSPLIT関数が同様の機能を持ちます。古いバージョンでは使えないので注意してくださいね。</p>



<h3 class="wp-block-heading"><span id="toc3">構文と引数の説明</span></h3>



<p class="wp-block-paragraph">SPLIT関数の構文はこちらです。</p>



<pre class="wp-block-code"><code>=SPLIT(テキスト, 区切り文字, [各文字で分割], [空のテキストを削除])</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th></tr></thead><tbody><tr><td>テキスト</td><td>必須</td><td>分割したい文字列またはセル参照</td></tr><tr><td>区切り文字</td><td>必須</td><td>分割の基準となる文字（&#8221;,&#8221;や&#8221;/&#8221;など）</td></tr><tr><td>各文字で分割</td><td>省略可</td><td>TRUE（デフォルト）: 各文字で分割 / FALSE: 文字列全体で分割</td></tr><tr><td>空のテキストを削除</td><td>省略可</td><td>TRUE（デフォルト）: 空の結果を除外 / FALSE: 空セルも保持</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">SPLIT関数は結果を<strong>右方向に自動展開</strong>します。分割後の値が隣のセルに順番に入る仕組みです。</p>



<h2 class="wp-block-heading"><span id="toc4">SPLIT関数の基本的な使い方</span></h2>



<p class="wp-block-paragraph">まずはシンプルな例から見てみましょう。A1に「東京,大阪,名古屋,福岡」と入っているとします。</p>



<pre class="wp-block-code"><code>=SPLIT(A1, &quot;,&quot;)</code></pre>



<p class="wp-block-paragraph">結果はこうなります。</p>



<figure class="wp-block-table"><table><thead><tr><th>B1</th><th>C1</th><th>D1</th><th>E1</th></tr></thead><tbody><tr><td>東京</td><td>大阪</td><td>名古屋</td><td>福岡</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">カンマを区切り文字に指定しただけで、4つの都市名がB1からE1に分割されました。数式を入れたセルから右に向かって結果が展開されるのがポイントです。</p>



<p class="wp-block-paragraph">スペース区切りのデータも同じ要領で分割できます。</p>



<pre class="wp-block-code"><code>=SPLIT(&quot;田中 太郎&quot;, &quot; &quot;)
→ 「田中」と「太郎」が2つのセルに分かれる</code></pre>



<p class="wp-block-paragraph">フルネームを姓と名に分けたいときに便利ですよ。</p>



<h2 class="wp-block-heading"><span id="toc5">第3引数の使いどころ（各文字で分割するか）</span></h2>



<p class="wp-block-paragraph">SPLIT関数でいちばん分かりにくいのが第3引数です。ここをしっかり押さえておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc6">TRUE（デフォルト）の動作</span></h3>



<p class="wp-block-paragraph">第3引数がTRUEのとき、区切り文字の<strong>1文字ずつ</strong>が区切りとして扱われます。</p>



<pre class="wp-block-code"><code>=SPLIT(&quot;2026/03-19&quot;, &quot;/-&quot;)</code></pre>



<p class="wp-block-paragraph">この場合「/」と「-」のどちらでも分割されます。</p>



<figure class="wp-block-table"><table><thead><tr><th>結果1</th><th>結果2</th><th>結果3</th></tr></thead><tbody><tr><td>2026</td><td>03</td><td>19</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">複数の区切り文字を一度に指定できるので便利ですよ。データの形式がバラバラなときに重宝します。</p>



<h3 class="wp-block-heading"><span id="toc7">FALSEにした場合の動作</span></h3>



<p class="wp-block-paragraph">第3引数をFALSEにすると、区切り文字の<strong>文字列全体</strong>を1つの区切りとして扱います。</p>



<pre class="wp-block-code"><code>=SPLIT(&quot;りんご::みかん::ぶどう&quot;, &quot;::&quot;, FALSE)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>結果1</th><th>結果2</th><th>結果3</th></tr></thead><tbody><tr><td>りんご</td><td>みかん</td><td>ぶどう</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「::」という2文字の文字列で分割されました。FALSEを指定しないと「:」1文字ずつで分割されて意図しない結果になります。</p>



<p class="wp-block-paragraph"><strong>使い分けの目安をまとめます。</strong></p>



<figure class="wp-block-table"><table><thead><tr><th>場面</th><th>第3引数</th><th>理由</th></tr></thead><tbody><tr><td>カンマ・スラッシュなど1文字の区切り</td><td>TRUE（省略可）</td><td>デフォルトで問題なし</td></tr><tr><td>「, 」（カンマ+スペース）で区切り</td><td>FALSE</td><td>「,」と「 」が別々に扱われるのを防ぐ</td></tr><tr><td>「::」「->」など2文字以上の区切り</td><td>FALSE</td><td>文字列全体を1つの区切りにする</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc8">実務で使える活用例</span></h2>



<p class="wp-block-paragraph">ここからは仕事で使える具体的な例を紹介します。</p>



<h3 class="wp-block-heading"><span id="toc9">カンマ区切りデータの分割</span></h3>



<p class="wp-block-paragraph">CSVデータを貼り付けたとき、1つのセルに「商品A,100,個」のように入ることがあります。</p>



<pre class="wp-block-code"><code>=SPLIT(A2, &quot;,&quot;)</code></pre>



<p class="wp-block-paragraph">これだけで「商品A」「100」「個」が別々のセルに分かれます。大量のCSVデータを整理するときの第一歩ですよ。</p>



<h3 class="wp-block-heading"><span id="toc10">スラッシュ区切りの日付を年月日に分解</span></h3>



<p class="wp-block-paragraph">「2026/03/19」のような日付文字列を年・月・日に分けたい場合です。</p>



<pre class="wp-block-code"><code>=SPLIT(A2, &quot;/&quot;)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>年</th><th>月</th><th>日</th></tr></thead><tbody><tr><td>2026</td><td>03</td><td>19</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">分割後の値は文字列になります。数値として使いたい場合はVALUE関数（文字列を数値に変換する関数）で変換してください。</p>



<h3 class="wp-block-heading"><span id="toc11">メールアドレスから@より前を取り出す</span></h3>



<p class="wp-block-paragraph">「user@example.com」からユーザー名だけを取り出すケースです。</p>



<pre class="wp-block-code"><code>=SPLIT(A2, &quot;@&quot;)</code></pre>



<p class="wp-block-paragraph">1つ目のセルに「user」、2つ目に「example.com」が入ります。<a href="https://mashukabu.com/spreadsheet-find-function/">FIND関数</a>とLEFT関数を組み合わせる方法もありますが、SPLIT関数のほうがシンプルですね。</p>



<h2 class="wp-block-heading"><span id="toc12">ARRAYFORMULAとの組み合わせで一括処理</span></h2>



<p class="wp-block-paragraph">SPLIT関数は1つのセルに対して処理を行います。「複数行のデータを一括で分割したい」と思うかもしれませんね。</p>



<p class="wp-block-paragraph">実はSPLIT関数は直接ARRAYFORMULAに対応していません。複数行を一括処理するには、各行にSPLIT関数をコピーするのがいちばん確実です。</p>



<p class="wp-block-paragraph">B2セルに以下の数式を入れて、下方向にコピーしてください。</p>



<pre class="wp-block-code"><code>=SPLIT(A2, &quot;,&quot;)</code></pre>



<p class="wp-block-paragraph">A2からA10にデータがあるなら、B2からB10にコピーするだけです。スプレッドシートはCtrl+Dで下方向にコピーできますよ。</p>



<p class="wp-block-paragraph">ただし行数が多い場合は、ARRAYFORMULA + MID + FIND を組み合わせた方法や、Google Apps Scriptを使う方法もあります。シンプルな用途ならコピーで十分です。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>分割結果の列数がバラバラだと、隣のセルにあるデータを上書きすることがあります。右方向に十分な空きセルを確保しておきましょう。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc13">TEXTJOINとの相互変換（分割と結合）</span></h2>



<p class="wp-block-paragraph">SPLIT関数と<a href="https://mashukabu.com/spreadsheet-textjoin-function/">TEXTJOIN関数</a>は「分割」と「結合」の逆の関係にあります。セットで覚えておくと便利ですよ。</p>



<figure class="wp-block-table"><table><thead><tr><th>操作</th><th>関数</th><th>例</th></tr></thead><tbody><tr><td>分割</td><td>SPLIT</td><td>「東京,大阪,名古屋」→ 3つのセルに分割</td></tr><tr><td>結合</td><td>TEXTJOIN</td><td>3つのセルを → 「東京,大阪,名古屋」に結合</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">実際に相互変換してみましょう。</p>



<p class="wp-block-paragraph"><strong>分割（SPLIT）:</strong></p>



<pre class="wp-block-code"><code>=SPLIT(&quot;東京,大阪,名古屋&quot;, &quot;,&quot;)
→ B1:「東京」, C1:「大阪」, D1:「名古屋」</code></pre>



<p class="wp-block-paragraph"><strong>結合（TEXTJOIN）:</strong></p>



<pre class="wp-block-code"><code>=TEXTJOIN(&quot;,&quot;, TRUE, B1:D1)
→ 「東京,大阪,名古屋」</code></pre>



<p class="wp-block-paragraph">同じ区切り文字（カンマ）を使えば、元の形に戻せます。データの分割と結合を行き来する場面で活躍しますよ。</p>



<p class="wp-block-paragraph">なお、区切り文字なしで単純に結合したいだけなら<a href="https://mashukabu.com/spreadsheet-concat-function/">CONCAT関数</a>がシンプルです。用途に応じて使い分けてくださいね。</p>



<h2 class="wp-block-heading"><span id="toc14">よくあるエラーと対処法</span></h2>



<p class="wp-block-paragraph">SPLIT関数で発生しやすいエラーをまとめます。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#VALUE!</td><td>区切り文字が空文字（&#8221;&#8221;）</td><td>区切り文字に1文字以上を指定する</td></tr><tr><td>#REF!</td><td>分割結果が隣のセルのデータを上書きしようとした</td><td>右方向に十分な空きセルを確保する</td></tr><tr><td>分割されない</td><td>全角・半角の不一致（「,」と「，」など）</td><td>区切り文字の全角・半角を確認する</td></tr><tr><td>余分な空白が残る</td><td>区切り文字の前後にスペースがある</td><td>TRIM関数で前後の空白を削除してからSPLITする</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">特に多いのが全角・半角の不一致です。データの入力元によって全角カンマ「，」と半角カンマ「,」が混在していることがあります。第3引数をTRUEにして両方を区切り文字に指定するのがおすすめですよ。</p>



<pre class="wp-block-code"><code>=SPLIT(A2, &quot;,，&quot;)</code></pre>



<p class="wp-block-paragraph">これで全角カンマと半角カンマのどちらでも分割できます。</p>



<h2 class="wp-block-heading"><span id="toc15">まとめ</span></h2>



<p class="wp-block-paragraph">スプレッドシートのSPLIT関数の使い方を振り返りましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>内容</th></tr></thead><tbody><tr><td>読み方</td><td>スプリット</td></tr><tr><td>機能</td><td>文字列を区切り文字で分割して複数セルに展開</td></tr><tr><td>構文</td><td>=SPLIT(テキスト, 区切り文字, [各文字で分割], [空のテキストを削除])</td></tr><tr><td>第3引数</td><td>TRUE: 各文字で分割 / FALSE: 文字列全体で分割</td></tr><tr><td>対になる関数</td><td>TEXTJOIN（結合）</td></tr><tr><td>注意点</td><td>Excelには非搭載（スプレッドシート独自関数）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">カンマ区切りデータの分割から日付の分解、メールアドレスの分離まで使える場面はたくさんあります。<a href="https://mashukabu.com/spreadsheet-textjoin-function/">TEXTJOIN関数</a>との相互変換もセットで覚えておくと、文字列操作の幅がグッと広がりますよ。</p>



<p class="wp-block-paragraph">文字列を途中から取り出したいときは<a href="https://mashukabu.com/spreadsheet-mid-function/">MID関数</a>、特定の文字の位置を調べたいときは<a href="https://mashukabu.com/spreadsheet-find-function/">FIND関数</a>も合わせてチェックしてみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-split-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのVALUE関数の使い方｜文字列を数値に変換する方法</title>
		<link>https://mashukabu.com/spreadsheet-value-function/</link>
					<comments>https://mashukabu.com/spreadsheet-value-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 19 Mar 2026 09:20:57 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[CSV]]></category>
		<category><![CDATA[DATEVALUE]]></category>
		<category><![CDATA[VALUE関数]]></category>
		<category><![CDATA[エラー対処]]></category>
		<category><![CDATA[数値変換]]></category>
		<category><![CDATA[文字列変換]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4274</guid>

					<description><![CDATA[スプレッドシートのVALUE関数を使えば、CSVや外部システム由来の「文字列数値」をSUM・VLOOKUPで使える数値に変換できます。*1・--との比較、日付変換の注意点、#VALUE!エラーの原因別チェックリストもまとめて解説。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">CSVをインポートしたらSUMで合計が出ない。見た目は数字なのに、計算に使えない。</p>



<p class="wp-block-paragraph">こうなると原因を探すだけで時間が取られますよね。実はCSVや外部システムから取り込んだ数字は「文字列」として扱われていることが多いんです。</p>



<p class="wp-block-paragraph">そんなときに使うのがVALUE関数です。文字列として格納された数字を、計算できる「数値」に一発変換してくれます。</p>



<p class="wp-block-paragraph">この記事では、スプレッドシートのVALUE関数の基本から<code>*1</code>・<code>--</code>との違い、エラー別の対処法まで解説します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-7" checked><label class="toc-title" for="toc-checkbox-7">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">VALUE関数とは？文字列を数値に変換する関数</a></li><li><a href="#toc2" tabindex="0">VALUE関数の基本的な使い方</a><ol><li><a href="#toc3" tabindex="0">構文と引数</a></li><li><a href="#toc4" tabindex="0">使用例：CSVデータの文字列数値を合計できるようにする</a></li></ol></li><li><a href="#toc5" tabindex="0">文字列→数値変換の3つの方法を比較｜VALUE・*1・&#8211;</a><ol><li><a href="#toc6" tabindex="0">3つの比較表</a></li></ol></li><li><a href="#toc7" tabindex="0">実務でよくある場面別の使い方</a><ol><li><a href="#toc8" tabindex="0">CSVインポートデータがSUMできない</a></li><li><a href="#toc9" tabindex="0">TEXT関数で変換した文字列を数値に戻す</a></li><li><a href="#toc10" tabindex="0">文字列形式の日付をシリアル値に変換する</a></li></ol></li><li><a href="#toc11" tabindex="0">#VALUE!エラーの原因と対処法</a><ol><li><a href="#toc12" tabindex="0">全角数字が混入している</a></li><li><a href="#toc13" tabindex="0">通貨記号・単位が含まれている</a></li><li><a href="#toc14" tabindex="0">英字や記号が混入している</a></li><li><a href="#toc15" tabindex="0">見えないスペース・制御文字がある</a></li><li><a href="#toc16" tabindex="0">IFERRORで安全に変換する</a></li></ol></li><li><a href="#toc17" tabindex="0">日付文字列の変換にはDATEVALUEも検討</a></li><li><a href="#toc18" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">VALUE関数とは？文字列を数値に変換する関数</span></h2>



<p class="wp-block-paragraph">VALUE関数（読み方: バリュー関数）は、<strong>文字列を数値に変換する関数</strong>です。</p>



<p class="wp-block-paragraph">名前は英語の「value（値）」からきています。Googleスプレッドシートでは「他の表計算アプリケーションとの互換性のために用意された関数」と説明されています。</p>



<p class="wp-block-paragraph">VALUE関数で変換できる文字列は次の5種類です。</p>



<ul class="wp-block-list"><li>半角数字の文字列（例: &#8220;123&#8221;、&#8221;1.5&#8243;）</li><li>カンマ区切りの数値（例: &#8220;1,234&#8221;）</li><li>パーセント文字列（例: &#8220;75%&#8221;）→ 0.75に変換</li><li>日付文字列（例: &#8220;2024/3/15&#8243;）→ シリアル値に変換</li><li>時刻文字列（例: &#8220;12:30:00&#8243;）→ 0〜1の小数に変換</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>シリアル値とは、日付や時刻を数値で表したものです。日付は1899年12月30日を起点にした通し番号、時刻は1日を1とした小数で表されます。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc2">VALUE関数の基本的な使い方</span></h2>



<h3 class="wp-block-heading"><span id="toc3">構文と引数</span></h3>



<pre class="wp-block-code"><code>=VALUE(テキスト)</code></pre>



<p class="wp-block-paragraph">引数はひとつだけです。変換したい文字列をカッコの中に入れます。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>テキスト</td><td>必須</td><td>数値に変換したい文字列、またはセル参照</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc4">使用例：CSVデータの文字列数値を合計できるようにする</span></h3>



<p class="wp-block-paragraph">CSVインポートで取り込んだ売上データがA列に入っているとします。見た目は数字ですが、セルの左寄せになっていて文字列扱いです。</p>



<pre class="wp-block-code"><code>=VALUE(A2)</code></pre>



<p class="wp-block-paragraph">A2が「12500」という文字列なら、結果は数値の12500です。これでSUMやVLOOKUPの対象として使えるようになります。</p>



<p class="wp-block-paragraph">カンマ付きの文字列もそのまま変換できます。</p>



<pre class="wp-block-code"><code>=VALUE(&quot;1,234&quot;)     → 1234
=VALUE(&quot;75%&quot;)       → 0.75
=VALUE(&quot;2024/3/15&quot;) → 45366（日付のシリアル値）</code></pre>



<h2 class="wp-block-heading"><span id="toc5">文字列→数値変換の3つの方法を比較｜VALUE・*1・&#8211;</span></h2>



<p class="wp-block-paragraph">スプレッドシートで文字列を数値に変換する方法は、VALUE関数だけではありません。<code>*1</code>（1を掛ける）や<code>--</code>（二重マイナス）も使えます。</p>



<h3 class="wp-block-heading"><span id="toc6">3つの比較表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>方法</th><th>書き方</th><th>特徴</th><th>日付・時刻文字列</th><th>主な用途</th></tr></thead><tbody><tr><td>VALUE関数</td><td><code>=VALUE(A1)</code></td><td>意図が明確で読みやすい</td><td>変換できる</td><td>文字列→数値の汎用変換</td></tr><tr><td>*1（乗算）</td><td><code>=A1*1</code></td><td>短く書ける</td><td>エラーになる場合あり</td><td>数値文字列のかんたん変換</td></tr><tr><td>&#8211;（二重マイナス）</td><td><code>=--A1</code></td><td>配列数式でよく使う</td><td>エラーになる場合あり</td><td>TRUE/FALSE→1/0の変換</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><code>*1</code>と<code>--</code>は短く書けて便利です。ただし日付や時刻の文字列はエラーになることがあります。</p>



<p class="wp-block-paragraph">VALUE関数なら日付・時刻の文字列もシリアル値に変換できます。「何の文字列が入っているかわからない」ときはVALUE関数が安全です。</p>



<p class="wp-block-paragraph"><code>--</code>は主にIF関数やCOUNTIF関数の条件結果（TRUE/FALSE）を1/0に変換する用途で使われます。文字列の数値変換にも使えますが、本来の用途はブール値変換です。</p>



<h2 class="wp-block-heading"><span id="toc7">実務でよくある場面別の使い方</span></h2>



<h3 class="wp-block-heading"><span id="toc8">CSVインポートデータがSUMできない</span></h3>



<p class="wp-block-paragraph">もっとも多いパターンです。CSVや外部システムから貼り付けたデータは文字列になりがちです。</p>



<p class="wp-block-paragraph">SUM関数で合計しても「0」になったら、文字列が原因かもしれません。セルが左寄せになっていないか確認してみてください。</p>



<pre class="wp-block-code"><code>=VALUE(A2)</code></pre>



<p class="wp-block-paragraph">B列にVALUE関数を入れて数値に変換し、SUMで集計すればOKです。</p>



<p class="wp-block-paragraph">データが大量にあるときは、B2に数式を入れてからB列全体にコピーしましょう。変換後の値だけ残したい場合は、B列をコピーして「値のみ貼り付け」すると数式が消えてすっきりします。</p>



<h3 class="wp-block-heading"><span id="toc9">TEXT関数で変換した文字列を数値に戻す</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-text-function/">TEXT関数</a>で日付や数値を表示用に整えたあと、その値を再び計算に使いたいことがあります。</p>



<pre class="wp-block-code"><code>=TEXT(45366, &quot;YYYY/MM/DD&quot;)  → &quot;2024/03/15&quot;（文字列）
=VALUE(&quot;2024/03/15&quot;)         → 45366（シリアル値に戻る）</code></pre>



<p class="wp-block-paragraph">TEXT関数の結果は文字列です。計算に使うにはVALUE関数で数値に戻す必要があります。</p>



<h3 class="wp-block-heading"><span id="toc10">文字列形式の日付をシリアル値に変換する</span></h3>



<p class="wp-block-paragraph">外部システムから取り込んだ日付が「2024/3/15」のように文字列で入っていることがあります。このままでは日付の計算ができません。</p>



<pre class="wp-block-code"><code>=VALUE(A2)</code></pre>



<p class="wp-block-paragraph">A2が「2024/3/15」なら、シリアル値（整数）が返ります。あとはセルの表示形式を「日付」に変更すれば、見た目も日付になります。</p>



<h2 class="wp-block-heading"><span id="toc11">#VALUE!エラーの原因と対処法</span></h2>



<p class="wp-block-paragraph">VALUE関数で変換できない文字列を渡すと#VALUE!エラーが出ます。原因は大きく5つです。</p>



<h3 class="wp-block-heading"><span id="toc12">全角数字が混入している</span></h3>



<p class="wp-block-paragraph">Googleスプレッドシートでは全角数字を変換できません。「１２３」のような全角数字は#VALUE!エラーになります。</p>



<pre class="wp-block-code"><code>=VALUE(&quot;１２３&quot;)  → #VALUE!エラー</code></pre>



<p class="wp-block-paragraph">ASC関数で半角に変換してからVALUE関数に渡しましょう。</p>



<pre class="wp-block-code"><code>=VALUE(ASC(A1))</code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>ExcelのVALUE関数は全角数字もそのまま変換できます。スプレッドシートではASC関数との組み合わせが必須です。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc13">通貨記号・単位が含まれている</span></h3>



<p class="wp-block-paragraph">「100円」「50個」のように単位付きの文字列は変換できません。</p>



<pre class="wp-block-code"><code>=VALUE(&quot;100円&quot;)  → #VALUE!エラー</code></pre>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-substitute-function/">SUBSTITUTE関数</a>で単位を除去してから変換します。</p>



<pre class="wp-block-code"><code>=VALUE(SUBSTITUTE(A1, &quot;円&quot;, &quot;&quot;))</code></pre>



<h3 class="wp-block-heading"><span id="toc14">英字や記号が混入している</span></h3>



<p class="wp-block-paragraph">「123abc」のように英字が混じった文字列も変換できません。</p>



<pre class="wp-block-code"><code>=VALUE(&quot;123abc&quot;)  → #VALUE!エラー</code></pre>



<p class="wp-block-paragraph">SUBSTITUTE関数で英字部分を除去するか、そもそも英字が混入しないよう入力規則で防ぐのが根本解決です。</p>



<h3 class="wp-block-heading"><span id="toc15">見えないスペース・制御文字がある</span></h3>



<p class="wp-block-paragraph">見た目は数字なのにエラーが出るときは、スペースや制御文字が混入している可能性があります。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-trim-function/">TRIM関数</a>とCLEAN関数で前処理してから変換しましょう。</p>



<pre class="wp-block-code"><code>=VALUE(TRIM(CLEAN(A1)))</code></pre>



<p class="wp-block-paragraph">TRIM関数は余分なスペースを除去します。CLEAN関数は印刷できない制御文字を除去します。両方組み合わせるとほとんどのケースに対応できます。</p>



<h3 class="wp-block-heading"><span id="toc16">IFERRORで安全に変換する</span></h3>



<p class="wp-block-paragraph">変換できない文字列が混在しているときは、IFERRORで囲むとエラーを回避できます。</p>



<pre class="wp-block-code"><code>=IFERROR(VALUE(A1), &quot;&quot;)</code></pre>



<p class="wp-block-paragraph">エラーのときは空白を返します。これなら大量データを一括変換しても、エラーで止まることがありません。</p>



<p class="wp-block-paragraph">原因別の対処法をまとめます。</p>



<figure class="wp-block-table"><table><thead><tr><th>原因</th><th>例</th><th>対処法</th></tr></thead><tbody><tr><td>全角数字</td><td>&#8220;１２３&#8221;</td><td><code>=VALUE(ASC(A1))</code></td></tr><tr><td>単位付き</td><td>&#8220;100円&#8221;、&#8221;50個&#8221;</td><td><code>=VALUE(SUBSTITUTE(A1,"円",""))</code></td></tr><tr><td>英字混在</td><td>&#8220;123abc&#8221;</td><td><code>=VALUE(SUBSTITUTE(A1,"abc",""))</code> または入力規則で防ぐ</td></tr><tr><td>スペース・制御文字</td><td>&#8221; 123 &#8220;</td><td><code>=VALUE(TRIM(CLEAN(A1)))</code></td></tr><tr><td>複数の原因が重なる</td><td>&#8220;　１００円&#8221;</td><td><code>=VALUE(SUBSTITUTE(ASC(TRIM(A1)),"円",""))</code></td></tr><tr><td>原因不明</td><td>—</td><td><code>=IFERROR(VALUE(A1),"")</code> で回避</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc17">日付文字列の変換にはDATEVALUEも検討</span></h2>



<p class="wp-block-paragraph">VALUE関数は日付文字列もシリアル値に変換できます。ただし、日付専用のDATEVALUE関数もあります。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>入力</th><th>出力</th><th>使う場面</th></tr></thead><tbody><tr><td>VALUE</td><td>数値/日付/時刻すべて</td><td>数値（シリアル値含む）</td><td>入力の形式が不明なとき</td></tr><tr><td>DATEVALUE</td><td>日付文字列のみ</td><td>日付のシリアル値</td><td>確実に日付とわかっているとき</td></tr></tbody></table></figure>



<pre class="wp-block-code"><code>=VALUE(&quot;2024/3/15&quot;)      → 45366
=DATEVALUE(&quot;2024/3/15&quot;)  → 45366</code></pre>



<p class="wp-block-paragraph">結果は同じです。ただしDATEVALUE関数を使うと「この列は日付データ」という意図が数式を見た人に伝わります。確実に日付とわかっている列にはDATEVALUEを使うのがおすすめです。</p>



<p class="wp-block-paragraph">一方、数値も日付も混在している列にはVALUE関数が向いています。どちらの形式でも変換してくれるからです。</p>



<h2 class="wp-block-heading"><span id="toc18">まとめ</span></h2>



<p class="wp-block-paragraph">VALUE関数は、文字列として格納された数字を計算できる数値に変換する関数です。</p>



<p class="wp-block-paragraph">ポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=VALUE(テキスト)</code> の1引数だけ</li><li>CSVインポートでSUMが効かないときの定番の解決策</li><li><code>*1</code>や<code>--</code>と違い、日付・時刻の文字列もシリアル値に変換できる</li><li>全角数字はASC関数、単位付きは<a href="https://mashukabu.com/spreadsheet-substitute-function/">SUBSTITUTE関数</a>で前処理</li><li>#VALUE!エラーはIFERRORで回避できる</li><li>日付専用の変換にはDATEVALUE関数も検討</li></ul>



<p class="wp-block-paragraph">まずは <code>=VALUE(A2)</code> でCSVデータの文字列数値を変換するところから試してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-value-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのLOWER関数の使い方｜大文字を小文字に一括変換する方法</title>
		<link>https://mashukabu.com/excel-function-howto-use-lower/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-lower/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 07 May 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[CSV]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[LOWER関数]]></category>
		<category><![CDATA[PROPER関数]]></category>
		<category><![CDATA[UPPER関数]]></category>
		<category><![CDATA[データクレンジング]]></category>
		<category><![CDATA[文字列関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=1858</guid>

					<description><![CDATA[ExcelのLOWER関数で英字を小文字に一括変換する方法をわかりやすく解説。VLOOKUPが大文字・小文字の不一致で失敗するケースの解決法や、CSVデータのクレンジングフロー、UPPER・PROPER・ASCとの使い分けも紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「メールアドレスの大文字・小文字がバラバラで見づらい&#8230;」。<br>こんな状態だと、照合やデータ連携でミスが起きやすいですよね。<br>手作業で1つずつ直していたら、日が暮れてしまいます。</p>



<p class="wp-block-paragraph">ExcelのLOWER関数を使えば、大文字のアルファベットを一括で小文字に変換できます。<br>この記事では、基本の書き方から実務で使えるデータクレンジング、他の関数との組み合わせまで紹介します。<br><a href="https://mashukabu.com/excel-function-howto-use-upper/">UPPER関数</a>や<a href="https://mashukabu.com/excel-function-howto-use-proper/">PROPER関数</a>との違いもまとめました。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-8" checked><label class="toc-title" for="toc-checkbox-8">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">LOWER関数とは？</a><ol><li><a href="#toc2" tabindex="0">書式と引数</a></li><li><a href="#toc3" tabindex="0">LOWER関数が変換するもの・しないもの</a></li></ol></li><li><a href="#toc4" tabindex="0">LOWER関数の基本的な使い方</a><ol><li><a href="#toc5" tabindex="0">セル参照で変換する</a></li><li><a href="#toc6" tabindex="0">直接文字列を入力して変換する</a></li><li><a href="#toc7" tabindex="0">変換結果を値として貼り付ける方法</a></li></ol></li><li><a href="#toc8" tabindex="0">LOWER関数の実務活用パターン</a><ol><li><a href="#toc9" tabindex="0">メールアドレスを小文字に統一する</a></li><li><a href="#toc10" tabindex="0">EXACT関数と組み合わせて大文字・小文字を無視して比較する</a></li><li><a href="#toc11" tabindex="0">TRIM・SUBSTITUTEと組み合わせてCSVクレンジングする</a></li><li><a href="#toc12" tabindex="0">IF関数で小文字チェックする</a></li><li><a href="#toc13" tabindex="0">CONCAT関数でIDを生成する</a></li></ol></li><li><a href="#toc14" tabindex="0">LOWER・UPPER・PROPERの使い分け</a><ol><li><a href="#toc15" tabindex="0">文字変換関数の一覧比較表</a></li></ol></li><li><a href="#toc16" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc17" tabindex="0">まとめ</a><ol><li><a href="#toc18" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">LOWER関数とは？</span></h2>



<p class="wp-block-paragraph">LOWER（ロウワー）関数は、文字列中のアルファベットを<strong>すべて小文字に変換</strong>する関数です。<br>英語の「lower（下の）」が名前の由来になっています。</p>



<p class="wp-block-paragraph">たとえば「EXCEL」を渡すと「excel」が返ります。<br>メールアドレスやURLの表記を小文字に統一したいときに便利です。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>LOWER関数はExcelの基本関数です。バージョンを問わず、すべてのExcel（Microsoft 365・Web版も含む）で使えます。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc2">書式と引数</span></h3>



<pre class="wp-block-code"><code>=LOWER(文字列)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th></tr></thead><tbody><tr><td>文字列</td><td>必須</td><td>小文字に変換したい文字列またはセル参照</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">引数は1つだけのシンプルな関数です。<br>セル参照か、ダブルクォーテーションで囲んだ文字列を指定します。</p>



<h3 class="wp-block-heading"><span id="toc3">LOWER関数が変換するもの・しないもの</span></h3>



<p class="wp-block-paragraph">LOWER関数はアルファベット専用の関数です。<br>変換対象と対象外を整理しておきましょう。</p>



<ul class="wp-block-list"><li><strong>半角アルファベット</strong>: ABC → abc（変換される）</li><li><strong>全角アルファベット</strong>: ＡＢＣ → ａｂｃ（変換される）</li><li><strong>数字・記号</strong>: 123、@、- → そのまま（変換されない）</li><li><strong>カタカナ・漢字</strong>: エクセル、関数 → そのまま（変換されない）</li><li><strong>すでに小文字</strong>: abc → abc（そのまま返る）</li></ul>



<p class="wp-block-paragraph">全角の大文字アルファベットも小文字に変換できる点は覚えておくと便利です。</p>



<h2 class="wp-block-heading"><span id="toc4">LOWER関数の基本的な使い方</span></h2>



<h3 class="wp-block-heading"><span id="toc5">セル参照で変換する</span></h3>



<p class="wp-block-paragraph">セルA2に「BIZ-TACTICS」と入っている場合、次のように書きます。</p>



<pre class="wp-block-code"><code>=LOWER(A2)</code></pre>



<p class="wp-block-paragraph">結果は「biz-tactics」です。<br>ハイフンはアルファベットではないため、そのまま残ります。</p>



<h3 class="wp-block-heading"><span id="toc6">直接文字列を入力して変換する</span></h3>



<p class="wp-block-paragraph">セルを使わず、文字列を直接指定することもできます。</p>



<pre class="wp-block-code"><code>=LOWER(&quot;HELLO WORLD&quot;)</code></pre>



<p class="wp-block-paragraph">結果は「hello world」です。<br>スペースや数字が含まれていても、エラーにはなりません。</p>



<p class="wp-block-paragraph">日本語が混在していても大丈夫です。</p>



<pre class="wp-block-code"><code>=LOWER(&quot;EXCEL入門&quot;)</code></pre>



<p class="wp-block-paragraph">結果は「excel入門」になります。<br>アルファベット部分だけが小文字に変換されます。</p>



<h3 class="wp-block-heading"><span id="toc7">変換結果を値として貼り付ける方法</span></h3>



<p class="wp-block-paragraph">LOWER関数の結果は数式です。<br>元のセルを削除すると、参照エラーになってしまいます。</p>



<p class="wp-block-paragraph">変換結果を固定するには「値の貼り付け」を使います。</p>



<ol class="wp-block-list"><li>LOWER関数で変換したセル範囲をコピーする</li><li>貼り付け先を右クリックし「形式を選択して貼り付け」を選ぶ</li><li>「値」を選んで貼り付ける</li></ol>



<p class="wp-block-paragraph">これで数式が消え、変換後の文字列だけが残ります。<br>元データを削除しても安全です。</p>



<h2 class="wp-block-heading"><span id="toc8">LOWER関数の実務活用パターン</span></h2>



<h3 class="wp-block-heading"><span id="toc9">メールアドレスを小文字に統一する</span></h3>



<p class="wp-block-paragraph">メールアドレスが「User@Example.COM」のように大文字混じりで入力されていませんか？<br>表示がバラバラだと、見栄えも悪く照合時に不一致の原因になります。</p>



<p class="wp-block-paragraph">LOWER関数で小文字に統一しましょう。</p>



<pre class="wp-block-code"><code>=LOWER(A2)</code></pre>



<p class="wp-block-paragraph">A列のメールアドレスをすべて小文字に揃えるだけで、データの品質がぐっと上がります。<br>外部システムへの連携時にも、表記ゆれによるトラブルを防げますよ。</p>



<h3 class="wp-block-heading"><span id="toc10">EXACT関数と組み合わせて大文字・小文字を無視して比較する</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-exact/">EXACT関数</a>は大文字と小文字を区別して比較する関数です。<br>「ABC」と「abc」を比較するとFALSEが返ります。</p>



<p class="wp-block-paragraph">逆に、大文字・小文字を無視して比較したい場面もありますよね。<br>そんなときは、両方をLOWERで揃えてからEXACTに渡します。</p>



<pre class="wp-block-code"><code>=EXACT(LOWER(A2), LOWER(B2))</code></pre>



<p class="wp-block-paragraph">A2が「Excel」、B2が「excel」でもTRUEになります。<br>ケースの違いを除外して、純粋に文字列の一致だけを確認できます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>ちなみに<a href="https://mashukabu.com/excel-function-howto-use-vlookup/">VLOOKUP関数</a>は大文字・小文字を区別しません。「abc」と「ABC」は同じ値として扱われます。そのため、VLOOKUPの検索精度を上げる目的でLOWER変換する必要はありません。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc11">TRIM・SUBSTITUTEと組み合わせてCSVクレンジングする</span></h3>



<p class="wp-block-paragraph">外部システムからCSVで取り込んだデータは厄介です。<br>大文字・小文字の混在、全角スペース、余計な空白が入り混じっていることが多いですよね。</p>



<p class="wp-block-paragraph">LOWER関数と<a href="https://mashukabu.com/excel-function-howto-use-trim/">TRIM関数</a>の組み合わせが定番です。</p>



<pre class="wp-block-code"><code>=LOWER(TRIM(A2))</code></pre>



<p class="wp-block-paragraph">TRIMで余分なスペースを除去し、LOWERで小文字に統一します。<br>たった1行で、2つのクレンジング処理を同時にこなせます。</p>



<p class="wp-block-paragraph">さらに全角スペースも処理したいなら、<a href="https://mashukabu.com/excel-function-howto-use-substitute/">SUBSTITUTE関数</a>を加えます。</p>



<pre class="wp-block-code"><code>=LOWER(TRIM(SUBSTITUTE(A2, &quot;　&quot;, &quot; &quot;)))</code></pre>



<p class="wp-block-paragraph">この数式は3段階で処理しています。</p>



<ol class="wp-block-list"><li><strong>SUBSTITUTE</strong>: 全角スペースを半角スペースに置換</li><li><strong>TRIM</strong>: 余分な半角スペースを除去</li><li><strong>LOWER</strong>: アルファベットを小文字に統一</li></ol>



<p class="wp-block-paragraph">CSV取り込み直後に隣の列へこの数式を入れて、まとめてクレンジングするのがおすすめです。<br>処理後は「値の貼り付け」で数式を消しておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc12">IF関数で小文字チェックする</span></h3>



<p class="wp-block-paragraph">「入力されたアドレスがすべて小文字かどうか」を確認したい場面もあります。<br><a href="https://mashukabu.com/excel-function-howto-use-if/">IF関数</a>と組み合わせると、簡単にチェックできます。</p>



<pre class="wp-block-code"><code>=IF(A2=LOWER(A2), &quot;OK&quot;, &quot;小文字にしてください&quot;)</code></pre>



<p class="wp-block-paragraph">A2の値とLOWER変換後の値を比較しています。<br>一致すれば元から小文字なので「OK」、違えば大文字が混在している証拠です。</p>



<p class="wp-block-paragraph">入力規則のチェック用として活用してみてください。</p>



<h3 class="wp-block-heading"><span id="toc13">CONCAT関数でIDを生成する</span></h3>



<p class="wp-block-paragraph">部署コードと連番を結合して、小文字のIDを作りたいことがあります。<br><a href="https://mashukabu.com/excel-function-howto-use-concat/">CONCAT関数</a>と組み合わせましょう。</p>



<pre class="wp-block-code"><code>=LOWER(CONCAT(A2, &quot;-&quot;, B2))</code></pre>



<p class="wp-block-paragraph">A2が「SALES」、B2が「001」なら、結果は「sales-001」です。<br>結合と小文字変換を1つの数式でまとめて処理できます。</p>



<h2 class="wp-block-heading"><span id="toc14">LOWER・UPPER・PROPERの使い分け</span></h2>



<p class="wp-block-paragraph">Excelには、アルファベットのケースを変換する関数が3つあります。</p>



<h3 class="wp-block-heading"><span id="toc15">文字変換関数の一覧比較表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>動作</th><th>変換例（元: EXCEL Function）</th><th>主な用途</th></tr></thead><tbody><tr><td><strong>LOWER</strong></td><td>すべて小文字に変換</td><td>excel function</td><td>メールアドレス・URLの統一</td></tr><tr><td><strong><a href="https://mashukabu.com/excel-function-howto-use-upper/">UPPER</a></strong></td><td>すべて大文字に変換</td><td>EXCEL FUNCTION</td><td>商品コード・管理番号の統一</td></tr><tr><td><strong><a href="https://mashukabu.com/excel-function-howto-use-proper/">PROPER</a></strong></td><td>単語の先頭だけ大文字</td><td>Excel Function</td><td>人名・タイトルの整形</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">使い分けのポイントはシンプルです。</p>



<ul class="wp-block-list"><li><strong>全部小文字</strong>に揃えたい → LOWER関数</li><li><strong>全部大文字</strong>に揃えたい → <a href="https://mashukabu.com/excel-function-howto-use-upper/">UPPER関数</a></li><li><strong>先頭だけ大文字</strong>にしたい → <a href="https://mashukabu.com/excel-function-howto-use-proper/">PROPER関数</a></li></ul>



<p class="wp-block-paragraph">メールアドレスやURLはLOWER、商品コードやIDはUPPER、人名はPROPERが定番です。</p>



<p class="wp-block-paragraph">また、全角・半角の変換が必要な場合は<a href="https://mashukabu.com/excel-function-howto-use-asc/">ASC関数</a>や<a href="https://mashukabu.com/excel-function-howto-use-jis/">JIS関数</a>も合わせて覚えておきましょう。</p>



<h2 class="wp-block-heading"><span id="toc16">よくあるエラーと対処法</span></h2>



<p class="wp-block-paragraph">LOWER関数はシンプルな関数なので、エラーが起きるケースは限られています。</p>



<figure class="wp-block-table"><table><thead><tr><th>症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>変換されない</td><td>引数が数値のみ</td><td>数値はアルファベットではないため正常動作。変換対象外です</td></tr><tr><td>#NAME?</td><td>関数名のスペルミス</td><td>「LOWE」「LOWR」になっていないか確認してください</td></tr><tr><td>#VALUE!</td><td>配列の書き方が非対応</td><td>単一セル参照に変更するか、スピル対応の書き方にしましょう</td></tr><tr><td>全角文字が変換されない</td><td>対象は全角アルファベットのみ</td><td>全角アルファベット（Ａ〜Ｚ）は変換されます。全角カタカナ・漢字は変換対象外です</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>LOWER関数は数値や日本語を渡してもエラーになりません。変換対象のアルファベットがなければ、入力値がそのまま返ります。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc17">まとめ</span></h2>



<p class="wp-block-paragraph">LOWER関数は <code>=LOWER(文字列)</code> と書くだけで、アルファベットをすべて小文字に変換できる関数です。</p>



<ul class="wp-block-list"><li>引数は<strong>文字列</strong>の1つだけ</li><li>半角だけでなく、<strong>全角アルファベットも小文字に変換</strong>できる</li><li>数字・記号・日本語は変換されずにそのまま残る</li><li>メールアドレスやURLの<strong>表記統一</strong>に便利</li><li>CSV取り込み後は<a href="https://mashukabu.com/excel-function-howto-use-trim/">TRIM関数</a>・<a href="https://mashukabu.com/excel-function-howto-use-substitute/">SUBSTITUTE関数</a>との組み合わせでクレンジング</li><li>大文字変換は<a href="https://mashukabu.com/excel-function-howto-use-upper/">UPPER関数</a>、先頭大文字は<a href="https://mashukabu.com/excel-function-howto-use-proper/">PROPER関数</a>を使い分けましょう</li></ul>



<h3 class="wp-block-heading"><span id="toc18">関連記事</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-upper/">ExcelのUPPER関数の使い方｜小文字・大文字を一括変換する方法</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-proper/">ExcelのPROPER関数の使い方｜単語の先頭を大文字に変換する方法</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-exact/">ExcelのEXACT関数の使い方｜2つの文字列を正確に比較する方法</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-substitute/">ExcelのSUBSTITUTE関数の使い方｜文字列を置き換える方法</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-trim/">ExcelのTRIM関数の使い方｜余分なスペースを一括削除する方法</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-if/">ExcelのIF関数の使い方｜条件分岐の基本から応用まで解説</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-concat/">ExcelのCONCAT関数の使い方｜複数の文字列をまとめて結合する方法</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-asc/">ExcelのASC関数の使い方｜全角を半角に一括変換する方法</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-jis/">JIS関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-vlookup/">ExcelのVLOOKUP関数の使い方｜データ検索の基本</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-text/">ExcelのTEXT関数の使い方｜表示形式を自由に指定して文字列に変換する方法</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-lower/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのUPPER関数の使い方｜小文字・大文字を一括変換する方法</title>
		<link>https://mashukabu.com/excel-function-howto-use-upper/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-upper/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 05 May 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[CSV]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[LOWER関数]]></category>
		<category><![CDATA[PROPER関数]]></category>
		<category><![CDATA[UPPER関数]]></category>
		<category><![CDATA[データクレンジング]]></category>
		<category><![CDATA[文字列関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=1837</guid>

					<description><![CDATA[ExcelのUPPER関数で英字を大文字に一括変換する方法をわかりやすく解説。VLOOKUPが大文字・小文字の不一致で失敗するケースの解決法や、CSVデータのクレンジングフロー、LOWER・PROPER・ASCとの使い分けも紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「商品コードの大文字・小文字がバラバラで見づらい…」。<br>こんな状態だと、目視チェックやデータ連携でミスが起きやすいですよね。<br>手作業で1つずつ直していたら、日が暮れてしまいます。</p>



<p class="wp-block-paragraph">ExcelのUPPER関数を使えば、小文字のアルファベットを一括で大文字に変換できます。<br>この記事では、基本の書き方から実務で使えるデータクレンジング、他の関数との組み合わせまで紹介します。<br><a href="https://mashukabu.com/excel-function-howto-use-lower/">LOWER関数</a>や<a href="https://mashukabu.com/excel-function-howto-use-proper/">PROPER関数</a>との違いもまとめました。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-9" checked><label class="toc-title" for="toc-checkbox-9">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">UPPER関数とは？</a><ol><li><a href="#toc2" tabindex="0">書式と引数</a></li><li><a href="#toc3" tabindex="0">UPPER関数が変換するもの・しないもの</a></li></ol></li><li><a href="#toc4" tabindex="0">UPPER関数の基本的な使い方</a><ol><li><a href="#toc5" tabindex="0">セル参照で変換する</a></li><li><a href="#toc6" tabindex="0">直接文字列を入力して変換する</a></li><li><a href="#toc7" tabindex="0">変換結果を値として貼り付ける方法</a></li></ol></li><li><a href="#toc8" tabindex="0">UPPER関数の実務活用パターン</a><ol><li><a href="#toc9" tabindex="0">商品コードを大文字に統一する</a></li><li><a href="#toc10" tabindex="0">EXACT関数と組み合わせて大文字・小文字を無視して比較する</a></li><li><a href="#toc11" tabindex="0">TRIM・SUBSTITUTEと組み合わせてCSVクレンジングする</a></li><li><a href="#toc12" tabindex="0">IF関数で大文字チェックする</a></li><li><a href="#toc13" tabindex="0">CONCAT関数でコードを生成する</a></li></ol></li><li><a href="#toc14" tabindex="0">UPPER・LOWER・PROPERの使い分け</a><ol><li><a href="#toc15" tabindex="0">文字変換関数の一覧比較表</a></li></ol></li><li><a href="#toc16" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc17" tabindex="0">まとめ</a><ol><li><a href="#toc18" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">UPPER関数とは？</span></h2>



<p class="wp-block-paragraph">UPPER（アッパー）関数は、文字列中のアルファベットを<strong>すべて大文字に変換</strong>する関数です。<br>英語の「upper（上の）」が名前の由来になっています。</p>



<p class="wp-block-paragraph">たとえば「excel」を渡すと「EXCEL」が返ります。<br>商品コードや管理番号の表記を大文字に統一したいときに便利です。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>UPPER関数はExcelの基本関数です。バージョンを問わず、すべてのExcel（Microsoft 365・Web版も含む）で使えます。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc2">書式と引数</span></h3>



<pre class="wp-block-code"><code>=UPPER(文字列)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th></tr></thead><tbody><tr><td>文字列</td><td>必須</td><td>大文字に変換したい文字列またはセル参照</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">引数は1つだけのシンプルな関数です。<br>セル参照か、ダブルクォーテーションで囲んだ文字列を指定します。</p>



<h3 class="wp-block-heading"><span id="toc3">UPPER関数が変換するもの・しないもの</span></h3>



<p class="wp-block-paragraph">UPPER関数はアルファベット専用の関数です。<br>変換対象と対象外を整理しておきましょう。</p>



<ul class="wp-block-list"><li><strong>半角アルファベット</strong>: abc → ABC（変換される）</li><li><strong>全角アルファベット</strong>: ａｂｃ → ＡＢＣ（変換される）</li><li><strong>数字・記号</strong>: 123、@、- → そのまま（変換されない）</li><li><strong>カタカナ・漢字</strong>: エクセル、関数 → そのまま（変換されない）</li><li><strong>すでに大文字</strong>: ABC → ABC（そのまま返る）</li></ul>



<p class="wp-block-paragraph">全角の小文字アルファベットも大文字に変換できる点は覚えておくと便利です。</p>



<h2 class="wp-block-heading"><span id="toc4">UPPER関数の基本的な使い方</span></h2>



<h3 class="wp-block-heading"><span id="toc5">セル参照で変換する</span></h3>



<p class="wp-block-paragraph">セルA2に「biz-tactics」と入っている場合、次のように書きます。</p>



<pre class="wp-block-code"><code>=UPPER(A2)</code></pre>



<p class="wp-block-paragraph">結果は「BIZ-TACTICS」です。<br>ハイフンはアルファベットではないため、そのまま残ります。</p>



<h3 class="wp-block-heading"><span id="toc6">直接文字列を入力して変換する</span></h3>



<p class="wp-block-paragraph">セルを使わず、文字列を直接指定することもできます。</p>



<pre class="wp-block-code"><code>=UPPER(&quot;hello world&quot;)</code></pre>



<p class="wp-block-paragraph">結果は「HELLO WORLD」です。<br>スペースや数字が含まれていても、エラーにはなりません。</p>



<p class="wp-block-paragraph">日本語が混在していても大丈夫です。</p>



<pre class="wp-block-code"><code>=UPPER(&quot;Excel入門&quot;)</code></pre>



<p class="wp-block-paragraph">結果は「EXCEL入門」になります。<br>アルファベット部分だけが大文字に変換されます。</p>



<h3 class="wp-block-heading"><span id="toc7">変換結果を値として貼り付ける方法</span></h3>



<p class="wp-block-paragraph">UPPER関数の結果は数式です。<br>元のセルを削除すると、参照エラーになってしまいます。</p>



<p class="wp-block-paragraph">変換結果を固定するには「値の貼り付け」を使います。</p>



<ol class="wp-block-list"><li>UPPER関数で変換したセル範囲をコピーする</li><li>貼り付け先を右クリックし「形式を選択して貼り付け」を選ぶ</li><li>「値」を選んで貼り付ける</li></ol>



<p class="wp-block-paragraph">これで数式が消え、変換後の文字列だけが残ります。<br>元データを削除しても安全です。</p>



<h2 class="wp-block-heading"><span id="toc8">UPPER関数の実務活用パターン</span></h2>



<h3 class="wp-block-heading"><span id="toc9">商品コードを大文字に統一する</span></h3>



<p class="wp-block-paragraph">商品コードが「abc-001」「Abc-002」のように混在していませんか？<br>表記がバラバラだと、目視確認やデータ連携でミスが起きやすくなります。</p>



<p class="wp-block-paragraph">UPPER関数で大文字に統一しましょう。</p>



<pre class="wp-block-code"><code>=UPPER(A2)</code></pre>



<p class="wp-block-paragraph">A列のコードをすべて大文字に揃えるだけで、データの品質がぐっと上がります。<br>外部システムへの連携時にも、表記ゆれによるトラブルを防げますよ。</p>



<h3 class="wp-block-heading"><span id="toc10">EXACT関数と組み合わせて大文字・小文字を無視して比較する</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-exact/">EXACT関数</a>は大文字と小文字を区別して比較する関数です。<br>「ABC」と「abc」を比較するとFALSEが返ります。</p>



<p class="wp-block-paragraph">逆に、大文字・小文字を無視して比較したい場面もありますよね。<br>そんなときは、両方をUPPERで揃えてからEXACTに渡します。</p>



<pre class="wp-block-code"><code>=EXACT(UPPER(A2), UPPER(B2))</code></pre>



<p class="wp-block-paragraph">A2が「Excel」、B2が「excel」でもTRUEになります。<br>ケースの違いを除外して、純粋に文字列の一致だけを確認できます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>ちなみに<a href="https://mashukabu.com/excel-function-howto-use-vlookup/">VLOOKUP関数</a>は大文字・小文字を区別しません。「abc」と「ABC」は同じ値として扱われます。そのため、VLOOKUPの検索精度を上げる目的でUPPER変換する必要はありません。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc11">TRIM・SUBSTITUTEと組み合わせてCSVクレンジングする</span></h3>



<p class="wp-block-paragraph">外部システムからCSVで取り込んだデータは厄介です。<br>大文字・小文字の混在、全角スペース、余計な空白が入り混じっていることが多いですよね。</p>



<p class="wp-block-paragraph">UPPER関数と<a href="https://mashukabu.com/excel-function-howto-use-trim/">TRIM関数</a>の組み合わせが定番です。</p>



<pre class="wp-block-code"><code>=UPPER(TRIM(A2))</code></pre>



<p class="wp-block-paragraph">TRIMで余分なスペースを除去し、UPPERで大文字に統一します。<br>たった1行で、2つのクレンジング処理を同時にこなせます。</p>



<p class="wp-block-paragraph">さらに全角スペースも処理したいなら、<a href="https://mashukabu.com/excel-function-howto-use-substitute/">SUBSTITUTE関数</a>を加えます。</p>



<pre class="wp-block-code"><code>=UPPER(TRIM(SUBSTITUTE(A2, &quot;　&quot;, &quot; &quot;)))</code></pre>



<p class="wp-block-paragraph">この数式は3段階で処理しています。</p>



<ol class="wp-block-list"><li><strong>SUBSTITUTE</strong>: 全角スペースを半角スペースに置換</li><li><strong>TRIM</strong>: 余分な半角スペースを除去</li><li><strong>UPPER</strong>: アルファベットを大文字に統一</li></ol>



<p class="wp-block-paragraph">CSV取り込み直後に隣の列へこの数式を入れて、まとめてクレンジングするのがおすすめです。<br>処理後は「値の貼り付け」で数式を消しておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc12">IF関数で大文字チェックする</span></h3>



<p class="wp-block-paragraph">「入力されたコードがすべて大文字かどうか」を確認したい場面もあります。<br><a href="https://mashukabu.com/excel-function-howto-use-if/">IF関数</a>と組み合わせると、簡単にチェックできます。</p>



<pre class="wp-block-code"><code>=IF(A2=UPPER(A2), &quot;OK&quot;, &quot;大文字にしてください&quot;)</code></pre>



<p class="wp-block-paragraph">A2の値とUPPER変換後の値を比較しています。<br>一致すれば元から大文字なので「OK」、違えば小文字が混在している証拠です。</p>



<p class="wp-block-paragraph">入力規則のチェック用として活用してみてください。</p>



<h3 class="wp-block-heading"><span id="toc13">CONCAT関数でコードを生成する</span></h3>



<p class="wp-block-paragraph">部署コードと連番を結合して、大文字のIDを作りたいことがあります。<br><a href="https://mashukabu.com/excel-function-howto-use-concat/">CONCAT関数</a>と組み合わせましょう。</p>



<pre class="wp-block-code"><code>=UPPER(CONCAT(A2, &quot;-&quot;, B2))</code></pre>



<p class="wp-block-paragraph">A2が「sales」、B2が「001」なら、結果は「SALES-001」です。<br>結合と大文字変換を1つの数式でまとめて処理できます。</p>



<h2 class="wp-block-heading"><span id="toc14">UPPER・LOWER・PROPERの使い分け</span></h2>



<p class="wp-block-paragraph">Excelには、アルファベットのケースを変換する関数が3つあります。</p>



<h3 class="wp-block-heading"><span id="toc15">文字変換関数の一覧比較表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>動作</th><th>変換例（元: excel function）</th><th>主な用途</th></tr></thead><tbody><tr><td><strong>UPPER</strong></td><td>すべて大文字に変換</td><td>EXCEL FUNCTION</td><td>商品コード・管理番号の統一</td></tr><tr><td><strong><a href="https://mashukabu.com/excel-function-howto-use-lower/">LOWER</a></strong></td><td>すべて小文字に変換</td><td>excel function</td><td>メールアドレス・URLの統一</td></tr><tr><td><strong><a href="https://mashukabu.com/excel-function-howto-use-proper/">PROPER</a></strong></td><td>単語の先頭だけ大文字</td><td>Excel Function</td><td>人名・タイトルの整形</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">使い分けのポイントはシンプルです。</p>



<ul class="wp-block-list"><li><strong>全部大文字</strong>に揃えたい → UPPER関数</li><li><strong>全部小文字</strong>に揃えたい → <a href="https://mashukabu.com/excel-function-howto-use-lower/">LOWER関数</a></li><li><strong>先頭だけ大文字</strong>にしたい → <a href="https://mashukabu.com/excel-function-howto-use-proper/">PROPER関数</a></li></ul>



<p class="wp-block-paragraph">商品コードやIDはUPPER、メールアドレスはLOWER、人名はPROPERが定番です。</p>



<p class="wp-block-paragraph">また、全角・半角の変換が必要な場合は<a href="https://mashukabu.com/excel-function-howto-use-asc/">ASC関数</a>や<a href="https://mashukabu.com/excel-function-howto-use-jis/">JIS関数</a>も合わせて覚えておきましょう。</p>



<h2 class="wp-block-heading"><span id="toc16">よくあるエラーと対処法</span></h2>



<p class="wp-block-paragraph">UPPER関数はシンプルな関数なので、エラーが起きるケースは限られています。</p>



<figure class="wp-block-table"><table><thead><tr><th>症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>変換されない</td><td>引数が数値のみ</td><td>数値はアルファベットではないため正常動作。変換対象外です</td></tr><tr><td>#NAME?</td><td>関数名のスペルミス</td><td>「UPER」「UPPR」になっていないか確認してください</td></tr><tr><td>#VALUE!</td><td>配列の書き方が非対応</td><td>単一セル参照に変更するか、スピル対応の書き方にしましょう</td></tr><tr><td>全角文字が変換されない</td><td>対象は全角アルファベットのみ</td><td>全角アルファベット（ａ〜ｚ）は変換されます。全角カタカナ・漢字は変換対象外です</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>UPPER関数は数値や日本語を渡してもエラーになりません。変換対象のアルファベットがなければ、入力値がそのまま返ります。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc17">まとめ</span></h2>



<p class="wp-block-paragraph">UPPER関数は <code>=UPPER(文字列)</code> と書くだけで、アルファベットをすべて大文字に変換できる関数です。</p>



<ul class="wp-block-list"><li>引数は<strong>文字列</strong>の1つだけ</li><li>半角だけでなく、<strong>全角アルファベットも大文字に変換</strong>できる</li><li>数字・記号・日本語は変換されずにそのまま残る</li><li>商品コードや管理番号の<strong>表記統一</strong>に便利</li><li>CSV取り込み後は<a href="https://mashukabu.com/excel-function-howto-use-trim/">TRIM関数</a>・<a href="https://mashukabu.com/excel-function-howto-use-substitute/">SUBSTITUTE関数</a>との組み合わせでクレンジング</li><li>小文字変換は<a href="https://mashukabu.com/excel-function-howto-use-lower/">LOWER関数</a>、先頭大文字は<a href="https://mashukabu.com/excel-function-howto-use-proper/">PROPER関数</a>を使い分けましょう</li></ul>



<h3 class="wp-block-heading"><span id="toc18">関連記事</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-lower/">ExcelのLOWER関数の使い方｜アルファベットを小文字に変換する方法</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-proper/">ExcelのPROPER関数の使い方｜単語の先頭を大文字に変換する方法</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-exact/">ExcelのEXACT関数の使い方｜2つの文字列を正確に比較する方法</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-substitute/">ExcelのSUBSTITUTE関数の使い方｜文字列を置き換える方法</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-trim/">ExcelのTRIM関数の使い方｜余分なスペースを一括削除する方法</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-if/">ExcelのIF関数の使い方｜条件分岐の基本から応用まで解説</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-concat/">ExcelのCONCAT関数の使い方｜複数の文字列をまとめて結合する方法</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-asc/">ExcelのASC関数の使い方｜全角を半角に一括変換する方法</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-jis/">JIS関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-vlookup/">ExcelのVLOOKUP関数の使い方｜データ検索の基本</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-text/">ExcelのTEXT関数の使い方｜表示形式を自由に指定して文字列に変換する方法</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-upper/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
