技術情報ブログ
SharePoint
2021.09.15

Excelの数値列/日付列に文字があるとSharePointに入らない?Power Automateのエラー時ループ対策(第10回)

Excelの数値列/日付列に文字があるとSharePointに入らない?Power Automateのエラー時ループ対策(第10回)
小刀稱知哉

こんにちは。アーティサン株式会社の小刀稱(ことね)です。

Power Automate で Excel の表データを SharePoint リストへインポートしたときに、一部の行が取り込まれない同じ行が大量に重複して登録される処理が異常に長引くといった症状が出ることがあります。

本記事では、数値列・日付列に文字が混在して「項目の作成」アクションがエラーになった場合に、RowCount 変数が更新されず Do Until がループし続けるメカニズムを整理し、「実行条件の構成」でエラー時でも後続処理を進める対処法を解説します。

「Power AutomateでExcelをSharePointリストにインポートしたい時に考えること」シリーズの第10回です。

本シリーズでは、私が実際にPower Automateを用いて、「ExcelをSharePointリストにインポートする」フローを作成していきます。
また、作成の際に学んだ点や躓いた点を中心に紹介いたします。

Power Automateでどんな事ができるのか知りたい、実際の作成方法を知りたい、という方に向けた記事です。

前回はExcelの表データが256行より大きい場合の対処法についてお伝えしました。

第9回目の内容はこちらを参照ください。

Power AutomateでExcelをSharePointリストにインポートしたい時に考えること(第9回)

今回は、表データの中に異なる形式の値がある場合の対処法についてお伝えします。

Excel→SharePoint の取り込みフローは、データの揺らぎやエラー時の挙動で「重複登録」「処理の長時間化」が起きがちです。

同様の連携を運用していて不安がある場合は、フローの構造(Do Until / Apply to each / 変数更新 / 実行条件)を前提に、設計レビューの観点から整理できます。

現状のフロー構成と困りごとがございましたら、弊社にぜひご相談ください!

インポートするExcelデータ

今回準備したExcelデータは以下のとおりです。数値列や日付列に文字を挿入しました。

Excelデータ

フローの実行結果

今回準備したExcelデータは以下のとおりです。

数値列や日付列に文字を挿入しました。

結果

実行完了までにとても長い時間がかかったと思います。

結果を見ると、表データの中に異なる形式の値がある行はインポートされていないようです。
また、5件の表データしかないのに、なぜかたくさんのデータがインポートされています。

しかもよく見ると、同じデータが複数インポートされているようです。

実行結果を以下にまとめました。

  • 表データの中に異なる形式の値がある行はインポートされない
  • 同じデータ(1行目・3行目)が複数インポートされている

1に関しては期待どおりの挙動でした。
2に関して、原因と対策について以下で説明します。

原因

上記2は、SharePointリストへ値を追加する項目の作成アクションがエラーとなった際、RowCount変数が更新されず、その結果Do Untilアクションが無限ループに陥ったことが原因です。

少し分かりづらいので、順を追って説明していきます。

  • まず、SharePointリストに値を追加する項目の作成アクションでは、インポートする行の中に異なる形式の値がある場合、その行はインポートされません。また、アクションの実行結果はエラーとなります。(下図(1))

  • また、項目の作成アクションはApply to eachアクション内に配置されているため、 「項目の作成」アクションが1回でもエラーとなった場合、Apply to eachアクションもエラーとなります。(下図(2))

  • Power Automateでは、アクションがエラーとなった場合、デフォルトでは後続のアクションは実行されません。 よって、Apply to eachアクションがエラーとなった場合、RowCountの値を更新する変数の設定アクションが実行されません。(下図(3))

  • Do untilアクションでは、終了条件に達するまで処理を行いますが、RowCountの値が更新されていないため、終了条件に達することなく、無限ループ(正確にはDo Untilアクションで設定されているループ回数の最大値まで)に陥ってしまいます。(下図(4))

※ループ回数の最大値に関する設定は、後ほど(補足:「Do Untilで設定されているループ回数の最大値」について)説明いたします。

説明

対処法

無限ループを防ぐには、Apply to eachアクション(正確には「項目の作成」アクション)が正常終了・エラー終了どちらの場合でもRowCountの更新を行う必要があります。

上記を実装するためには、「実行条件の構成」を用います。

