ADVERTISEMENT

【Power Automate】日本語列名の参照が想定どおり進まない時の会社環境での安全な再設定

【Power Automate】日本語列名の参照が想定どおり進まない時の会社環境での安全な再設定
🛡️ 超解決

Power AutomateでExcelやSharePointリストからデータを取得するフローを作成している際、日本語の列名を指定しても正しく参照されず、エラーや空値が返ることがあります。特に会社の共有環境で作成したフローが突然動作しなくなった場合、原因が端末の設定なのか、アカウントの権限なのか、それともフロー内部の記述方法にあるのかを切り分ける必要があります。この記事では、日本語列名の参照が想定どおり進まない原因を具体的に解説し、会社のPCで安全に再設定を行うための手順を紹介します。管理者に確認すべきポイントや、やってはいけない設定変更についても触れますので、組織のポリシーに違反せずに問題を解決できるようになります。

【要点】この記事で確認すること

  • 最初に見る場所: フローの「動的なコンテンツ」に正しい列名が表示されているか、列名に全角スペースや特殊文字が含まれていないか。
  • 切り分けの軸: 端末側(Power Automate for Desktopの言語設定)、アカウント側(ライセンスやアクセス権限)、管理設定側(Excelファイルのロケール、SharePointの列設定)。
  • 注意点: 会社PCではレジストリやシステムロケールの変更は禁止されている場合が多いため、まずはフロー内の記述や列名の表記揺れを調整する。

ADVERTISEMENT

日本語列名の参照が失敗する主な原因

Power Automateで日本語列名を扱う際に問題が発生する要因は、主に3つのカテゴリに分けられます。それぞれ具体的に確認していきましょう。

  • 列名に全角スペースや特殊文字が含まれている-ExcelやSharePointの列名に「 」(全角スペース)や「/」「\」「*」などが含まれていると、Power Automateが正しく認識できない場合があります。例えば「商品 名」のようにスペースが入っていると、動的なコンテンツでは「商品_名」とアンダーバーに変換されることがあります。
  • Excelのテーブル書式と通常範囲の違い-Excelデータを「テーブル」として書式設定していないと、列名が自動的に「列1」「列2」などになり、日本語列名が使えません。また、テーブルでもヘッダー行の1行目が正しく列名として認識されないケースがあります。
  • Power Automateの言語設定とロケールの不一致-Power Automate for Desktop(PAD)を使用している場合、PCのシステムロケールやPADの言語設定が日本語以外になっていると、列名のエンコードがずれて参照に失敗します。一方、クラウドフロー(Power Automate for Web)では基本的にロケールの影響は受けません。

これらの原因は単独で発生することもあれば、複合的に影響し合うこともあります。この後のセクションで、それぞれの確認手順と安全な再設定方法を詳しく説明します。

安全な再設定の前に確認すべきこと

会社環境では、勝手にシステム設定を変更するとセキュリティポリシーや他のユーザーに影響を与える可能性があります。以下の項目を確認し、必要に応じて管理者に相談してから作業を進めてください。

管理者に確認しておく項目

  • Power Automateのライセンス-日本語列名を扱うフローがプレミアムコネクタを必要とする場合、適切なライセンス(Per Userプランなど)が割り当てられているか確認してください。
  • データソースへのアクセス権限-ExcelファイルがOneDriveやSharePointにある場合、そのフォルダに対する読み取り/書き込み権限が必要です。特に法人向けの制限がかかっている場合は、IT部門に権限追加を依頼します。
  • システムロケールの変更可否-Power Automate for Desktopを使う場合、システムロケールを日本語に変更する必要があるかもしれません。しかし、管理者権限が必要な設定であるため、会社のPCでは禁止されていることがほとんどです。その場合は代替手段(後述)を検討します。

データソース側の状態を確認する

  1. Excelファイルを開き、列名が設定されたテーブル形式になっているか確認します(「テーブルデザイン」タブでテーブル名が表示されていればOK)。
  2. 列名に全角スペースや特殊文字が含まれていないか、半角スペースやアンダーバーに置き換えます。
  3. SharePointリストの場合は、列名に使用できる文字種を確認します(半角英数字とアンダーバーのみ推奨)。
  4. Power AutomateでExcelに接続する際、使用するコネクタが「Excel Online (Business)」か「Excel for OneDrive」など適切なものを選んでいるか確認します。

状況別:日本語列名が参照できないときの比較表

問題が発生している状況に応じて、適切な対処方法は異なります。以下の表を参考に、自分のケースに合った対策を選んでください。

