Excelで「この関数に入力した引数が多すぎます」というメッセージが表示される

Excelで「この関数に入力した引数が多すぎます」というメッセージが表示される

ユーザーが要素を 1 つずつ追加して化学式を追加するテーブル (テーブルには 5 行あります) があり、2 つの方法で不飽和度を計算しようとしています。ユーザーはセルに 1 または 2 を書き込むことで方法を指定する必要があります。次に、次の if ステートメントがあります。 =IF(N16=1,((2*IF(ISBLANK(C8),0,(C8*(D8-2)))-(IF(ISBLANK(C9),0,(C9*(D9-2))-IF(ISBLANK(C11),0,(C11*(D11-2))+IF(ISBLANK(C12),0,(C12*(D12-2)))/2),(2+(IF(ISBLANK(C8),0,(C8*(D8-2))+IF(ISBLANK(C9),0,(C9*(D9-2))+IF(ISBLANK(C11),0,(C11*(D11-2))+IF(ISBLANK(C12),0,(C12*(D12-2))))))))) これらの ISBLANK は、セルに要素が書き込まれているかどうかを確認するためのものです。

答え1

まあ、この数式だけを見ても、何をやっているのか意味が分かりませんね。

もしExcel が報告するエラーを除いて、基本的に計画どおりに行われる場合、数式には次の概念が含まれます。

ある条件 (この場合は N16=1) が TRUE の場合は、これを (「これ」が何であれ) 報告し、TRUE でない場合は、これを (「これ」が何であれ) とにかく報告します。

つまり、次のようになります。

=IF(A1=1,50,50)

重要なのは、TRUE と FALSE で同じ結果が得られる場合は、 を使用する意味がないということですIF()。状況によってはロジック外の理由が存在する可能性があり、そのうちの 1 つが当てはまる可能性があることに注意してください。THAT を解決するために意味のある情報が何も提供されていないため、何とも言えません。しかし、何も解決しない場合は、その可能性が非常に高いため、 を使用する理由は何でしょうかIF()

したがって、ここでは TRUE または FALSE の結果のみが重要です (同じであるため)。数式のこれらの部分のいずれかを使用するだけで、数式を簡略化できます。

それは「単純化」したい場合です。大幅に簡素化次に、各テストが何を行うかを考えます。各テストの基本的な結果は、あるセルから 2 を減算し、それをテスト セルで乗算することです。すばらしいですね。そのテスト セルが空白の場合、Excel はそれを 0 と見なし、その乗算の結果は 0 になります。では、結果を 0 にするためなら、なぜ空白かどうかをテストする必要があるのでしょうか。実際の乗算だけで、他に何も必要なく自動的に実行されます。余分な作業とIF()アイデア全体を削除すれば、次のようになります。

=(2  *  C8*(D8-2)  -  C9*(D9-2)  -  C11*(D11-2)  +  C12*(D12-2)  )  /2

これを 2 倍して 2 で割る理由はなさそうなので、これも取り除きます。

=C8*(D8-2)  -  C9*(D9-2)  -  C11*(D11-2)  +  C12*(D12-2)

予想される「C10*(D10-2)」が正当な理由で存在しないものとみなして、先に進みます。

この時点で簡略化は停止します (いずれにせよ、技術的に言えば、この場合、これ以上のことは「簡略化」というよりも「合理化」になります)。上記の式を使用し、あなたの式を使用しないことの 1 つの大きな利点を指摘します。

これは非常にシンプルで、入力や生成が簡単なので、入力ミスが起きにくく、起きたとしても非常に簡単に見つけられます。これを数式と比較すると、その利点は簡単にわかるはずです。

この点、そして上記の特定の商売の秘訣が、この回答の重要な部分です。

関連情報