具体的には、変数の設定アクションの「実行条件の構成」画面で、「に成功しました」「に失敗しました」にチェックを入れます。

実行条件の構成

修正したフローの再実行

では、フローを再度実行しましょう。

結果-2

異なる形式の値が含まれる行は除外され、正常な行分だけがインポートされました。

補足:「Do Untilで設定されているループ回数の最大値」について

Do Untilアクションには、「制限の変更」という設定項目があります。

制限の変更

設定できる値は、以下2つです。

  • 回数

    Do Untilのループ回数の上限値を指定します。(デフォルトでは60)

  • タイムアウト

    Do Untilアクションを開始してから、強制的に処理を終了させるまでの経過時間を指定します。(デフォルトは1時間)

    ※“PT1H”は「ISO 8601 duration format」に準拠しております。詳細は以下を参照ください。

    ISO 8601 #継続時間

「実行の構成」を設定する前にフローを実行した際、5行分の表データしかインポートしないのに、実行時間が長かったと思います。 これは、Do Untilアクションが無限ループに陥り、5行分のインポート操作を60回繰り返したことが原因です。

 

本日はここまで。

今回は表データの中に異なる形式の値がある場合の対処法についてお伝えしました。

ここまで作成したフローで、実装したい機能は全て網羅しました。

次回で本連載もいよいよ最後となります。

最終回はスコープアクションを用いて、フロー全体の可読性を向上することや、try catch機能の追加に挑戦してみたいと思います。

ここまで読んでいただき、ありがとうございました。

今回は「項目の作成」エラーを起点に、RowCount 未更新で Do Until が回り続けるケースを扱いました。

エラー時も止まらない設計や、データの前処理(形式揺れ対策)、運用監視まで含めて整えると、連携の事故は大きく減らせます。

 

【このシリーズの過去回一覧】

 

この記事を書いた人
小刀稱知哉

小刀稱 知哉ことね ともや

SharePoint Power Platform全般 Copilot Studio 技術アドバイス・教育支援

Power PlatformやSharePointを中心に設計・開発・アドバイス・教育まで幅広く担当しています。内製化をご希望の場合はお気軽にお問い合わせください!

2025 Microsoft MVP(Power Apps・Power Automate)
PL-200 PL-300 PL-400 PL-600 MS-700 AZ-104 AZ-305 SC-200 SC-100

Microsoftクラウド関連

シェアする
記事カテゴリ
最新記事
2026.04.22

ソリューション内で異動・退職者のPower Apps/Power Automateなどを引き継ぐには?所有者変更の手順と注意点を解説

2026.04.15

SharePoint:『リンクのコピー』は危険?権限トラブルを防ぐ推奨運用を解説

2026.04.08

技術ブログ100本書いてみたら、想像以上に得るものがあった話

2026.04.01

社内に聞く人がいない「孤独なDX」を解決!アーティサンの内製化支援サービス

2026.03.25

SharePointの便利なURLパラメータ活用術|ヘッダー削除・リスト絞り込み・メンテナンスモード

