1
IF(OR(ISNA(MATCH(8,B10:B17,0)),MATCH(8,B10:B17,0)>8),"",...BLAH...)

数式を再配置することでこの問題を解決する方法を理解しています。この点を示すために、私はそれをそのまま持っています。最初の MATCH() が NA を返すかどうかを確認する OR() ステートメント チェックを確認できます。その場合、OR() は自動的に TRUE を返し、2 番目の MATCH() を評価しないようにする必要があります。これは、OR() が true を返す条件が満たされているためです。最初と 2 番目の MATCH() 関数が同じことを行うことに気付くでしょう。何が起こっているのかというと、関数全体が NA を返しているということです。2 番目の MATCH() が実行される必要はありませんが実行されているためです。OR() は 1 つの TRUE で満たされているため、関数は "" を返す必要があります。

これはバグですか、それとも意図的なものですか?

4

2 に答える 2

4

Excel の数式では、OR は評価を省略しません (AND も省略しません) が、IF は省略します。昔からそうだったから意図的なのかな。

于 2010-04-29T18:37:32.003 に答える
0

チャールズが言ったことをさらに詳しく説明すると、OR と AND はその性質上、短絡することはできません。この数式は、すべての入力を評価して結果を導き出します。そうは言っても、おそらく、あなたが求めていることを行うUDFを書くことができます。

于 2010-04-29T18:51:29.843 に答える