しごと自動化レシピ

WORK RECIPE Power Query

Power Queryで数量から完全な箱数と余りを計算する

数量から完全な箱数と余りを計算するレシピです。外部ファイルや業務データへ接続せず、入力を含んだMコードで変換と結果の対応を確かめます。更新時にも同じ処理を再利用できます。

数量と入数 → 箱数と余り(作業の流れを表す概念図)
変換処理を実機確認

確認日時:2026-10-17T23:59:13.6892056Z

確認環境:{"excel_version": "16.0", "excel_build": 20430, "os": "Windows (64-bit) NT 10.00", "engine": "Microsoft.Mashup.OleDb.1 / native Excel Power Query"}

確認した範囲

  • 掲載MコードをそのままネイティブPower Queryで実行
  • 事前に作った独立の期待表と列名・全行の値を照合。日時のZと+00:00は同じUTC表現として比較。

未確認・対象外

  • 記事のGUIクリック経路
  • 他Excel版・他OS・業務データ

実機での処理結果の確認と、記事の全画面操作の確認は別です。実行確認の記録(JSON)で確認結果と原稿のSHA-256を参照できます。

できあがるもの

箱数/余りは4/3、4/0、0/4です。必要箱数の切り上げとは異なり完全に満たせる箱だけです。

始める前に

  • Windows版Excel for Microsoft 365のPower Queryエディターを対象とします。データタブから空のクエリを作成できる環境が必要です。Mac版・Web版や古い版の画面手順は対象外です。
  • 新規の検証ブックを使用します。コード中の架空入力だけを扱い、既存クエリ・認証情報・プライバシーレベルや業務ファイルは変更しません。
入力例

下記コードのSourceに入力例をすべて含めています。#tableは列と行を持つ表、{ }はリスト、[ ]はレコードです。日付は#date、日時は#datetime等のMリテラルで指定し、PCの表示形式や地域設定で解釈が変わらないようにしています。外部データへの接続はありません。

手順

  1. Excelのデータタブから「データの取得」→「その他のデータソースから」→「空のクエリ」を開きます。Power Queryエディターでクエリ名を「検証_split_quantity_packs」にし、他のクエリと区別します。
  2. ホームの詳細エディターを開き、初期のコード全体を次で置き換えます。先頭のletから末尾のResultまでを含め、途中の式だけを数式バーへ貼らないでください。
    let
        Source = #table(type table [数量=Int64.Type,入数=Int64.Type],{{23,5},{20,5},{4,5}}),
        Result = let B=Table.AddColumn(Source,"箱数",each Number.IntegerDivide([数量],[入数]),Int64.Type) in Table.AddColumn(B,"余り",each Number.Mod([数量],[入数]),Int64.Type)
    in
        Result
  3. 完了を押し、適用したステップでSourceとResultを順に選択します。Sourceの入力構造とResultの行数・列名・値を比較します。列名の大文字小文字、nullと空文字、数値と文字列は区別して確認してください。
  4. 期待結果に記した全行を照合します。必要なら閉じて読み込むの読み込み先で新規ワークシートを選びます。もう一度クエリを更新し、結果が同じになることを確認します。実務へ転用する前に入力の列名・型・例外方針を決め、検証用のSourceだけを接続元へ置き換えます。

期待結果と照合する

箱数/余りは4/3、4/0、0/4です。必要箱数の切り上げとは異なり完全に満たせる箱だけです。

まずこの入力例で確認し、件数や値が一致しているかを見ます。完了表示だけで判断せず、重複・空欄・対象外データも残っていないか確認してください。

うまくいかないとき

  • 数量は非負整数、入数は正の整数を前提にします。入数0や負在庫はこの作例の対象外で事前エラーとして扱います。
  • Power QueryはExcelのセル数式とは別のM言語です。式のカンマ・二重引用符・括弧を省略しないでください。明示した並べ替えがない結果は行順を保証する用途に使わず、値の組と件数で照合します。

止める・元に戻す

検証用クエリと、そのクエリから新規に読み込んだシートだけを削除するか、検証ブックを保存せず閉じます。業務ブックの既存クエリを上書きしないため元の処理はそのままです。外部ファイルの内容を変更するコードはありません。

公式資料・対応範囲

参照日:2026-10-18。公式資料の一般的な機能説明と、本記事固有の入力例の実行検証は別です。実務での短縮時間や効果は未計測です。

同じツールで試す

Power Queryの記事一覧へ →