状況 主な原因 安全な対処方法 管理者要連絡
クラウドフローでExcelの日本語列名が空になる 列名に全角スペース、テーブル未設定 列名を半角英数字+アンダーバーに変更し、テーブル化 不要(自分のファイルなら自由に編集可)
Power Automate for Desktopで日本語列名が認識されない システムロケールが英語、PADの言語設定 PADの言語を日本語に変更(システムロケール変更は避ける) PADの設定変更はユーザー権限で可能か確認
SharePointリストの日本語列名が参照できない 列名に特殊文字、内部名と表示名の不一致 列の内部名(半角英数字)で書き換え、表示名は変更しない SharePoint列の編集権限が必要なため管理者に依頼
フローが突然エラーになるようになった データソースの列名が変更された 動的なコンテンツを再選択、または列名を元に戻す 列名変更の履歴を確認するなら管理者へ

安全な再設定手順(Power Automate for Desktopの場合)

ここでは、Power Automate for Desktop(PAD)を使用している場合に、日本語列名を正しく参照するための安全な再設定手順を説明します。システムロケールの変更を避け、PADの言語設定とフロー内の処理で対応します。

  1. Power Automate for Desktopを起動し、メニューバーの「設定」>「言語」を開きます。
  2. 言語一覧から「日本語(日本)」を選択し、適用ボタンをクリックします。この設定はユーザー権限で変更可能で、システム全体に影響しません。
  3. PADを再起動します。これで、フロー内で日本語の列名を扱う際の内部エンコードが正しくなります。
  4. フローエディターで、Excelの操作アクション(「Excelワークシートの読み取り」など)を確認し、列名が動的コンテンツに表示されるかテストします。
  5. もし列名が正しく表示されない場合は、Excelファイルの「テーブル」設定を見直します。列名を半角英数字に変更し、再度アクションを設定します。
  6. Column name の引数に直接列名を入力する場合、二重引用符で囲み、全角文字はそのまま記述します。例:「”商品名”」

クラウドフローにおける日本語列名の再設定

クラウドフロー(Power Automate Web)では、言語設定の影響はほとんどありませんが、列名の表記揺れやコネクタの種類が原因で参照できないケースがあります。以下の手順で安全に再設定を行います。

Excel Onlineコネクタの列名参照を修正する

  1. フロー編集画面で、Excel関連のアクション(「表の行の一覧表示」など)を選択します。
  2. 動的コンテンツの追加で日本語の列名が見つからない場合、列名の後ろにスペースや隠し文字がないか確認するため、Excelファイルをテキストエディタなどで開いて確認します。
  3. 列名に問題があれば、Excelでセルの内容を編集します。全角スペースは削除し、半角スペースが必要な場合はアンダーバーに置き換えます。
  4. 一度フローを保存し、テスト実行します。それでも参照できない場合は、コネクタの再認証を行います(アクションの「…」>「接続の変更」>「新しい接続を追加」)。
  5. SharePointリストの場合、列の「内部名」を確認します。リスト設定>列>選択した列の「内部名」をメモし、フローの式ビルダーで “%ColumnName%” の形式で指定します。

よくある質問

ここでは、日本語列名の参照に関して会社員からよく寄せられる質問とその回答をまとめました。

Q1. フロー内で列名を直接指定するとき、日本語はそのまま書いても大丈夫ですか?

A. 問題ありません。二重引用符で囲んで日本語をそのまま記述できます。ただし、列名に全角スペースが含まれているとエラーになるため、半角スペースやアンダーバーに置き換えることをおすすめします。

Q2. ExcelファイルをSharePointに置いている場合、注意点はありますか?

A. SharePoint上のExcelファイルを扱う場合は、必ず「Excel Online (Business)」コネクタを使用してください。「Excel for OneDrive」は個人用ストレージ向けです。また、SharePointの列名制限(255文字までなど)を超えていないか確認してください。

Q3. フローを共有している他のユーザーだけがエラーになるのはなぜですか?

A. フローの所有者以外のユーザーが実行する場合、そのユーザーにデータソースへのアクセス権限がない可能性があります。また、Power Automateのライセンスが異なる場合も問題が発生します。管理者にライセンス割り当てを依頼してください。

Q4. 以前は動いていたフローが突然止まりました。何が原因でしょうか?

A. データソースの列名が変更された、またはコネクタの認証が切れた可能性が高いです。まずは動的コンテンツに正しい列名が表示されるか確認し、列名が変更されていればフローを更新します。認証の問題であれば、コネクタを再接続してください。

まとめ

日本語列名の参照で問題が発生した場合、まずは列名に全角スペースや特殊文字がないか、Excelがテーブル形式になっているかを確認することが重要です。クラウドフローでは言語設定の影響はほとんどないため、データソース側の表記揺れを修正することで解決できるケースが大半です。Power Automate for Desktopを使用する場合は、言語設定を日本語に変更するだけで改善することがありますが、システムロケールの変更は避けてください。いずれの場合も、共有環境では管理者への確認を忘れずに行い、安全な範囲で設定を変更するように心がけましょう。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。

ADVERTISEMENT