<?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>多言語データ &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/%E5%A4%9A%E8%A8%80%E8%AA%9E%E3%83%87%E3%83%BC%E3%82%BF/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Tue, 26 May 2026 10:46:55 +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>多言語データ &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>ExcelのDETECTLANGUAGE関数の使い方｜セルの言語を自動判定する</title>
		<link>https://mashukabu.com/excel-function-howto-use-detectlanguage/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-detectlanguage/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 09 Apr 2026 04:10:46 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[DETECTLANGUAGE関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[FILTER関数]]></category>
		<category><![CDATA[IFERROR関数]]></category>
		<category><![CDATA[Microsoft 365]]></category>
		<category><![CDATA[SWITCH関数]]></category>
		<category><![CDATA[TRANSLATE関数]]></category>
		<category><![CDATA[データクレンジング]]></category>
		<category><![CDATA[多言語データ]]></category>
		<category><![CDATA[言語検出]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=5888</guid>

					<description><![CDATA[ExcelのDETECTLANGUAGE関数の使い方を初心者向けに解説します。構文・戻り値（ISO 639-1言語コード）の基本から、顧客リストの言語分類、多言語アンケートの振り分け、SWITCH関数との組み合わせで言語名を日本語表示する方法、TRANSLATE関数との連携で自動翻訳する手順まで、実務で使える数式を豊富に紹介。対応言語一覧・よくあるエラーと対処法・FAQも完備した完全ガイドです。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「海外の顧客から届いたメール、英語なのかスペイン語なのか見分けるだけでもひと苦労」「多言語アンケートの自由記述欄を言語別に集計したい」。グローバル業務を担当していると、こんな場面が増えていますよね。</p>



<p class="wp-block-paragraph">1件ずつ目視で判定するのは現実的ではありません。数百件のリストを前にため息が出てしまうのが正直なところです。</p>



<p class="wp-block-paragraph">そんなときに頼りになるのがExcelのDETECTLANGUAGE関数です。セルに入っている文字列を解析して、使われている言語を自動で判定してくれます。</p>



<p class="wp-block-paragraph">この記事では、ExcelのDETECTLANGUAGE関数の使い方を基本から実務の応用例まで解説します。SWITCH関数との組み合わせやTRANSLATE関数との連携、エラー対処やFAQまでまとめましたので、ぜひ参考にしてください。</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">ExcelのDETECTLANGUAGE関数とは？</a><ol><li><a href="#toc2" tabindex="0">どんなときに使う関数か</a></li><li><a href="#toc3" tabindex="0">利用条件（Microsoft 365が必須）</a></li><li><a href="#toc4" tabindex="0">似ている関数との違い</a></li></ol></li><li><a href="#toc5" tabindex="0">DETECTLANGUAGE関数の構文と戻り値</a><ol><li><a href="#toc6" tabindex="0">基本構文</a></li><li><a href="#toc7" tabindex="0">引数：テキスト</a></li><li><a href="#toc8" tabindex="0">戻り値：ISO 639-1 言語コード</a></li><li><a href="#toc9" tabindex="0">スピル機能でまとめて判定</a></li></ol></li><li><a href="#toc10" tabindex="0">Excel DETECTLANGUAGE関数の基本的な使い方</a><ol><li><a href="#toc11" tabindex="0">1つのセルの言語を判定する</a></li><li><a href="#toc12" tabindex="0">複数セルの言語を一括判定する</a></li><li><a href="#toc13" tabindex="0">IF関数と組み合わせて日本語か判定する</a></li><li><a href="#toc14" tabindex="0">直接文字列を渡してテストする</a></li><li><a href="#toc15" tabindex="0">判定結果と元の文字列を並べて確認する</a></li></ol></li><li><a href="#toc16" tabindex="0">実践的な使い方・応用例</a><ol><li><a href="#toc17" tabindex="0">グローバル顧客リストを言語別に分類する</a></li><li><a href="#toc18" tabindex="0">多言語アンケートを言語別に振り分ける</a></li><li><a href="#toc19" tabindex="0">FILTER関数と組み合わせて英語の行だけ抽出する</a></li><li><a href="#toc20" tabindex="0">TRANSLATE関数と連携して自動翻訳する</a></li><li><a href="#toc21" tabindex="0">IFERRORでエラー時のラベルを付ける</a></li><li><a href="#toc22" tabindex="0">条件付き書式で言語を色分けする</a></li><li><a href="#toc23" tabindex="0">Power Queryと組み合わせて定期処理を自動化する</a></li><li><a href="#toc24" tabindex="0">ピボットテーブルで言語別の傾向分析</a></li><li><a href="#toc25" tabindex="0">XLOOKUPで言語コード→言語名の変換テーブルを引く</a></li></ol></li><li><a href="#toc26" tabindex="0">短文・空白・数字のみセルでの挙動</a><ol><li><a href="#toc27" tabindex="0">空白セルを渡した場合</a></li><li><a href="#toc28" tabindex="0">数字だけのセル</a></li><li><a href="#toc29" tabindex="0">短すぎる文字列</a></li><li><a href="#toc30" tabindex="0">複数言語が混在した文字列</a></li><li><a href="#toc31" tabindex="0">記号や絵文字だけのセル</a></li></ol></li><li><a href="#toc32" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc33" tabindex="0">Text Too Long エラー</a></li><li><a href="#toc34" tabindex="0">Error in Value エラー</a></li><li><a href="#toc35" tabindex="0">Request Throttled エラー</a></li><li><a href="#toc36" tabindex="0">#NAME? エラー</a></li><li><a href="#toc37" tabindex="0">#BUSY! / #CONNECT! エラー</a></li><li><a href="#toc38" tabindex="0">#VALUE! エラー</a></li></ol></li><li><a href="#toc39" tabindex="0">DETECTLANGUAGE関数を使う際の注意点</a><ol><li><a href="#toc40" tabindex="0">クラウド経由でデータが送信される</a></li><li><a href="#toc41" tabindex="0">大量呼び出しはパフォーマンスに影響する</a></li><li><a href="#toc42" tabindex="0">判定結果は完全ではない</a></li><li><a href="#toc43" tabindex="0">Mac版・Web版の挙動差</a></li><li><a href="#toc44" tabindex="0">共有ブックでの再計算挙動</a></li><li><a href="#toc45" tabindex="0">バックアップを取ってから一括判定を流す</a></li></ol></li><li><a href="#toc46" tabindex="0">DETECTLANGUAGE関数が返す主な言語コード一覧</a><ol><li><a href="#toc47" tabindex="0">ビジネスでよく使う言語コード早見表</a></li><li><a href="#toc48" tabindex="0">言語コードを日本語名に変換する実用例</a></li><li><a href="#toc49" tabindex="0">IF関数で「対応言語かどうか」を判定する</a></li></ol></li><li><a href="#toc50" tabindex="0">よくある質問（FAQ）</a></li><li><a href="#toc51" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">DETECTLANGUAGE関数は、<strong>セルの文字列を解析して使われている言語を判定するExcelの関数</strong>です。読み方は「ディテクトランゲージ」で、判定結果はISO 639-1形式の2文字の言語コードで返ります。</p>



<p class="wp-block-paragraph">内部ではMicrosoft Translation Services（クラウドの翻訳サービス）を利用しているため、インターネット接続が必須です。簡単な単語から長文まで幅広い言語を判定してくれますよ。</p>



<p class="wp-block-paragraph">比較的新しい関数ですが、使い方はとてもシンプルです。引数は1つだけなので、初めてでも迷いません。</p>



<h3 class="wp-block-heading"><span id="toc2">どんなときに使う関数か</span></h3>



<p class="wp-block-paragraph">ExcelのDETECTLANGUAGE関数は次のような場面で活躍します。</p>



<ul class="wp-block-list"><li>グローバル顧客リストを言語別に分類したいとき</li><li>多言語アンケートの自由記述を言語別に振り分けたいとき</li><li>海外からの問い合わせメールを担当者別にアサインしたいとき</li><li>TRANSLATE関数（指定した言語に翻訳する関数）と組み合わせて多言語データを一括翻訳したいとき</li><li>SNSコメントやレビュー本文を地域別に集計したいとき</li><li>海外取引先から届くExcelシートの言語をチェックして自動仕分けしたいとき</li></ul>



<p class="wp-block-paragraph">「どの言語か分からないけどとりあえず仕分けたい」というシーンにぴったりの関数です。Google翻訳やDeepLに1件ずつコピペして調べていた作業が、関数1つで終わってしまいますよ。</p>



<h3 class="wp-block-heading"><span id="toc3">利用条件（Microsoft 365が必須）</span></h3>



<p class="wp-block-paragraph">DETECTLANGUAGE関数を使うには、Microsoft 365のサブスクリプションが必要です。永続ライセンス版のExcel 2019・Excel 2021・LTSC 2024では使えません。</p>



<p class="wp-block-paragraph">対応環境は次のとおりです。</p>



<ul class="wp-block-list"><li>Excel for Microsoft 365（Windows / Mac）</li><li>Excel for the web</li><li>Excel Mobile</li></ul>



<p class="wp-block-paragraph">また、裏側でクラウド翻訳サービスを呼び出す仕組みなので、<strong>インターネット接続が必須</strong>です。オフライン環境では動きませんので注意してください。</p>



<p class="wp-block-paragraph">お使いのバージョンが対応しているか、事前に確認しておきましょう。「ファイル → アカウント」で「Microsoft 365 Apps for &#8230;」と表示されていれば対応版です。</p>



<h3 class="wp-block-heading"><span id="toc4">似ている関数との違い</span></h3>



<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>DETECTLANGUAGE</td><td>文字列の言語を判定</td><td>ISO 639-1コード（例: <code>ja</code>）</td></tr><tr><td>TRANSLATE</td><td>指定言語に翻訳</td><td>翻訳後の文字列</td></tr><tr><td>PHONETIC</td><td>漢字のふりがな取得</td><td>カタカナ・ひらがな</td></tr><tr><td>UNICODE / UNICHAR</td><td>文字コード変換</td><td>数値・文字</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">DETECTLANGUAGEは「判定」専用、TRANSLATEは「変換」専用、と覚えておけば使い分けで迷いません。</p>



<h2 class="wp-block-heading"><span id="toc5">DETECTLANGUAGE関数の構文と戻り値</span></h2>



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



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



<p class="wp-block-paragraph">引数は1つだけ、判定したいテキストまたはセル参照を指定するだけです。とてもシンプルですね。</p>



<h3 class="wp-block-heading"><span id="toc7">引数：テキスト</span></h3>



<p class="wp-block-paragraph">言語を判定したい文字列、またはセル参照を指定します。</p>



<pre class="wp-block-code"><code>=DETECTLANGUAGE(&quot;Hello world&quot;)
=DETECTLANGUAGE(A2)</code></pre>



<p class="wp-block-paragraph">直接文字列を入れる場合はダブルクォーテーションで囲みます。実務ではセル参照を使うのが一般的ですよ。</p>



<p class="wp-block-paragraph">セル範囲を指定すると、スピル（数式が自動で配列に展開される機能）により一度に複数セルの判定ができます。</p>



<pre class="wp-block-code"><code>=DETECTLANGUAGE(A2:A20)</code></pre>



<p class="wp-block-paragraph">1つの数式で20件分の判定結果がB2:B20にずらっと表示されます。ループ処理を書く感覚で、しかも数式1つで済むのがうれしいですね。</p>



<h3 class="wp-block-heading"><span id="toc8">戻り値：ISO 639-1 言語コード</span></h3>



<p class="wp-block-paragraph">DETECTLANGUAGE関数の戻り値は、ISO 639-1という国際規格に基づく2文字の言語コードです。代表的なものをまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>言語コード</th><th>言語名</th><th>言語コード</th><th>言語名</th></tr></thead><tbody><tr><td><code>ja</code></td><td>日本語</td><td><code>pt</code></td><td>ポルトガル語</td></tr><tr><td><code>en</code></td><td>英語</td><td><code>ru</code></td><td>ロシア語</td></tr><tr><td><code>zh</code></td><td>中国語</td><td><code>ar</code></td><td>アラビア語</td></tr><tr><td><code>ko</code></td><td>韓国語</td><td><code>th</code></td><td>タイ語</td></tr><tr><td><code>es</code></td><td>スペイン語</td><td><code>vi</code></td><td>ベトナム語</td></tr><tr><td><code>fr</code></td><td>フランス語</td><td><code>id</code></td><td>インドネシア語</td></tr><tr><td><code>de</code></td><td>ドイツ語</td><td><code>nl</code></td><td>オランダ語</td></tr><tr><td><code>it</code></td><td>イタリア語</td><td><code>tr</code></td><td>トルコ語</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Microsoft Translation Servicesがサポートする100以上の言語に対応しています。メジャーな言語はほぼカバーされているので、実務で困ることはまずありませんよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>中国語の場合、繁体字と簡体字の区別は関数によっては <code>zh-Hans</code>（簡体字）<code>zh-Hant</code>（繁体字）のように細分化されることもあります。基本的には2文字コードで返ると覚えておけば大丈夫です。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc9">スピル機能でまとめて判定</span></h3>



<p class="wp-block-paragraph">セル範囲を引数に渡せば、1つの数式で複数行の判定結果を一気に取得できます。スピル対応関数の便利さを実感できる場面ですね。</p>



<pre class="wp-block-code"><code>=DETECTLANGUAGE(A2:A100)</code></pre>



<p class="wp-block-paragraph">B2セルにこの式を入れるだけで、B2:B100に判定結果が自動展開されます。Microsoft 365のスピル機能の真骨頂です。一括処理については <a href="https://mashukabu.com/excel-unique-filter-sort-sequence-spill/">Excelのスピル機能｜UNIQUE・FILTER・SORT・SEQUENCEで配列を自在に扱う</a> も合わせて読むと理解が深まりますよ。</p>



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



<p class="wp-block-paragraph">それでは実際に数式を組み立ててみましょう。</p>



<h3 class="wp-block-heading"><span id="toc11">1つのセルの言語を判定する</span></h3>



<p class="wp-block-paragraph">もっともシンプルな例です。A2セルの文字列の言語を判定します。</p>



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



<p class="wp-block-paragraph">A2が「こんにちは」なら <code>ja</code> 、「Hello」なら <code>en</code> 、「Hola」なら <code>es</code> が返ります。一瞬で判定してくれますよ。</p>



<h3 class="wp-block-heading"><span id="toc12">複数セルの言語を一括判定する</span></h3>



<p class="wp-block-paragraph">A2:A10に多言語のテキストが入っている場合、1つの数式で全行を判定できます。</p>



<pre class="wp-block-code"><code>=DETECTLANGUAGE(A2:A10)</code></pre>



<p class="wp-block-paragraph">B2セルにこの数式を入れるだけで、B2:B10に判定結果がスピルします。数百件あっても1つの数式で済むのが快適ですよ。</p>



<h3 class="wp-block-heading"><span id="toc13">IF関数と組み合わせて日本語か判定する</span></h3>



<p class="wp-block-paragraph">判定結果が日本語かどうかで分岐する例です。</p>



<pre class="wp-block-code"><code>=IF(DETECTLANGUAGE(A2)=&quot;ja&quot;, &quot;日本語&quot;, &quot;その他&quot;)</code></pre>



<p class="wp-block-paragraph">顧客リストから日本語のレコードだけを「日本語」としてマークし、それ以外を「その他」に振り分けます。日本語対応可能な担当者へのアサインに使えますね。</p>



<h3 class="wp-block-heading"><span id="toc14">直接文字列を渡してテストする</span></h3>



<p class="wp-block-paragraph">数式の動作を確認したいときは、直接文字列を渡すと手軽です。</p>



<pre class="wp-block-code"><code>=DETECTLANGUAGE(&quot;Bonjour le monde&quot;)</code></pre>



<p class="wp-block-paragraph">この例では <code>fr</code> （フランス語）が返ります。数式の挙動チェックにどうぞ。</p>



<h3 class="wp-block-heading"><span id="toc15">判定結果と元の文字列を並べて確認する</span></h3>



<p class="wp-block-paragraph">判定が正しいかひと目で確認したいときは、元の文字列と判定結果を並べる構成にすると便利です。</p>



<figure class="wp-block-table"><table><thead><tr><th>A列（本文）</th><th>B列（コード）</th></tr></thead><tbody><tr><td>お世話になっております</td><td>ja</td></tr><tr><td>Thank you for your support</td><td>en</td></tr><tr><td>감사합니다</td><td>ko</td></tr><tr><td>谢谢您的支持</td><td>zh</td></tr><tr><td>Vielen Dank</td><td>de</td></tr><tr><td>Cảm ơn bạn</td><td>vi</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">B2セルに <code>=DETECTLANGUAGE(A2)</code> と入力して下方向にコピーするか、 <code>=DETECTLANGUAGE(A2:A7)</code> でスピルさせれば完成です。</p>



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



<p class="wp-block-paragraph">ここからは実務で役立つ応用パターンを紹介します。</p>



<h3 class="wp-block-heading"><span id="toc17">グローバル顧客リストを言語別に分類する</span></h3>



<p class="wp-block-paragraph">海外の顧客から届いたお問い合わせ本文を、言語別に自動分類する例です。</p>



<p class="wp-block-paragraph">A列に問い合わせ本文、B列に判定結果、C列に日本語の言語名を表示します。</p>



<p class="wp-block-paragraph">B2セル:</p>



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



<p class="wp-block-paragraph">C2セル（SWITCH関数で日本語名に変換）:</p>



<pre class="wp-block-code"><code>=SWITCH(B2, &quot;ja&quot;,&quot;日本語&quot;, &quot;en&quot;,&quot;英語&quot;, &quot;zh&quot;,&quot;中国語&quot;, &quot;ko&quot;,&quot;韓国語&quot;, &quot;es&quot;,&quot;スペイン語&quot;, &quot;fr&quot;,&quot;フランス語&quot;, &quot;de&quot;,&quot;ドイツ語&quot;, &quot;その他&quot;)</code></pre>



<p class="wp-block-paragraph">SWITCH関数（複数の候補値を順にチェックして一致した値を返す関数）を使うと、言語コードを読みやすい日本語ラベルに変換できます。SWITCH関数の使い方は <a href="https://mashukabu.com/excel-function-howto-use-switch/">ExcelのSWITCH関数の使い方｜複数条件をスッキリ書く</a> も参考になりますよ。</p>



<figure class="wp-block-table"><table><thead><tr><th>A列（本文）</th><th>B列（コード）</th><th>C列（言語名）</th></tr></thead><tbody><tr><td>お世話になっております</td><td>ja</td><td>日本語</td></tr><tr><td>Thank you for your support</td><td>en</td><td>英語</td></tr><tr><td>感谢您的支持</td><td>zh</td><td>中国語</td></tr><tr><td>Merci beaucoup</td><td>fr</td><td>フランス語</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">IFSの代わりにSWITCHを使うと数式がスッキリしますよ。</p>



<h3 class="wp-block-heading"><span id="toc18">多言語アンケートを言語別に振り分ける</span></h3>



<p class="wp-block-paragraph">アンケートの自由記述欄を言語別にカウントする例です。COUNTIF関数と組み合わせます。</p>



<pre class="wp-block-code"><code>=COUNTIF(B2:B500, &quot;ja&quot;)</code></pre>



<p class="wp-block-paragraph">B列にDETECTLANGUAGE関数の結果を出しておけば、この数式で「日本語回答の件数」を集計できます。言語別の集計レポートがすぐに作れますよ。</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>ja（日本語）</td><td>312</td><td>62.4%</td></tr><tr><td>en（英語）</td><td>124</td><td>24.8%</td></tr><tr><td>zh（中国語）</td><td>38</td><td>7.6%</td></tr><tr><td>その他</td><td>26</td><td>5.2%</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">割合の計算には <code>=COUNTIF(B2:B500,"ja")/COUNTA(B2:B500)</code> を使えばOKです。</p>



<h3 class="wp-block-heading"><span id="toc19">FILTER関数と組み合わせて英語の行だけ抽出する</span></h3>



<p class="wp-block-paragraph">さらに便利なのがFILTER関数との組み合わせです。英語のレコードだけを別シートに抜き出すイメージです。</p>



<pre class="wp-block-code"><code>=FILTER(A2:C500, DETECTLANGUAGE(A2:A500)=&quot;en&quot;)</code></pre>



<p class="wp-block-paragraph">スピルで英語レコードが一気に展開されます。担当者別にシートを分けたいときに威力を発揮しますよ。FILTER関数の応用例は <a href="https://mashukabu.com/excel-function-howto-use-filter/">ExcelのFILTER関数の使い方｜条件に合うデータだけを抽出する</a> も役立ちますので合わせてどうぞ。</p>



<h3 class="wp-block-heading"><span id="toc20">TRANSLATE関数と連携して自動翻訳する</span></h3>



<p class="wp-block-paragraph">DETECTLANGUAGE関数の真価は、TRANSLATE関数（指定した言語に翻訳する関数）と組み合わせたときに発揮されます。</p>



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



<p class="wp-block-paragraph">この数式は「A2の言語を自動検出し、日本語に翻訳する」という意味です。送信元の言語が何であれ、すべて日本語に統一できます。</p>



<p class="wp-block-paragraph">多言語の顧客フィードバックを一括で日本語化するワークフローがこれ1本で完成しますよ。従来はGoogle翻訳やDeepLに1件ずつコピペしていた作業が、数式1つで終わります。詳しいTRANSLATE関数の使い方は <a href="https://mashukabu.com/excel-function-howto-use-translate/">ExcelのTRANSLATE関数の使い方｜セルの文章を自動翻訳する</a> を参照してください。</p>



<p class="wp-block-paragraph">実行イメージは次のとおりです。</p>



<figure class="wp-block-table"><table><thead><tr><th>A列（原文）</th><th>検出言語</th><th>TRANSLATE後（日本語）</th></tr></thead><tbody><tr><td>Thank you for your kind support</td><td>en</td><td>ご親切なサポートをありがとうございます</td></tr><tr><td>非常感谢您的合作</td><td>zh</td><td>ご協力に深く感謝いたします</td></tr><tr><td>Merci pour votre patience</td><td>fr</td><td>ご辛抱いただきありがとうございます</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">このパターンを応用すれば、社内会議資料の多言語化、海外SNSコメントの翻訳ダッシュボード、海外レビューの感情分析など、活用シーンは無限大ですよ。</p>



<h3 class="wp-block-heading"><span id="toc21">IFERRORでエラー時のラベルを付ける</span></h3>



<p class="wp-block-paragraph">短文や記号だけのセルでは判定に失敗することがあります。エラー時は「判定不可」と表示させましょう。</p>



<pre class="wp-block-code"><code>=IFERROR(DETECTLANGUAGE(A2), &quot;判定不可&quot;)</code></pre>



<p class="wp-block-paragraph">エラーで数式が止まらなくなるので、大量データの処理でも安心ですよ。IFERROR関数の詳しい使い方は <a href="https://mashukabu.com/excel-function-howto-use-iferror/">ExcelのIFERROR関数の使い方｜エラーをスマートに処理する</a> も参考にしてください。</p>



<h3 class="wp-block-heading"><span id="toc22">条件付き書式で言語を色分けする</span></h3>



<p class="wp-block-paragraph">判定結果に応じてセルを色分けすれば、ひと目で言語の分布が見えるダッシュボードが作れます。</p>



<ol class="wp-block-list"><li>B列の判定結果セルを範囲選択</li><li>「ホーム」→「条件付き書式」→「セルの強調表示ルール」→「文字列」を選択</li><li>「ja」と入力し、書式を赤に設定</li><li>同様に「en」を青、「zh」を緑、「ko」を黄など、言語ごとに色を割り当てる</li></ol>



<p class="wp-block-paragraph">これだけで、シートを開いた瞬間に「英語の問い合わせが多い」「最近スペイン語が増えてきた」といった傾向が直感的につかめます。</p>



<h3 class="wp-block-heading"><span id="toc23">Power Queryと組み合わせて定期処理を自動化する</span></h3>



<p class="wp-block-paragraph">DETECTLANGUAGE関数の結果列をPower Query側で読み込んでおけば、毎月のレポート更新時にワンクリックで言語別集計を最新化できます。</p>



<p class="wp-block-paragraph">数式のままだとセル数が多くなったときにクォータエラー（後述）に引っかかりやすいので、<strong>判定後に値貼り付けして固定</strong> → Power Queryで集計、というフローがおすすめです。</p>



<h3 class="wp-block-heading"><span id="toc24">ピボットテーブルで言語別の傾向分析</span></h3>



<p class="wp-block-paragraph">DETECTLANGUAGE関数で判定済みの列をベースに、ピボットテーブルを作れば月別・言語別のクロス集計が一瞬で出ます。</p>



<ul class="wp-block-list"><li>行: 受信月</li><li>列: 言語コード（ja / en / zh / fr / その他）</li><li>値: 件数</li></ul>



<p class="wp-block-paragraph">ピボット化しておけば、「先月から急に韓国語問い合わせが増えた」といった変化点をすぐ拾えますよ。マーケティング会議や四半期レビューで使える生きたデータになります。</p>



<h3 class="wp-block-heading"><span id="toc25">XLOOKUPで言語コード→言語名の変換テーブルを引く</span></h3>



<p class="wp-block-paragraph">SWITCH関数が長くなりすぎるのが気になるなら、別シートに変換テーブルを用意してXLOOKUP関数で引く方法もあります。</p>



<p class="wp-block-paragraph">別シートに次のような表を作ります。</p>



<figure class="wp-block-table"><table><thead><tr><th>code</th><th>name</th></tr></thead><tbody><tr><td>ja</td><td>日本語</td></tr><tr><td>en</td><td>英語</td></tr><tr><td>zh</td><td>中国語</td></tr><tr><td>ko</td><td>韓国語</td></tr><tr><td>es</td><td>スペイン語</td></tr><tr><td>fr</td><td>フランス語</td></tr><tr><td>de</td><td>ドイツ語</td></tr><tr><td>&#8230;</td><td>&#8230;</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">C2セルにこの数式を入れれば完成です。</p>



<pre class="wp-block-code"><code>=XLOOKUP(B2, 言語表!A:A, 言語表!B:B, &quot;その他&quot;)</code></pre>



<p class="wp-block-paragraph">新しい言語に対応したくなったら、変換テーブルに1行追加するだけ。数式を全行修正する必要がないので、メンテナンス性がぐっと上がりますよ。</p>



<h2 class="wp-block-heading"><span id="toc26">短文・空白・数字のみセルでの挙動</span></h2>



<p class="wp-block-paragraph">DETECTLANGUAGE関数にはいくつかクセがあります。実務で遭遇しやすいケースを押さえておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc27">空白セルを渡した場合</span></h3>



<p class="wp-block-paragraph">空白セルを渡すとエラーが返ります。IFERRORでラップするか、IF関数で事前にチェックしておきましょう。</p>



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



<p class="wp-block-paragraph">空白の場合は何も表示せず、値があるときだけ判定する形ですね。</p>



<h3 class="wp-block-heading"><span id="toc28">数字だけのセル</span></h3>



<p class="wp-block-paragraph">「12345」のように数字だけのセルは、言語判定ができず精度が落ちます。場合によっては英語と判定されたりエラーになったりします。</p>



<pre class="wp-block-code"><code>=IF(ISNUMBER(A2), &quot;数値&quot;, IFERROR(DETECTLANGUAGE(A2), &quot;判定不可&quot;))</code></pre>



<p class="wp-block-paragraph">ISNUMBER関数（セルが数値かを判定する関数）で事前にフィルタしておくと、無駄な呼び出しを減らせますよ。</p>



<h3 class="wp-block-heading"><span id="toc29">短すぎる文字列</span></h3>



<p class="wp-block-paragraph">1〜2文字だけのセルは、どの言語か特定しきれず誤判定になりやすいです。たとえば「OK」を渡すと英語と判定されますが、「あ」1文字だと判定がブレることがあります。</p>



<p class="wp-block-paragraph">実務では<strong>最低でも5〜10文字以上の文字列</strong>を渡すと安定した結果が得られますよ。</p>



<p class="wp-block-paragraph">LEN関数で文字数チェックを入れておくと安心です。</p>



<pre class="wp-block-code"><code>=IF(LEN(A2)&lt;5, &quot;判定保留&quot;, DETECTLANGUAGE(A2))</code></pre>



<p class="wp-block-paragraph">5文字未満なら「判定保留」と表示し、それ以外は判定する形ですね。</p>



<h3 class="wp-block-heading"><span id="toc30">複数言語が混在した文字列</span></h3>



<p class="wp-block-paragraph">「Hello こんにちは」のように複数言語が混ざっている場合、文字数の多い方、または先頭側の言語が返る傾向があります。混在データは事前に分割しておくのがおすすめです。</p>



<h3 class="wp-block-heading"><span id="toc31">記号や絵文字だけのセル</span></h3>



<p class="wp-block-paragraph">「!!!」「😀😀😀」のような記号や絵文字オンリーのセルは、ほぼ確実にエラーになります。これらは事前にフィルタしておくか、IFERRORでラップしておきましょう。</p>



<pre class="wp-block-code"><code>=IFERROR(DETECTLANGUAGE(A2), &quot;判定不可&quot;)</code></pre>



<p class="wp-block-paragraph">このひと手間で、大量データの処理がスムーズに進みますよ。</p>



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



<p class="wp-block-paragraph">DETECTLANGUAGE関数で表示されるエラーと対処法をまとめました。</p>



<h3 class="wp-block-heading"><span id="toc33">Text Too Long エラー</span></h3>



<p class="wp-block-paragraph"><strong>原因</strong>: 渡したテキストが長すぎる。Microsoft Translation Servicesが受け付ける文字数上限を超えています。</p>



<p class="wp-block-paragraph"><strong>対処法</strong>: LEFT関数で先頭500文字程度に切り詰めてから渡しましょう。</p>



<pre class="wp-block-code"><code>=DETECTLANGUAGE(LEFT(A2, 500))</code></pre>



<p class="wp-block-paragraph">言語判定は冒頭の文章だけでも十分精度が出るので、この方法で問題ありません。LEFT関数の詳しい使い方は <a href="https://mashukabu.com/excel-function-howto-use-left/">ExcelのLEFT関数の使い方｜文字列の先頭から指定文字数を取り出す</a> もチェックしてくださいね。</p>



<h3 class="wp-block-heading"><span id="toc34">Error in Value エラー</span></h3>



<p class="wp-block-paragraph"><strong>原因</strong>: 空白セルや非テキスト値（エラー値など）を渡した。</p>



<p class="wp-block-paragraph"><strong>対処法</strong>: IF関数で空白チェック、またはIFERRORでラップしましょう。</p>



<pre class="wp-block-code"><code>=IFERROR(DETECTLANGUAGE(A2), &quot;判定不可&quot;)</code></pre>



<h3 class="wp-block-heading"><span id="toc35">Request Throttled エラー</span></h3>



<p class="wp-block-paragraph"><strong>原因</strong>: 日次のクォータ（Microsoftが定めるリクエスト回数制限）を超えた。大量のセルに数式を貼り付けると発生しやすいです。</p>



<p class="wp-block-paragraph"><strong>対処法</strong>: 一度に処理する行数を分割するか、翌日にリトライしましょう。一括処理するときは値貼り付けで結果を固定しておくと安心ですよ。</p>



<pre class="wp-block-code"><code>判定 → 結果をコピー → 値のみ貼り付け</code></pre>



<p class="wp-block-paragraph">この流れで再計算を防げます。具体的な手順は次のとおりです。</p>



<ol class="wp-block-list"><li>B列にDETECTLANGUAGE関数を入れて判定実行</li><li>B列を選択し、Ctrl+C でコピー</li><li>同じB列で右クリック → 「値の貼り付け」を選択</li><li>数式が消え、結果の文字列だけが残る</li></ol>



<p class="wp-block-paragraph">これでファイルを開くたびに再計算が走る心配がなくなります。</p>



<h3 class="wp-block-heading"><span id="toc36">#NAME? エラー</span></h3>



<p class="wp-block-paragraph"><strong>原因</strong>: DETECTLANGUAGE関数に対応していないバージョンのExcelで使っている。またはスペルミス。</p>



<p class="wp-block-paragraph"><strong>対処法</strong>: Microsoft 365のサブスクリプションで最新版にアップデートしてください。Excel 2019・2021・LTSC 2024では使えません。</p>



<p class="wp-block-paragraph">「ファイル → アカウント → 更新オプション → 今すぐ更新」で最新ビルドに上げると、新関数が一気に利用可能になりますよ。</p>



<h3 class="wp-block-heading"><span id="toc37">#BUSY! / #CONNECT! エラー</span></h3>



<p class="wp-block-paragraph"><strong>原因</strong>: クラウドサービスへの接続が一時的に途切れた、または通信が遅延している。</p>



<p class="wp-block-paragraph"><strong>対処法</strong>: 数秒待ってからF9キーで再計算するか、シートを開き直してみましょう。それでも直らない場合はインターネット接続を確認してください。</p>



<h3 class="wp-block-heading"><span id="toc38">#VALUE! エラー</span></h3>



<p class="wp-block-paragraph"><strong>原因</strong>: 引数の型が想定外（配列の中にエラー値が混在しているケースなど）。</p>



<p class="wp-block-paragraph"><strong>対処法</strong>: 元データを見直し、エラー値や予期しない型のセルがないかチェックします。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>Text Too Long</td><td>文字数超過</td><td>LEFTで切り詰める</td></tr><tr><td>Error in Value</td><td>空白・非テキスト</td><td>IFERRORでラップ</td></tr><tr><td>Request Throttled</td><td>日次クォータ超過</td><td>分割処理・値貼り付け</td></tr><tr><td>#NAME?</td><td>非対応バージョン</td><td>Microsoft 365に更新</td></tr><tr><td>#BUSY! / #CONNECT!</td><td>通信エラー</td><td>再計算・接続確認</td></tr><tr><td>#VALUE!</td><td>引数の型不一致</td><td>元データを点検</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">エラーパターンは限られているので、落ち着いて対処すれば大丈夫ですよ。</p>



<h2 class="wp-block-heading"><span id="toc39">DETECTLANGUAGE関数を使う際の注意点</span></h2>



<p class="wp-block-paragraph">実務で運用するときに気をつけたいポイントをまとめます。</p>



<h3 class="wp-block-heading"><span id="toc40">クラウド経由でデータが送信される</span></h3>



<p class="wp-block-paragraph">DETECTLANGUAGE関数はMicrosoft Translation Services（クラウドサービス）にテキストを送って判定しています。つまり、<strong>判定対象の文字列が一度Microsoftのサーバーに送信される</strong>ということです。</p>



<p class="wp-block-paragraph">社外秘の機密文書や個人情報を含むセルにそのまま使うのは避けましょう。社内ポリシーで「クラウド翻訳サービスへのデータ送信禁止」となっている場合は、IT管理者に確認してから使ってくださいね。</p>



<h3 class="wp-block-heading"><span id="toc41">大量呼び出しはパフォーマンスに影響する</span></h3>



<p class="wp-block-paragraph">数千〜数万行に一度に数式を貼り付けると、リクエストが大量発生してExcelが固まることがあります。スピル範囲を絞るか、判定後すぐに値貼り付けで固定するのが安全です。</p>



<h3 class="wp-block-heading"><span id="toc42">判定結果は完全ではない</span></h3>



<p class="wp-block-paragraph">機械判定なので、まれに誤判定が発生します。重要な業務判断（契約書の翻訳など）に使う場合は、必ず人の目でレビューを入れるフローにしましょう。</p>



<h3 class="wp-block-heading"><span id="toc43">Mac版・Web版の挙動差</span></h3>



<p class="wp-block-paragraph">Mac版とWeb版のExcelでもDETECTLANGUAGE関数は使えますが、スピル展開のパフォーマンスやエラーメッセージの表示が微妙に異なることがあります。チーム内で環境が混在する場合は、事前に検証しておくと安心です。</p>



<h3 class="wp-block-heading"><span id="toc44">共有ブックでの再計算挙動</span></h3>



<p class="wp-block-paragraph">OneDrive上の共有ブックでDETECTLANGUAGE関数を使う場合、誰かがファイルを開くたびに再計算が走ってクォータを消費します。共有ブックでは「数式タブ → 計算方法の設定 → 手動」にしておくか、判定結果を値貼り付けで固定してから共有するのがおすすめです。</p>



<h3 class="wp-block-heading"><span id="toc45">バックアップを取ってから一括判定を流す</span></h3>



<p class="wp-block-paragraph">大量データに一気にDETECTLANGUAGE関数を適用すると、再計算が止まらず作業中のブックが固まることがあります。本番データに適用する前に、必ず別ファイルとしてバックアップを取っておきましょう。</p>



<p class="wp-block-paragraph">Ctrl + S で保存 → ファイル名末尾に <code>_backup</code> を付けて別名保存、というシンプルなルーチンで十分です。万一暴走しても元データに戻れる安心感は大きいですよ。</p>



<h2 class="wp-block-heading"><span id="toc46">DETECTLANGUAGE関数が返す主な言語コード一覧</span></h2>



<p class="wp-block-paragraph">DETECTLANGUAGE関数の戻り値はISO 639-1の2文字コードです。「<code>ja</code> なら日本語」とすぐ分かるものもあれば、「<code>nl</code> って何語だっけ？」と迷うものもありますよね。ここではビジネスでよく扱う20言語の早見表をまとめました。手元に置いておくと判定結果を読むときに便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc47">ビジネスでよく使う言語コード早見表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>言語コード</th><th>言語名</th><th>主な地域・用途</th></tr></thead><tbody><tr><td><code>ja</code></td><td>日本語</td><td>日本</td></tr><tr><td><code>en</code></td><td>英語</td><td>米国・英国・グローバル共通</td></tr><tr><td><code>zh</code></td><td>中国語</td><td>中国・台湾・香港</td></tr><tr><td><code>ko</code></td><td>韓国語</td><td>韓国</td></tr><tr><td><code>es</code></td><td>スペイン語</td><td>スペイン・中南米</td></tr><tr><td><code>fr</code></td><td>フランス語</td><td>フランス・カナダ・アフリカ一部</td></tr><tr><td><code>de</code></td><td>ドイツ語</td><td>ドイツ・オーストリア・スイス</td></tr><tr><td><code>it</code></td><td>イタリア語</td><td>イタリア</td></tr><tr><td><code>pt</code></td><td>ポルトガル語</td><td>ポルトガル・ブラジル</td></tr><tr><td><code>ru</code></td><td>ロシア語</td><td>ロシア・旧CIS諸国</td></tr><tr><td><code>ar</code></td><td>アラビア語</td><td>中東・北アフリカ</td></tr><tr><td><code>th</code></td><td>タイ語</td><td>タイ</td></tr><tr><td><code>vi</code></td><td>ベトナム語</td><td>ベトナム</td></tr><tr><td><code>id</code></td><td>インドネシア語</td><td>インドネシア</td></tr><tr><td><code>nl</code></td><td>オランダ語</td><td>オランダ・ベルギー</td></tr><tr><td><code>tr</code></td><td>トルコ語</td><td>トルコ</td></tr><tr><td><code>pl</code></td><td>ポーランド語</td><td>ポーランド</td></tr><tr><td><code>hi</code></td><td>ヒンディー語</td><td>インド</td></tr><tr><td><code>sv</code></td><td>スウェーデン語</td><td>スウェーデン</td></tr><tr><td><code>uk</code></td><td>ウクライナ語</td><td>ウクライナ</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">東アジア・欧米・東南アジアの主要言語を一通りカバーしています。Microsoft Translation Servicesは100以上の言語に対応していますが、実務で頻繁に登場するのはこのあたりに集約されますよ。</p>



<h3 class="wp-block-heading"><span id="toc48">言語コードを日本語名に変換する実用例</span></h3>



<p class="wp-block-paragraph">判定結果がコードのままだと、レポートに貼ったときに読み手が「<code>vi</code> って何語？」と止まってしまいます。SWITCH関数を使ってコードを日本語名に変換しておくと、誰が見てもひと目で分かる表になりますよ。</p>



<p class="wp-block-paragraph">B列にDETECTLANGUAGE関数の判定結果が入っているとして、C列に日本語名を表示する例です。</p>



<pre class="wp-block-code"><code>=SWITCH(B2,
  &quot;ja&quot;,&quot;日本語&quot;, &quot;en&quot;,&quot;英語&quot;, &quot;zh&quot;,&quot;中国語&quot;, &quot;ko&quot;,&quot;韓国語&quot;,
  &quot;es&quot;,&quot;スペイン語&quot;, &quot;fr&quot;,&quot;フランス語&quot;, &quot;de&quot;,&quot;ドイツ語&quot;, &quot;it&quot;,&quot;イタリア語&quot;,
  &quot;pt&quot;,&quot;ポルトガル語&quot;, &quot;ru&quot;,&quot;ロシア語&quot;, &quot;ar&quot;,&quot;アラビア語&quot;, &quot;th&quot;,&quot;タイ語&quot;,
  &quot;vi&quot;,&quot;ベトナム語&quot;, &quot;id&quot;,&quot;インドネシア語&quot;, &quot;nl&quot;,&quot;オランダ語&quot;, &quot;tr&quot;,&quot;トルコ語&quot;,
  &quot;その他&quot;)</code></pre>



<p class="wp-block-paragraph">SWITCH関数（複数の候補値を順にチェックして最初に一致した値を返す関数）なら、IF関数を何重にもネストせずスッキリ書けます。最後の引数「その他」は、表にない言語コードが返ってきたときの既定値です。詳しい使い方は <a href="https://mashukabu.com/excel-function-howto-use-switch/">ExcelのSWITCH関数の使い方｜複数条件をスッキリ書く</a> も参考になりますよ。</p>



<p class="wp-block-paragraph">実行すると次のような表になります。</p>



<figure class="wp-block-table"><table><thead><tr><th>A列（本文）</th><th>B列（コード）</th><th>C列（言語名）</th></tr></thead><tbody><tr><td>お問い合わせありがとうございます</td><td>ja</td><td>日本語</td></tr><tr><td>Could you send the invoice?</td><td>en</td><td>英語</td></tr><tr><td>请尽快回复</td><td>zh</td><td>中国語</td></tr><tr><td>Cảm ơn quý khách</td><td>vi</td><td>ベトナム語</td></tr><tr><td>Hartelijk dank</td><td>nl</td><td>オランダ語</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc49">IF関数で「対応言語かどうか」を判定する</span></h3>



<p class="wp-block-paragraph">自社が対応できる言語だけを抜き出したいときは、IF関数とOR関数を組み合わせると便利です。たとえば日本語・英語・中国語の3言語に対応しているチームなら、次のように書きます。</p>



<pre class="wp-block-code"><code>=IF(OR(B2={&quot;ja&quot;,&quot;en&quot;,&quot;zh&quot;}), &quot;対応可&quot;, &quot;要外部翻訳&quot;)</code></pre>



<p class="wp-block-paragraph">配列定数 <code>{"ja","en","zh"}</code> を使うと、IFを何重にもネストせずに複数言語をまとめて判定できます。「対応可」と「要外部翻訳」で振り分けておけば、外注すべき案件がひと目で分かりますね。IF関数の基本は <a href="https://mashukabu.com/excel-function-howto-use-if/">ExcelのIF関数の使い方｜条件で処理を分ける</a> でおさらいできますよ。</p>



<p class="wp-block-paragraph">言語コードは一度覚えてしまえば応用が利きます。早見表をブックの片隅に貼っておくか、別シートに変換テーブルとして持たせておくと、多言語データの整理がぐっとラクになりますよ。</p>



<h2 class="wp-block-heading"><span id="toc50">よくある質問（FAQ）</span></h2>



<p class="wp-block-paragraph">最後に、DETECTLANGUAGE関数について寄せられるよくある質問をまとめました。</p>



<p class="wp-block-paragraph">[faq q=&#8221;DETECTLANGUAGE関数が #NAME? エラーになるのはなぜ？&#8221; a=&#8221;お使いのExcelがDETECTLANGUAGE関数に未対応のバージョンの可能性が高いです。永続ライセンス版のExcel 2019・2021・LTSC 2024では使えません。Microsoft 365のサブスクリプション版にアップグレードするか、最新ビルドに更新してください。「ファイル → アカウント」で「Microsoft 365 Apps」と表示されていればOKです。&#8221;]</p>



<p class="wp-block-paragraph">[faq q=&#8221;オフライン環境でも使えますか？&#8221; a=&#8221;使えません。DETECTLANGUAGE関数は裏側でMicrosoft Translation Services（クラウドサービス）を呼び出すため、インターネット接続が必須です。社内のオフラインPCで使う必要がある場合は、別マシンで判定 → 値貼り付けで結果を持ち込む運用にしましょう。&#8221;]</p>



<p class="wp-block-paragraph">[faq q=&#8221;判定対象の文字列はクラウドに送信されますか？&#8221; a=&#8221;はい、送信されます。Microsoftのサーバーに一時的にデータが送られて判定処理が走る仕組みです。社外秘情報や個人情報を含む文字列にそのまま使うのは避け、社内のセキュリティポリシーを確認したうえで使ってください。&#8221;]</p>



<p class="wp-block-paragraph">[faq q=&#8221;中国語の繁体字と簡体字は区別できますか？&#8221; a=&#8221;関数の戻り値は基本的に zh の2文字コードで返ります。場面によっては zh-Hans（簡体字）・zh-Hant（繁体字）のように細分化されることもありますが、確実な区別が必要なら別途文字種チェックを組み合わせるのが安全です。&#8221;]</p>



<p class="wp-block-paragraph">[faq q=&#8221;TRANSLATE関数と組み合わせるとクォータを2回消費しますか？&#8221; a=&#8221;はい、消費します。DETECTLANGUAGE と TRANSLATE は別々にクラウドサービスを呼び出すため、リクエストカウンタとしては別カウントです。大量データを扱う場合は、まずDETECTLANGUAGEで判定 → 結果を値貼り付け → 必要な行だけTRANSLATEで翻訳、という2段階運用がおすすめです。&#8221;]</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-googletranslate-function/">faq q=&#8221;Google スプレッドシートにも同じ関数はありますか？&#8221; a=&#8221;スプレッドシートにはDETECTLANGUAGEと完全一致する関数はありませんが、GOOGLETRANSLATE 関数の補助機能や Apps Script で同等処理を組めます。スプレッドシート派の方は [GoogleスプレッドシートのGOOGLETRANSLATE関数の使い方</a> も合わせてご覧ください。&#8221;]</p>



<p class="wp-block-paragraph">[faq q=&#8221;判定速度を上げる方法はありますか？&#8221; a=&#8221;数式の再計算が遅い場合は、（1）スピル範囲を必要最小限に絞る、（2）判定後すぐに値貼り付けで固定する、（3）短すぎる文字列はLEN関数で事前に弾く、の3点で大幅に改善します。クォータエラーも減らせるので一石二鳥ですよ。&#8221;]</p>



<p class="wp-block-paragraph">[faq q=&#8221;DETECTLANGUAGE関数の結果を他の関数の引数として直接渡せますか？&#8221; a=&#8221;はい、可能です。=TRANSLATE(A2, DETECTLANGUAGE(A2), &#8216;ja&#8217;) のように、別の関数の引数として入れ子にして使えます。ただし関数を入れ子にするとクラウド呼び出しが2倍発生するため、大量データでは判定結果を別列で固定してから翻訳する2段階運用がパフォーマンス面で有利です。&#8221;]</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-if/">faq q=&#8221;判定結果を[IF関数</a>で分岐させる時の典型例は？&#8221; a=&#8221;日本語以外を「翻訳対象」として振り分けるなら =IF(DETECTLANGUAGE(A2)=&#8217;ja&#8217;,&#8217;日本語のまま&#8217;,&#8217;要翻訳&#8217;) のように書きます。IF関数とDETECTLANGUAGEの組み合わせは「言語別の処理分岐」の入り口として最初に覚えると応用が利きます。複数言語をまとめて判定したいときは =IF(OR(DETECTLANGUAGE(A2)={&#8216;en&#8217;,&#8217;fr&#8217;,&#8217;de&#8217;}),&#8217;欧米&#8217;,&#8217;その他&#8217;) のように配列定数を使うとIFのネストが短くなります。&#8221;]</p>



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



<p class="wp-block-paragraph">ExcelのDETECTLANGUAGE関数は、セルに入っている文字列の言語を自動判定してくれる便利な関数です。</p>



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



<ul class="wp-block-list"><li>構文は <code>=DETECTLANGUAGE(テキスト)</code> で引数は1つだけ</li><li>Microsoft 365のサブスクリプションとインターネット接続が必須</li><li>戻り値はISO 639-1の2文字コード（<code>ja</code> <code>en</code> <code>zh</code> など）</li><li>スピル対応なので範囲を渡して一括判定できる</li><li>SWITCH関数と組み合わせれば日本語の言語名に変換できる</li><li>TRANSLATE関数と連携すれば多言語データを一括翻訳できる</li><li>短文・空白・数字のみのセルは誤判定やエラーに注意</li><li>エラー時はIFERRORでラップしておくと安心</li><li>クラウド経由でデータが送信される点に注意（機密情報は要注意）</li><li>大量データは値貼り付けで結果を固定するとクォータエラーを回避できる</li></ul>



<p class="wp-block-paragraph">まずは <code>=DETECTLANGUAGE("Hello world")</code> のようなシンプルな式から試してみてください。グローバル業務のデータ整理がぐっとラクになりますよ。</p>



<p class="wp-block-paragraph">慣れてきたら、TRANSLATE関数やFILTER関数と組み合わせて「言語別の自動仕分け＋自動翻訳」までワンセットで自動化してみましょう。手作業のコピペから解放されて、本来やるべき分析や提案に時間を使えるようになりますよ。</p>



<p class="wp-block-paragraph">文字列操作系の関数を一通り押さえておきたい方は、姉妹記事もぜひあわせてどうぞ。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-translate/">ExcelのTRANSLATE関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-regexreplace/">ExcelのREGEXREPLACE関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-iferror/">ExcelのIFERROR関数の使い方</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-switch/">ExcelのSWITCH関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-list-by-function/">Excel関数一覧【機能別】</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-detectlanguage/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
