<?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>Thu, 09 Apr 2026 04:10:46 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</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[Microsoft 365]]></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関数との連携、よくあるエラーと対処法もまとめました。]]></description>
										<content:encoded><![CDATA[
<p>「海外の顧客から届いたメール、英語？スペイン語？見分けるだけでもひと苦労」「多言語アンケートの自由記述欄を言語別に集計したい」。グローバル業務を担当していると、こんな場面が増えていますよね。</p>



<p>1件ずつ目視で判定するのは現実的ではありません。数百件を前にため息が出てしまいますよね。</p>



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



<p>この記事では、ExcelのDETECTLANGUAGE関数の使い方を基本から実務の応用例まで解説します。SWITCH関数との組み合わせやTRANSLATE関数との連携もまとめましたので、ぜひ参考にしてください。</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></ol></li><li><a href="#toc4" tabindex="0">DETECTLANGUAGE関数の構文と戻り値</a><ol><li><a href="#toc5" tabindex="0">基本構文</a></li><li><a href="#toc6" tabindex="0">引数：テキスト</a></li><li><a href="#toc7" tabindex="0">戻り値：ISO 639-1 言語コード</a></li></ol></li><li><a href="#toc8" tabindex="0">Excel DETECTLANGUAGE関数の基本的な使い方</a><ol><li><a href="#toc9" tabindex="0">1つのセルの言語を判定する</a></li><li><a href="#toc10" tabindex="0">複数セルの言語を一括判定する</a></li><li><a href="#toc11" tabindex="0">IF関数と組み合わせて日本語か判定する</a></li><li><a href="#toc12" tabindex="0">直接文字列を渡してテストする</a></li></ol></li><li><a href="#toc13" tabindex="0">実践的な使い方・応用例</a><ol><li><a href="#toc14" tabindex="0">グローバル顧客リストを言語別に分類する</a></li><li><a href="#toc15" tabindex="0">多言語アンケートを言語別に振り分ける</a></li><li><a href="#toc16" tabindex="0">FILTER関数と組み合わせて英語の行だけ抽出する</a></li><li><a href="#toc17" tabindex="0">TRANSLATE関数と連携して自動翻訳する</a></li><li><a href="#toc18" tabindex="0">IFERRORでエラー時のラベルを付ける</a></li></ol></li><li><a href="#toc19" tabindex="0">短文・空白・数字のみセルでの挙動</a><ol><li><a href="#toc20" tabindex="0">空白セルを渡した場合</a></li><li><a href="#toc21" tabindex="0">数字だけのセル</a></li><li><a href="#toc22" tabindex="0">短すぎる文字列</a></li><li><a href="#toc23" tabindex="0">複数言語が混在した文字列</a></li></ol></li><li><a href="#toc24" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc25" tabindex="0">Text Too Long エラー</a></li><li><a href="#toc26" tabindex="0">Error in Value エラー</a></li><li><a href="#toc27" tabindex="0">Request Throttled エラー</a></li><li><a href="#toc28" tabindex="0">#NAME? エラー</a></li></ol></li><li><a href="#toc29" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



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



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



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



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



<p>ExcelのDETECTLANGUAGE関数は次のような場面で活躍します。</p>



<ul class="wp-block-list"><li>グローバル顧客リストを言語別に分類したいとき</li><li>多言語アンケートの自由記述を言語別に振り分けたいとき</li><li>海外からの問い合わせメールを担当者別にアサインしたいとき</li><li>TRANSLATE関数（指定した言語に翻訳する関数）と組み合わせて多言語データを一括翻訳したいとき</li></ul>



<p>「どの言語か分からないけどとりあえず仕分けたい」というシーンにぴったりの関数です。</p>



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



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



<p>対応環境は次のとおりです。</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>また、裏側でクラウド翻訳サービスを呼び出す仕組みなので、<strong>インターネット接続が必須</strong>です。オフライン環境では動きませんので注意してください。</p>



<p>お使いのバージョンが対応しているか、事前に確認しておきましょう。</p>



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



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



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



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



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



<p>言語を判定したい文字列、またはセル参照を指定します。</p>



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



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



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



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



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



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



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



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



<p>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>



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



<p>それでは実際に数式を組み立ててみましょう。</p>



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



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



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



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



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



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



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



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



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



<p>判定結果が日本語かどうかで分岐する例です。</p>



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



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



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



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



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



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



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



<p>ここからは実務で役立つ応用パターンを紹介します。</p>



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



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



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



<p>B2セル:</p>



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



<p>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>SWITCH関数（複数の候補値を順にチェックして一致した値を返す関数）を使うと、言語コードを読みやすい日本語ラベルに変換できます。顧客リストの見た目がぐっと分かりやすくなりますよ。</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>IFSの代わりにSWITCHを使うと数式がスッキリしますよ。</p>



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



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



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



<p>B列にDETECTLANGUAGE関数の結果を出しておけば、この数式で「日本語回答の件数」を集計できます。言語別の集計レポートがすぐに作れますよ。</p>



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



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



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



<p>スピルで英語レコードが一気に展開されます。担当者別にシートを分けたいときに威力を発揮しますよ。</p>



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



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



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



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



<p>多言語の顧客フィードバックを一括で日本語化するワークフローがこれ1本で完成しますよ。従来はGoogle翻訳やDeepLに1件ずつコピペしていた作業が、数式1つで終わります。</p>



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



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



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



<p>エラーで数式が止まらなくなるので、大量データの処理でも安心ですよ。</p>



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<p>DETECTLANGUAGE関数で表示されるエラーと対処法をまとめました。</p>



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



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



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



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



<p>言語判定は冒頭の文章だけでも十分精度が出るので、この方法で問題ありません。</p>



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



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



<p><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="toc27">Request Throttled エラー</span></h3>



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



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



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



<p>この流れで再計算を防げます。</p>



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



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



<p><strong>対処法</strong>: Microsoft 365のサブスクリプションで最新版にアップデートしてください。Excel 2019・2021・LTSC 2024では使えません。</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></tbody></table></figure>



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



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



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



<p>この記事のポイントを整理します。</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></ul>



<p>まずは <code>=DETECTLANGUAGE("Hello world")</code> のようなシンプルな式から試してみてください。グローバル業務のデータ整理がぐっとラクになりますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-detectlanguage/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
