9

ネストされた 'AND' を配列数式の 'IF' 内で機能させるにはどうすればよいですか?

問題を次の例に減らしました: ネストされた AND を含む配列数式を示す Excel スプレッドシート 注: 上の画像は、配列数式の中括弧を含むように更新されています。

右上には、L3 (「色」) と L4 (「形状」) の検索基準があります。左側の列 D には、アイテムのリスト内の色と形状の両方に対応する有効な一致式が含まれています。最初の表は、配列数式を使用せずに正しく機能する一致数式を示しています。

2 番目の表は、色に一致する配列数式を示しています。

3 番目の表は、形状に一致する配列数式を示しています。

右側は、配列数式で両方の条件を AND で組み合わせて使用​​しようとした試みです。

色の列の値が色の基準 (L3) に一致し、形状の列の値が形状の基準 (L4) に一致する場合、「MATCH!」が表示されます。

回避策を見つけました。値と基準を連結し、単一の IF 内でそれらを一致させます。より良い方法があるべきだと思います... ANDが期待どおりに機能した場合のように!

注: 以下の回答の多くは正しく機能しますが、配列数式としては機能しません。これは、特にこの質問に関するものです。元の質問を見て、配列数式の例で中括弧を表示するのを忘れていたことに気付きました。それらを示すために画像を修正しました。混乱させて申し訳ありません。

これらの質問に答える鍵は、セルに数式を入力した後に CTRL + SHIFT + ENTER を押すことによって入力される配列数式として機能する何かを記述することです。Excel は自動的に中かっこを追加して、それが配列数式であることを示します。

4

3 に答える 3

13

次の配列数式を使用してみてください:

=IF(($J$16:$J$22=$L$3)*($K$16:$K$22=$L$4),"MATCH!","-")

ここにテスト ワークブックへのリンクがあります。

于 2014-01-11T08:03:50.307 に答える
5

の中に IF をネストしてvalue of trueIFを実現できIF something AND somethingelseます。例えば ​​:

=IF(A1="something", IF(A2="somethingelse", "A1 is something and A2 is somethingelse", "A1 is something but A2 is not something else"), "A1 is nothing and A2 is nothingelse")

このコードを試す際の追加の詳細: A1 に「something」(引用符なし) を書き込み、A2 に「somethingelse」を書き込み、その数式をそのシートの他のセル内に配置します。これらの値をいじって、ネストされた IF のどこに到達するかを確認します。

于 2014-01-11T01:12:05.690 に答える
0

AND の代わりに、次の 2 つの方法のいずれかを使用できます。条件の間に「*」を挿入します。2 つ目の方法は、ネストされた If を使用することです。たとえば、次のいずれかです。

=IF(($J$16:$J$22=$L$3)*($K$16:$K$22=$L$4),"MATCH!","-")

また

=IF($J$16:$J$22=$L$3, if($K$16:$K$22=$L$4,"MATCH!","-"))

論理的に OR または XOR を使用するには、それに応じて ()+() または - を配置する必要があります。今はテストしていません。

よろしく、M

于 2018-01-24T16:19:12.607 に答える