すべてが数値の場合のみ値を減算する

すべてが数値の場合のみ値を減算する

Excelの4つのセルから特定のセルを減算したいのですが、4つのセルのいずれかに値がある場合のみです。具体的には、私の場合、セルL2の数式は現在

=IF(AND(ISNUMBER(E2),ISNUMBER(G2),ISNUMBER(I2),ISNUMBER(K2),),"",D2-E2-G2-I2-K2)

しかし、セル E2、G2、I2、K2 のいずれかまたはすべてに値がある場合にのみこれを計算したいのです。上記が当てはまらない場合、L2 が 0 を返すようにするには、数式に何が欠けているのでしょうか?

答え1

あなたがすべきことは、そして私たちが2日前にあなたにお願いすべきだったことは、どのような入力に対してどのような結果を望むかの例をいくつか示すことです。はい、いくつか挙げていただいたことは承知していますが、編集済み質問にコメントを追加すると、表形式のデータや長い数式を記述する場所としては最悪です。間違っている質問を理解するために必要な情報のための場所です。とにかく、サンプル データをいくつか作成しました。すべてが正しいわけではないことに注意してください。一貫性がないため、すべてが正しいわけではないことはわかっていますが、まだあなたが何を求めているのか理解するのに苦労しているため、すべてを正しくするのは難しいでしょう。

        Case       D        E        G        I        K        L (Result)
        fee       40        1                                  39
        fie       40        0.01                               39.99
        foe       40        0                                  40
        fum       40                                           40
        foo       40                                            0

ケースfeeとがfieあなたの希望を反映していない場合、私たちは深刻なコミュニケーションの問題を抱えています。あなたが実際に何十億年もの間、決して0、、、またはの場合、 の場合を心配する必要はありません。したがって、40,000 ドルの質問は、 ( = 40) と ( = 0) のどちらが欲しいかということE2です。G2I2K2foefumL2fooL2

fumL2=40)

これは簡単です。L2以下のいずれかに設定してください。

  • =D2-E2-G2-I2-K2
  • =D2-(E2+G2+I2+K2)
  • =D2-SUM(E2,G2,I2,K2)

これらは同等です。

fooL2= 0)

少し長くなりますが、同様に明白です:

=IF(OR(ISNUMBER(E2),ISNUMBER(G2),ISNUMBER(I2),ISNUMBER(K2)), D2-E2-G2-I2-K2, 0)

これは、Teylyn の回答と私のコメント (「セルのいずれかまたはすべてに値がある場合に減算を計算する場合は、 のOR代わりにを使用しますAND。」)を組み合わせたものなので、見覚えがあるかもしれません。

え?何?

あなたのオリジナルの式、

=IF(AND(ISNUMBER(E2),ISNUMBER(G2),ISNUMBER(I2),ISNUMBER(K2),),"",D2-E2-G2-I2-K2)

(Teylyn が指摘したように) AND()5 つのパラメータを使用して関数を呼び出します。

  • ISNUMBER(E2)
  • ISNUMBER(G2)
  • ISNUMBER(I2)
  • ISNUMBER(K2)、 そして
  • (空白)。

空白の値がExcelで数値として使用された場合、0(ゼロ)として扱われます。そのため、「fum」数式が機能します。空白のセルには0が含まれているかのように扱われます。同様に、空白の値がExcelでブール値(つまり論理値)として使用された場合、FALSEであるかのように扱われます。したがって、数式は次のように動作します。

=IF(AND(ISNUMBER(E2),ISNUMBER(G2),ISNUMBER(I2),ISNUMBER(K2),間違い),"",D2-E2-G2-I2-K2)

は なので、上記はAND(anything, FALSE)FALSE

=IF(FALSE, "", D2-E2-G2-I2-K2)

あるいは単に

=D2-E2-G2-I2-K2

これは「 」式なので、見覚えがあるかもしれませんfum


もう着きましたか?

もし私があなたの質問の難解な部分を見逃していたら、質問を編集する明確にするために、たとえば、上記のどちらの回答でも希望する結果が得られない場合のサンプル データを追加します。

答え2

すべての条件が満たされると、数式は空の文字列を返します。その場所で計算する必要があると思います。AND() 関数に不要なコンマがあります。

あなたの口頭での説明によると、おそらく必要な式は次のようになります

=IF(AND(ISNUMBER(E2),ISNUMBER(G2),ISNUMBER(I2),ISNUMBER(K2)),D2-E2-G2-I2-K2,0)

すべてのセルに値が含まれている場合にのみ計算が行われます。

しかし、これはセル E2、G2、I2、K2 のいずれかまたはすべてに値がある場合にのみ計算されるようにします。

決断する必要があります。いずれかのセルに値が含まれている場合に計算を実行する場合は、IF ステートメントは必要ありません。その場合は、減算を実行するだけです。

答え3

補助行が必要かもしれません。次の数式を使用して、問題のセルのすぐ下に置くことができます。

=IF(ISNUMBER(E2),E2,0)
. 次に、ヘルパー行で単純な減算を実行できます。もちろん、その数式は E3 に入力されます。ちなみに、AND ステートメントは、そのすべての引数が true の場合にのみ true になるため、数式は、その中のすべてのセルに数値が含まれている場合にのみ機能します。1 つのセルにのみ数値以外の値が含まれている場合、数式は false と評価され、計算されません。参考までに、False = 0、True = Not False です。

関連情報