Excel: 「January < now()」の評価が失敗する

Excel: 「January < now()」の評価が失敗する

友人はクライアントから月額 75 ドルを受け取ることになっています。

彼は、各顧客が月に支払った金額を入力し、これまでの不足額を計算できる Excel シートを希望しています。

私は彼のために解決策を作ろうと、次のようなことを試みました。

行 3 の列 2 から左に向かって、月の最終日を入力します。行 4 の列 1 には「クライアント 1 の支払い」があり、列 2 の列 13 にはクライアント 1 の支払いを記録するセルがあります。

行 4 列 14 に次の数式があります。

=sum(if(B3<now(), B4-75, 0), if(C3<now(), C4-75, 0), if(D3<now(), D4-75, 0), if(E3<now(), E4-75, 0), if(F3<now(), F4-75, 0), if(G3<now(), G4-75, 0), if(H3<now(), H4-75, 0), if(I3<now(), I4-75, 0), if(J3<now(), J4-75, 0), if(K3<now(), K4-75, 0), if(L3<now(), L4-75, 0), if(M3<now(), M4-75, 0), if(N3<now(), N4-75, 0))

ただし、合計は 0 となり、各セルで IF テストが失敗していることを意味します。

なぜそうしないのでしょうか31/1/2015 < now()?

ありがとう。

アップデート: 数式を評価すると、now() は 42291.60678... と評価されますが、これは「January」とは一致しません。

ここに画像の説明を入力してください

答え1

Excel では日付は数値として保持されます (実際、日付は 1900 年 1 月 1 日からの日数として表されます)。そのため、NOW() が 42291.6067 と評価されるのは当然です。異常なのは、セル B3 (「1 月」と表示されるか、「2015 年 1 月 31 日」と表示されるかに関係なく) が数値 42035 として表されないことです。

したがって、数値が正しく保存されていることを確認してください。セル B3 (または日付を含む他のセル) を選択し、数値の形式を日付に変更します (ホーム > 数値 > 短い日付または長い日付)。うまくいかない場合は、日付をもう一度入力してください。いずれにしても、"テキスト" 形式ではないことを確認してください。

答え2

数式に #REF! エラーがあります。長くてエラーが発生しやすい数式を避けるために、次の行列数式を使用することをお勧めします。

    =SUM(IF(B3:N3<TODAY(),B4:N4-75,0))

これをセル O4 に貼り付け、CTRL-Shift-ENTER (Control、Shift、Enter キーを同時に押す) で終了します。数式が中括弧で囲まれて表示されます。

関連情報