入金済みか未収か(SUMIFS + IF)

ふつう 数学
問題文
ヒント 0/4
模範解答 2
–
テストケース
1
2
3
リセット
提出
fx
A
B
C
D
E
F
G
1
2
3
4
5
6
7
8
9
10
インタラクティブなスプレッドシートを読み込み中...
セルと数式の計算エンジンを準備しています
○ 準備完了 ハイライトされたセルに数式を入力し、「提出」を押してください。

問題

問題文

月末の消込です。請求書一覧は A2:B5、入金ログは D2:E8 にあり、1つの請求書が分割で入金されることもあります。A2 の請求書について「Paid」か「Outstanding」を Status セル G2 に入れてください。

「入金の行があるか」ではなく「その請求書の入金合計」で判断します。1回の分割入金では 500 の請求書は消えません。

問題のデータ

表でデータ全体を見る(選択・コピーできます)
この問題のデータ表
ABDEG
1InvoiceInvoicedInvoicePaidStatus
2INV-501500INV-501200
3INV-502320INV-501300
4INV-503180INV-502120
5INV-504900INV-503180
6INV-504400
7INV-504400
8INV-502200

ポイント解説

入金ログは1つの請求書に複数行あるため、VLOOKUP では最初の1件しか拾えません。SUMIFS で請求書ごとの合計に畳んでから IF で状態に変えます。一部入金は Outstanding にする必要があるので、比較は >= にします。

解き方のヒント

回答は G2 に入力します。送信時は 3 通りの入力で数式を再実行するので、数値を直接書くと必ず失敗します。数式はセルを参照してください。

  1. 対象セルは G2
  2. まず A2 の入金を合計:SUMIFS
  3. その合計と B2 を比べる
  4. 形:=IF(?, ?, ?)——条件は比較で、検索ではない

模範解答

模範解答を表示(2 通り・まずは自分で試してみましょう)

方法1:IF の中に SUMIFS

=IF(SUMIFS($E$2:$E$8, $D$2:$D$8, A2) >= B2, "Paid", "Outstanding")

INV-501 は 200 + 300 = 500 の入金で、請求額 500 と一致するため Paid。片方を減らせば同じ式が Outstanding を返します。

方法2:合計範囲が最後の SUMIF

=IF(SUMIF($D$2:$D$8, A2, $E$2:$E$8) >= B2, "Paid", "Outstanding")

SUMIF は条件範囲が先、合計範囲が最後です。この2つを入れ替えるのが典型的な SUMIF/SUMIFS の取り違えです。

関数ガイド

関連する練習問題

よくある質問

請求書が入金済みかどうかはどう判定しますか?

その請求書の入金合計と請求額を比べます:=IF(SUMIFS(入金額, 請求書列, 請求書番号) >= 請求額, "Paid", "Outstanding")。

入金ログに VLOOKUP を使わないのはなぜ?

VLOOKUP は最初の1行しか返さないため、分割入金の顧客を未収と誤判定します。SUMIFS で合計する必要があります。