割引の値に桁区切りのカンマが入っている例

割引の値が二重引用符で囲まれた「1,000」のように桁区切りを含む壊れやすい入力です。数字として読めないため誤割引とは断定せず、判定できなかった行として指摘することを確かめます。

入力

売上明細の CSV(1 行目は見出し)

id,code,discount
1,X900,"1,000"
2,A100,30

対象外の商品コード(1 行に 1 件)

X900

商品コードの列(1 列目が 1)

2

割引の列(1 列目が 1)

3

区切り文字

カンマ(,)

結果

エラー 0 件・警告 1 件・情報 2 件

指摘(エラー・警告・情報)

  • 警告 2 行目 対象外の商品「X900」の割引の値「1,000」が数値ではないため判定できません(桁区切りのカンマや単位は外してください)。
  • 情報 全体 対象外の商品に割引が付いた行は見つかりませんでした。
  • 情報 判定の基準 「割引あり」は、割引の列が 0 以外の数であることを指します。コードは前後の空白を除いた文字列の完全一致で比べます。割引が正当かどうかの判断(条件・法令など)はしません。
検査した明細2 行
対象外コード1 件
割引が付いた対象外の行0 行
判定できなかった行1 行

対象外なのに割引が付いた行

出力はありません(指摘の一覧をご覧ください)。

検算(この結果になる理由)

RFC 4180 2 節の 5〜6 の読み方で、引用符で囲まれた 1,000 は 1 つの値として読まれます。ただしカンマを含む文字列は数として扱えないので判定せず、2 行目を警告にします。A100 は対象外ではないので結果に影響せず、表は出ません。

判定の根拠は仕様と根拠に、仕様の出典とともにまとめています。自分の入力で試すにはツールをお使いください。

このツールの制約

ご利用にあたって

  • 表に出た行は、設定した基準(対象外コードの完全一致と割引の列が 0 以外)に当てはまる明細です。誤りかどうかは、キャンペーンの条件と元の伝票で確かめてください。

ほかの入力例