食品ユニフォーム 不良率 週次集計 v3

設定手順書

設定ブックとスクリプトを置き、既存の Power Automate のフローを v3 に直して、実データで動かして確かめるまでの手順です。上から順に設定してください。式とスキーマは[コピー]で取れます。各手順の右上の「済」に印を付けると、この端末に残ります。

設定がうまくいかなかった箇所や、決めていただく項目(拠点ごとの宛先・しきい値など)は、次回の定例会で一緒に進めます。

お手元の資料:01 貼り付け用スクリプト(Word)/02 手順書(Excel)/03 完成イメージ/04 設定管理ブック/05 対象顧客リスト

入力そのまま打つ 選ぶ一覧・フォルダーのアイコンから選ぶ ⚡ 動的なコンテンツ稲妻のアイコンから選ぶ fx 式fx を押して式を貼る 貼り付けコピーして貼る

1

ファイルを置く

設定管理ブックと対象顧客リストは、どちらも /食品ユニフォーム不良率自動化/設定 に置きます。

  1. 1

    SharePoint の不良率フォルダを確かめる

    場所
    業務部サイト(SharePoint)のドキュメント
    親フォルダ
    食品ユニフォーム不良率自動化
    その下に作るフォルダ
    投入 出力 設定

    3つとも同じ階層(食品ユニフォーム不良率自動化 の直下)に作ります。出力も必要です(集計したブックが週ごとに貯まります)

    8/28・9/8 に作った /不良率 フォルダの名前を変えて使う場合は、フローのトリガー(#1)・ファイルのコピー先(#4)・ファイルの作成先(#8)と、スクリプトの実行のブック(#2・#3・#10)を、フォルダーのアイコンから選び直してください。フローはフォルダを場所で覚えているため、名前を変えると見つからなくなります。

  2. 2

    設定管理ブックを置く

    置くファイル
    【設定管理】不良率_しきい値と通知先_v3.xlsx

    お渡ししたファイルの先頭の「04_」は外して保存します

    置き場所
    設定フォルダの中(ドキュメント > 食品ユニフォーム不良率自動化 > 設定)

    v2 の【設定管理】不良率_しきい値と通知先.xlsx は名前が違うので、同じフォルダに並べたままで構いません。全社宛ての通知先には、いただいた配信先15件が入っています。拠点ごとの宛先(通知先シート)は空欄です。

  3. 3

    対象顧客リストを置く

    置くファイル
    【対象顧客リスト】食品UF不良率.xlsx

    先頭の「05_」は外して保存します

    置き場所
    設定フォルダの中(ドキュメント > 食品ユニフォーム不良率自動化 > 設定)

    投入フォルダ(/食品ユニフォーム不良率自動化/投入)には置かないでください。置いた時点でフローが動きます。

2

スクリプト4本を登録する

01 の Word にある4本を、Excel の[自動化]に登録します。v2 で登録済みの2本は中身を置き換え、残りの2本は新しく作ります。

スクリプト名やること登録するブック
不良率_設定読み出しv2 で登録済み → 開いて中身を置き換える【設定管理】不良率_しきい値と通知先_v3.xlsx
不良率_対象顧客読み出し新しく作る【対象顧客リスト】食品UF不良率.xlsx
不良率_週次集計新しく作る(同じ名前が既にあれば置き換える)どのブックでも可。v2 の 不良率_週次集計_v2 は使わなくなります
不良率_履歴追記v2 で登録済み → 開いて中身を置き換える【設定管理】不良率_しきい値と通知先_v3.xlsx
  1. 1

    Excel on the web で設定管理ブックを開く

    開くブック
    設定フォルダの中の【設定管理】不良率_しきい値と通知先_v3.xlsx

    スクリプトは、フローを作った方(フローの所有者)のアカウントで登録します。「スクリプトの実行」アクションの一覧には、接続しているアカウントのスクリプトしか出ないためです。

  2. 2

    同じ名前のスクリプトがあるか確かめる

    操作
    選ぶリボンの[自動化]→[すべてのスクリプト]

    v2 で「不良率_設定読み出し」「不良率_履歴追記」を登録していれば、一覧に出ます。この2本は中身を置き換えます。

  3. 3

    (あるもの)開いて中身を置き換える

    操作
    選ぶ一覧のスクリプト名をクリック →[編集]→ エディターをクリック → Ctrl+A(Mac は ⌘A)→ Delete
    貼るもの
    01 の Word の同じ名前の見出しの下を、最初の行から最後の行まで
    保存
    選ぶ[スクリプトを保存]

    名前はそのままで、中身だけが v3 になります。Word の見出しは貼りません。コードの行だけを選んでコピーします。

  4. 4

    (無いもの)新しく作る

    操作
    選ぶ[新しいスクリプト]→ エディターの中身をすべて消す → 01 の Word のコードを貼る
    名前
    入力見出しの名前(例:不良率_対象顧客読み出し)

    エディター上部のスクリプト名をクリックして書き換え →[スクリプトを保存]

    「不良率_対象顧客読み出し」「不良率_週次集計」は新しく作ります。最初から入っている function main(...) も消してから貼ります。

  5. 5

    名前を確かめる

    1本目
    入力不良率_設定読み出し
    2本目
    入力不良率_対象顧客読み出し
    3本目
    入力不良率_週次集計
    4本目
    入力不良率_履歴追記

    [すべてのスクリプト]にこの4本が並んでいれば完了です。v2 の「不良率_週次集計_v2」は残っていて構いません(使わなくなります)。

  6. 6

    フローを直し終えるまで、投入フォルダにファイルを置かない

    理由
    スクリプトの中身が v3 になったので、v2 のままのフローとは組み合わせが合いません

3

既存のフロー「週次_食品UF不良率_集計と通知」を v3 に直す

8/28・9/8 に作ったフローを開き、[編集]で上から順に直します。新しく足すのは #3・#13・#13-1 の3つです。アクションの名前は表記どおりに変えてください(式がこの名前で前のアクションを探します)。

  1. 1

    ファイルが作成されたとき(プロパティのみ)

    SharePoint変更なし
    サイトのアドレス
    選ぶ業務部サイト
    ライブラリ名
    選ぶドキュメント
    フォルダー
    選ぶ/食品ユニフォーム不良率自動化/投入
  2. 2

    スクリプトの実行

    Excel Online (Business)ブックを差し替え

    名前を 設定読み出し に変える(式の中でこの名前を使います)

    場所
    選ぶ業務部サイト(SharePoint)
    ドキュメント ライブラリ
    選ぶドキュメント
    ファイル
    選ぶ/食品ユニフォーム不良率自動化/設定/【設定管理】不良率_しきい値と通知先_v3.xlsx

    欄の右のフォルダーのアイコンから選びます

    スクリプト
    選ぶ不良率_設定読み出し

    一覧から選びます。引数の欄は、スクリプトを選ぶと下に出てきます

    v2 の設定管理ブックから v3 のブックに替えます(通知先シートが増えたため)。引数はありません。

  3. 3

    スクリプトの実行

    Excel Online (Business)★新しく足す

    名前を 対象顧客読み出し に変える(式の中でこの名前を使います)

    場所
    選ぶ業務部サイト(SharePoint)
    ドキュメント ライブラリ
    選ぶドキュメント
    ファイル
    選ぶ/食品ユニフォーム不良率自動化/設定/【対象顧客リスト】食品UF不良率.xlsx

    欄の右のフォルダーのアイコンから選びます

    スクリプト
    選ぶ不良率_対象顧客読み出し

    一覧から選びます。引数の欄は、スクリプトを選ぶと下に出てきます

    #2 の下の[+]から足します。対象顧客リストは読むだけで、書き換えません。

  4. 4

    ファイルのコピー

    SharePoint変更なし

    名前を 出力用コピー に変える(式の中でこの名前を使います)

    コピー元
    ⚡ 動的なコンテンツトリガーの「ファイルパス」
    コピー先フォルダー
    選ぶ/食品ユニフォーム不良率自動化/出力
    既存の場合
    選ぶ置き換える
  5. 5

    スクリプトの実行

    Excel Online (Business)★スクリプトと引数を替える

    名前を 集計 に変える(式の中でこの名前を使います)

    ファイル
    ⚡ 動的なコンテンツ「出力用コピー」の ID

    参照ボタン(フォルダーのアイコン)では選びません。欄をクリック →[動的なコンテンツ]→「出力用コピー」の「ID」。同じ並びの「ItemId」ではありません

    スクリプト
    選ぶ不良率_週次集計

    v2 の 不良率_週次集計_v2 から替えます。選び直すと引数の欄が空に戻るので、下の2つを入れ直します

    settingsJson
    fx 式outputs('設定読み出し')?['body/result']
    targetJson
    fx 式outputs('対象顧客読み出し')?['body/result']

    ★v3 で増えた引数。文字列のまま渡します(JSON の解析はしない)

  6. 6

    JSON の解析

    データ操作★スキーマを貼り替え

    名前を 集計結果 に変える(式の中でこの名前を使います)

    コンテンツ
    fx 式json(outputs('集計')?['body/result'])
    スキーマ
    貼り付けスキーマ(全文)

    今入っている v2 のスキーマを全部消してから貼ります(拠点ごとのメール siteMails などが増えています)

  7. 7

    ファイル コンテンツの取得

    SharePoint変更なし

    名前を 出力ブックの内容 に変える(式の中でこの名前を使います)

    ファイル識別子
    ⚡ 動的なコンテンツ「出力用コピー」の ID

    「ItemId」ではなく「ID」

  8. 8

    ファイルの作成

    SharePoint変更なし

    名前を 週末日の名前で保存 に変える(式の中でこの名前を使います)

    フォルダーのパス
    選ぶ/食品ユニフォーム不良率自動化/出力
    ファイル名
    入力不良率_〔periodEnd〕.xlsx

    例:不良率_20260816.xlsx

    ファイル コンテンツ
    ⚡ 動的なコンテンツ「出力ブックの内容」のファイル コンテンツ
  9. 9

    ファイルの削除

    SharePoint変更なし

    名前を 一時コピーの削除 に変える(式の中でこの名前を使います)

    ファイル識別子
    ⚡ 動的なコンテンツ「出力用コピー」の ID

    「ItemId」ではなく「ID」

  10. 10

    スクリプトの実行

    Excel Online (Business)ブックを差し替え

    名前を 履歴追記 に変える(式の中でこの名前を使います)

    場所
    選ぶ業務部サイト(SharePoint)
    ドキュメント ライブラリ
    選ぶドキュメント
    ファイル
    選ぶ/食品ユニフォーム不良率自動化/設定/【設定管理】不良率_しきい値と通知先_v3.xlsx

    欄の右のフォルダーのアイコンから選びます

    スクリプト
    選ぶ不良率_履歴追記

    一覧から選びます。引数の欄は、スクリプトを選ぶと下に出てきます

    resultJson
    fx 式outputs('集計')?['body/result']

    解析したあとの body('集計結果') ではなく、文字列そのものを渡します

  11. 11

    条件

    コントロール変更なし

    名前を アラートあり に変える(式の中でこの名前を使います)

    左の値
    fx 式int(string(body('集計結果')?['alertCount']))
    比べ方
    選ぶ次の値より大きい
    右の値
    入力0
  12. 12

    メールの送信 (V2)

    Office 365 OutlookTrue(はい)の中本文の式を替える

    名前を 全社宛て に変える(式の中でこの名前を使います)

    宛先
    fx 式body('集計結果')?['notifyTo']
    件名
    fx 式body('集計結果')?['mailSubject']
    本文
    fx 式replace(body('集計結果')?['mailBody'], decodeUriComponent('%0A'), '<br>')

    本文の改行がメールで詰まらないよう、<br> に置き換える式にします

  13. 13

    それぞれに適用する

    コントロールTrue(はい)の中、#12 の下★新しく足す

    名前を 拠点ごとに送る に変える(式の中でこの名前を使います)

    前のステップから出力を選択
    fx 式body('集計結果')?['siteMails']

    ⚡ の一覧から選ばず、fx で入れます(⚡ で選ぶとループがもう1つ自動で作られることがあります)

  14. 13-1

    メールの送信 (V2)

    Office 365 Outlook#13 の中★新しく足す

    名前を 拠点宛て に変える(式の中でこの名前を使います)

    宛先
    fx 式items('拠点ごとに送る')?['宛先']
    件名
    fx 式items('拠点ごとに送る')?['件名']
    本文
    fx 式replace(items('拠点ごとに送る')?['本文'], decodeUriComponent('%0A'), '<br>')
    CC
    fx 式items('拠点ごとに送る')?['CC']

    [詳細パラメーター]→[すべて表示]で出ます

    siteMails に入るのは「通知先シートに宛先があり、今週アラートがある拠点」だけです。宛先が空欄の拠点には送りません。

  15. 14

    (何も置かない)

    False(いいえ)変更なし

    アラートが0件の週もメールが欲しい場合は、ここに全社宛てのメールを置きます。

  16. 保存

    右上の[保存]

    操作
    選ぶ[保存]→「フローを開始する準備ができました」と出れば完了

    保存で止まるときは、エラーの出たアクションの欄が空になっていないか(特に #5 の引数)を見ます。

4

8/10〜8/16 のデータで動かして確かめる

下の数字は、当社の検証環境で同じ4本のスクリプトを実データに対して実行し、別の計算でも突き合わせた結果です(508社すべて一致)。同じデータを置けば、同じ結果になります。

  1. 1

    8/10〜8/16 のブックを投入フォルダに置く

    置くファイル
    「仕上データ」「不良交換」の2シートを持つ 8/10〜8/16 のブック
    ファイルの形式
    Excel ブック(.xlsx)

    CSV(.csv)・古い形式(.xls)のままでは集計できません。基幹から CSV で出した場合は、Excel で開いて[名前を付けて保存]→「Excel ブック (*.xlsx)」で保存し、2つのシートを1冊にまとめます

    置き場所
    /食品ユニフォーム不良率自動化/投入

    置いてから1〜数分でフローが動きます。フローの詳細画面の[28日間の実行履歴]で確かめます。CSV を Excel で開くと得意先コードの先頭の「0」が消えますが、そのままで構いません(スクリプトが9桁に戻して照合します)。

  2. 2

    実行がすべて緑になるか

    見るところ
    選ぶ実行を開き、#1〜#13-1 に緑の印が付いているか

    赤い印のアクションがあれば、そこを開いてエラー文を読みます(下の「つまずいたら」)。

  3. 3

    出力ブックができているか

    見るところ
    /食品ユニフォーム不良率自動化/出力/不良率_20260816.xlsx
    シート
    拠点別サマリー/得意先別明細/現物確認リスト の3つ

    03【完成イメージ】不良率_20260816_v3.xlsx と見比べます。

  4. 4

    数字が完成イメージと同じか

    対象顧客
    508社(8拠点)。うち今週データが無い得意先 59社(0枚の行で載る)
    全社
    仕上 269,737枚/不良 1,881枚/不良率 0.70%
    アラート
    23件(現物確認リストの行数)。拠点ごとの内訳は 03 の拠点別サマリーと同じになること
  5. 5

    空欄のセルが無いか

    見るところ
    選ぶ得意先別明細で、空白のセルが無いこと

    値が無いところは「消耗廃棄なし」「仕上なし」「前週なし」「-」などの文字が入ります。初回は前週の履歴が無いので、前週の8列はすべて「前週なし」です。

  6. 6

    全社宛てのメールが届くか

    届く先
    設定シートの「通知先」の15件
    件名の形
    【不良率】2026/08/16週 …

    本文が改行されて読めるか(行が詰まっていないか)も見ます。

  7. 7

    拠点宛てのメールが届くか

    届く先
    通知先シートに宛先を入れた拠点だけ

    通知先シートが空欄のままなら、拠点宛ては送られません(正常)。宛先を入れたあと、もう一度置いて確かめます(5. 設定の変え方)。

  8. 8

    履歴が追記されたか

    見るところ
    設定管理ブックの「履歴」シート
    増える行
    516行(拠点8+得意先508)。週末日は 20260816
  9. 9

    同じブックをもう一度置く

    確かめること
    履歴が 516行のまま(同じ週の行を消してから入れ直すので二重にならない)。出力ブックは置き換わる

    同じファイル名で置き直すと、トリガーが動かないことがあります。名前を変えて(例:末尾に _2)置きます。

あわせて確かめていただきたいこと(御社の環境で初めて分かること)

確かめること見方・うまくいかないとき
Excel on the web で、先頭行の固定・オートフィルター・折り返し・列幅の自動調整が効くか得意先別明細を開いて、見出しが固定され、フィルターのボタンが出ているか
設定管理ブックを開いたままフローが動いたとき誰かが開いたままだと「履歴追記」が 423(ロック)で失敗することがある。失敗したらブックを閉じて[再送信]
ブックの大きさ・実行時間Excel のスクリプトは1回120秒・1回の読み書き5MBまで(Microsoft の上限)。うまくいかないときは次回の定例会でお知らせください(当社でスクリプトの読み込み単位を小さくします)
得意先コードの先頭の0基幹から Excel で出したときに得意先コードが数値になり、先頭の0が落ちていないか。落ちていると対象顧客リストと突き合わなくなります

5

設定の変え方(宛先・しきい値・対象顧客)

どれも設定管理ブック・対象顧客リストを書き換えて保存するだけで、次の集計から反映されます。フローは触りません。

変えたいもの書き換える場所やり方
拠点ごとの宛先設定管理ブック「通知先」シートの「宛先」列拠点の行に、その拠点のアラートを受け取る方のアドレスを入れて保存(複数は ; 区切り。CC 列も同じ)。拠点名の列は変えない。空欄の拠点には拠点宛てのメールを送りません
全社宛ての宛先設定管理ブック「設定」シートの「通知先」今は配信先15件すべてが入っていて、全員に全拠点のアラートが届きます。拠点宛てだけにする方は、ここから外して保存
しきい値設定管理ブック「設定」シートの「最低枚数」「最低不良率」数字を書き換えて保存(2.0 と書けば 2.0%)。下の表が 8/10〜8/16 での件数です
対象顧客リストの更新/食品ユニフォーム不良率自動化/設定/【対象顧客リスト】食品UF不良率.xlsx得意先を足す・外すときは行を足す・消して保存。最新版に替えるときは同じ名前で置き直す。次の投入から反映されます

しきい値ごとのアラート件数(8/10〜8/16・対象顧客508社)

「1拠点あたり多くても5件」が目安です。○は、すべての拠点で5件以内に収まる組み合わせです。

最低枚数最低不良率全体の件数最も多い拠点全拠点5件以内備考
5枚以上2.0%以上23件9件×今の設定
5枚以上2.5%以上19件7件×
5枚以上3.0%以上11件4件○
5枚以上4.0%以上5件2件○
10枚以上2.0%以上13件4件○
10枚以上2.5%以上10件3件○
10枚以上3.0%以上6件2件○
15枚以上2.0%以上7件4件○

しきい値を変えたら、同じブックを名前を変えてもう一度置くと、新しい基準での件数とメールを確かめられます。

参考

つまずいたら

症状原因対処
#5(集計)が赤くなる投入したファイルが CSV(.csv)・.xls のまま、または保存形式に「Strict Open XML スプレッドシート」を選んだExcel で開き[名前を付けて保存]→「Excel ブック (*.xlsx)」で保存し、名前を変えて置き直す
スクリプトの一覧に「不良率_週次集計」などが出てこないExcel の[自動化]に登録していない/別のアカウントで登録した/Power Automate の画面が古いフローの所有者のアカウントで登録し、Power Automate のページを再読み込み
「上から20行に、『得意先コード』と『顧客名』の見出しが見つかりません」対象顧客リストの見出しが違う/いちばん右のシートが別の表「対象顧客」シートを作り、1行目を 生産拠点/得意先コード/顧客名 にする
「targetJson の解析に失敗しました」#5 の targetJson に別のものを渡しているoutputs('対象顧客読み出し')?['body/result'] を渡す
JSON の解析(#6)が失敗するv2 のスキーマのまま/一部だけ貼ったスキーマを全部消して、このページのスキーマを全文で貼り直す
「履歴追記」が「resultJson が空です」で失敗解析後の body('集計結果') を渡しているoutputs('集計')?['body/result'] を渡す
全社宛てのメールが宛先なしで失敗設定シートの「通知先」が空欄通知先にアドレスを入れて保存
拠点宛てのメールが届かない拠点がある通知先シートの宛先が空欄/拠点名がリストの生産拠点と違う/その拠点に今週のアラートが無い拠点名はリストの「生産拠点」と同じ文字にする
メール本文の改行が詰まる本文の式が replace(…) になっていない#12・#13-1 の本文を、このページの式に貼り直す
「シート『仕上データ』が見つかりません」投入したブックのシート名が違う/出力ブックを投入フォルダに戻したシート名は「仕上データ」「不良交換」。出力ブックは投入フォルダに置かない
得意先別明細の行数が508より少ない生産拠点が空欄で、仕上データからも拠点が決まらなかった得意先がある対象顧客リストの「生産拠点」を埋める

ほかの症状は 02【手順書】の「④エラー対応」にまとめています。解決しないときは、エラーの画面を残しておき、次回の定例会でお見せください。

参考

次回の定例会

それまでにお願いしたいこと

この手順書の 1〜4 の設定と、8/10〜8/16 のデータでの動作確認。うまくいかなかった手順は、番号とエラーの画面を控えておいてください。

次回の定例会で進めること

つまずいた箇所の解消。拠点ごとの宛先・全社宛ての宛先・しきい値・トリガー(リスト更新でも動かすか)・対象顧客リストの更新方法を決めて、設定管理ブックに入れます。不良交換データの抽出期間(週の範囲に合わせる)も確認します。

現場で使い始めるまで

宛先の確定と、各拠点での受け取りの確認で2〜3週間の見込みです。