SharePointEF CoreMarker Clusterer中級者DXインポート自動化したクラウドフロー構築デザインフロー実行ドキュメント ライブラリ市民開発登録者X-SPNFCタグエンゲージメントMultilingualデータ移行実運用官公庁システム画像挿入プロジェクト作成ユニークキーMVP共有設定ソリューションエクスポート整数ExcelマイグレーションRANK()関数キャンバスアプリノウハウカスタマイズ委任自動化したクラウド フロー運用開発環境filter query管理システム列StyleDLPポリシー地方自治体MLJSON書式保守性デジタル化推進複数レコードPCFギャラリー一意制約技術支援情報漏洩対策権限管理データ型Power AutomateFramework CoreDynamics 365 SalesDatePicker情報技術componentVBAフローの種類選択肢列環境sortガバナンス登録日StudioTestCopilot Studiot共有リンクテンプレート化DX推進テーマカラーPDF変換業務システムURLパラメータ技術ブログ 書き方コマンドバーカスタマイズ組織変更C#Attribute directivesMicrosoft TranslatorDropdownメッセージIDダイアログエラーインスタント クラウド フロー参照列本番環境ソートerror notification更新者AICanvas自治体DXレポート化サイト複製作り方ダークモード資料自動作成キャンバスアプリ 違いメンテナンスモードエンジニア ブログ メリットSharePoint管理センター注文管理アプリattributeO/Rマッパーマーカークラスタリングライブラリviewメールコンポーネントエクセルスケジュール済みクラウド フローChatGPTライセンスmultiple itemエラー通知更新日生成系AITest Studio生成AI自治体APIPnP PowerShellページ承認Formulasプロパティフロー設計Power Apps 導入並べ替えブログ 継続 コツDLPサブグリッドvalidationazure sql databasetailwindcssビューfirst()関数dialogerrorレスポンシブ レイアウトOpenAI環境構築手順複数項目削除変更Copilotテスト事例HTTP リクエストカスタムスクリプトドキュメント管理カラーセットテンプレート活用Power Apps 比較ヘッダー非表示技術力向上権限管理ベストプラクティスDataverse テーブルローコードCase式マルチテナントアクセス制限nestTips復元responsive layoutオープンAIpipelineシェアポイントフォルダ外部DBlicenseテストスタジオ活用ワーケーション業務効率化IT管理カラーユニバーサルデザイン自動化事例モデル駆動型 とはリスト フィルタ文章力 鍛え方野良権限部署AngularHTTP Requestドロップダウンメニューノーコード入れ子新機能restoreデータ行の制限チャットGPTCI/CD便利機能ゴミ箱連携添付ファイルコントロール使い方サイトブランド化名古屋ファイル保存申請システムアプリデザインNode.jsシステム構築便利アウトプット 重要性Teams ファイル共有リレーションシップAccessCSSBreakpointObserver承認動的リスト変数Power BI引き継ぎgalleryパイプラインカレンダー完全削除接続ファイルサイズ基本知識フォントカスタマイズ体験記エンティティワークフロー自動化UI/UXVisual Studio CodeAlternate Key野良アプリ対策IT エンジニア 転職OneDrive1対多InfoPathxUnitメディアクエリリマインドcollection検索個人列退職ギャラリーDevOpsCalendarモデル駆動型データフローフルリモートワークPowerAutomateブランドセンター感想フォルダ構成設定アクセシビリティPCF代替キーCoEブログ モチベーションつながり参照多対多MatTable.Net Core 3.1スマホSetコレクションMicrosoft 365グループユーザー列所有者を変更スクロールMicrosoft 365Teamsセキュリティロールrecycle binアーティサンX-SP Designテーマ作成チームサイトMicrosoft Learn Docsアジャイル開発Wordテンプレート環境構築重複チェック内製化コンサルティングネタ切れ 対策システムカスタマイザーER図Angular MaterialVSCodePCForAll複数の添付ファイルセキュリティグループSharePoint Online異動コンテナ簡易在庫管理ローコード開発ビジネスルールアクセス許可Artisanスライドショーデザイン拡張コミュニケーションサイトカスタムコネクタ準委任契約業務自動化カスタムコンポーネントGUIDITサポートAI ブログ 活用Connection Reference入門編データ構造.Net Core Test ExplorerレスポンシブUpdateContext承認フロー送信元リストLoopショートカットキー時間外非エンジニアDataverseSharePoint Framework転職Slide showMicrosoft365サイトの種類OpenAPI請負契約効率化Power Platform CLI業務キー月額定額PV数 増やす共同所有者1行テキストモデル駆動型アプリSortByColumns関数Dataverse for TeamsDynamics 365ロードマップフォームメールの送信非表示Microsoftshortcut key通知体験談JavaScriptSPFx主キー比較移行要件定義MCPサーバー総合評価型入札資料作成開発手順複合キー委任問題権限トラブル主要な所有者複数行テキストPower AppsTypeScriptitem関数入門技術form差出人アプリdesignconcat関数ファイル勉強表示サンプルCopilot Studio社内ポータル多言語化サイト構成FAQエージェントデジタルトランスフォーメーション初心者向け拡張機能データ整合性Delegationアクセス権限環境変数選択肢Power PlatformHTMLGoogle Maps初心者Itエクスポートインスタントクラウドフロー[市民開発者JSON文字制限フィルター クエリ内製化切替samplePowerAppsグループウェアMUI権限設計AIチャットボットプロポーザル方式ハウツービルドデータベース設計サブスクリプション型支援ファイルパスクラシック画面日付
PageTop
ページトップに戻る