合計の組み合わせが見つからないときの確認順|一致なし・打ち切り・30件超

検索結果が0件でも、「最後まで調べた0件」と「途中で止まった0件」では意味が違います。明細を減らして再検索する前に、結果の状態と対象にした範囲を確認すると、存在する組み合わせを見落とす判断を減らせます。

この記事では、ITtripが提供する「合計さがし」を使う手順も紹介します。金額の組み合わせを探す道具として使い、元の明細や取引の内容は手元の資料で確認してください。

目次

最初に、完了したかを読む

表示される状態分かること次の行動
検索完了・候補あり貼り付けた範囲で一致候補が見つかった明細内容と元資料を比較する
一致する組み合わせはありません完了した検索範囲では一致候補がない対象の値・単位・範囲を確認する
計算打ち切り・0候補途中までは候補が見つかっていない不存在と決めず、条件を再確認する
計算打ち切り・候補あり途中までに見つかった候補がある表示候補を使いつつ、未確認範囲を残す

合計さがしの初期版は30件までの整数を対象にし、約5秒・100候補を上限にします。手動停止も途中の結果です。「候補がない」という結論は、完了した範囲に限って読みます。

50,001円の「一致なし」を検算する

合計さがしの架空請求書サンプル8件は、12,000、18,000、20,000、31,000、19,000、45,000、5,000、72,000円です。この一覧の目標を50,001円にして検索すると、「一致する組み合わせはありません」「すべての組み合わせを確認しました。」と表示されます。

確認するものこの例の値・意味
貼り付けた金額8件すべてが1,000円の倍数
目標金額50,001円で、1,000円の倍数ではない
検算1,000円の倍数をいくつ足しても50,001円にはならない

この例は、金額の性質からも一致しないことを確かめられます。目標を50,000円に戻すと3候補があるので、目標の1円の違いも結果を変えます。一方、一般の一覧を途中で止めた場合は、全組み合わせを確認した証拠がありません。途中の0件を「一致なし」と扱わない判断は、明細が増えたときも同じです。

架空請求書8件を目標50,001円で最後まで調べ、一致する組み合わせはありませんと表示した画面
サンプル8件・目標50,001円の完了0件。この検索範囲ではすべての組み合わせを確認し、一致する候補はありませんでした。

入力に原因がないか、順番に確認する

  • 目標と明細の単位が同じか。円と千円、税込と税抜を混ぜていないか。
  • 小計・総計の行を、個別明細と一緒に含めていないか。
  • 対象の相手や期間が抜けていないか。Excelのフィルターで非表示の行がないか。
  • 数字に見える文字列や小数が混ざっていないか。値を確認し、エラー行を黙って0に変えていないか。
  • 負の調整額や0円の明細が元資料どおり残っているか。

必要な明細が見当たらないときは、フィルターをクリアまたは削除する(Microsoft)に従って元のExcelのフィルターを確認します。文字列の数値は文字列として保存されている数値を数値に変換する(Microsoft)、前処理の文字確認はPower Query で余分なスペースや改行を整えるが参考になります。

30件を超える一覧を、行順で半分にしない

たとえば600円と400円が別々のグループに入ると、それぞれを1,000円で探しても0件です。しかし2行を同じ検索範囲に入れれば600+400=1,000になります。各グループで一致しないことは、全体で一致しないことの証明になりません。

グループA:600 → 1,000には一致しない
グループB:400 → 1,000には一致しない
全体:600 + 400 = 1,000

無作為な30件ずつの分割、上から30件だけの抽出、同じ金額の重複削除も、候補を欠くおそれがあります。初期版の上限を超える場合は、データの意味から対象範囲を決めるか、全体を扱える別の方法を選びます。

根拠のある絞り込みを記録する

絞る条件の例残す確認
入金対象の取引先が資料で特定できる対象名と確認した資料
対象期間が連絡明細で指定されている期間とその根拠
処理済み明細を対象外にする処理済みと確認した記録
条件が分からず件数だけ減らす検索範囲を限定しただけと記し、全体の結論を出さない

Excelのフィルター機能については範囲またはテーブルのデータをフィルター処理する(Microsoft)、繰り返し使う前処理にはPower Query のフィルター・行の保持・削除を学ぶを参照できます。負の金額があると、目標より大きい金額も一致候補に含まれ得るため、金額の大小だけで除外しないようにします。

同じ条件で再検索し、結果と範囲をセットで残す

  1. 確認した対象範囲を30件以内の一覧にし、元の行番号と摘要を残します。
  2. 目標金額を入力して検索し、完了か打ち切りかを確認します。
  3. 候補があれば元資料と比較し、必要な候補をコピーします。
  4. 候補の有無と一緒に、対象条件、除外理由、途中で止まった範囲を確認表に残します。

0円30件・目標0円では、100候補の打ち切りを確認する

完了0件の例とは別に、架空の0円を30件貼り付け、目標金額を0にする例を考えます。0円の行を加えても合計が変わらないため、含める行が違う候補が増えます。空の組み合わせを除いても、2の30乗-1=1,073,741,823通りあります。

  1. 金額だけの一覧に0を30行貼り付け、読み取り件数が30件であることを確認します。
  2. 目標金額に0を入力して検索します。
  3. 100候補の上限に達した場合は「計算打ち切り」と、ほかにも候補がある可能性を示す説明を確認します。
  4. 100候補を全候補の一覧と読み替えず、元の明細を比較するための途中結果として扱います。
0円30件・目標0円の検索が100候補の上限で打ち切られた結果画面
別の例では、0円30件・目標0円を検索し100候補で打ち切り。全候補の表示ではなく、ほかにも候補がある可能性を示しています。

この候補数の上限による打ち切りを、手動停止の0候補や完了0件の画面と取り違えないでください。端末の処理が約5秒に達するなど、別の理由で先に止まった場合も、実際に表示された理由と件数を読みます。

存在しない金額の組み合わせを作ることも、意味のある明細を件数だけで捨てることも、照合の解決にはなりません。検索の道具が返した候補と、対象資料を確かめる作業を組み合わせて使いましょう。

参考にした公式資料

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次