2012-04-12 11 views
11

Excelで2つの配列の論理和をとって配列を作ろうとしています。 7、8、-3およびB1 A3である:一例として、2つの配列A1はせ、B3 4、-8こと-8Excelで配列に論理ORを適用する方法

これはかなり単純であるべきであるが、それはその

OR (A1:A3 > 0 ; B1:B3 > 0) 

リターンを表示私が期待している配列の代わりにTRUE(TRUE、TRUE、FALSE)。もちろん

私は

(((A1:A3 > 0)*1 + (B1:B3 > 0)*1) >= 1) *1 

のような汚れたトリックを使用することができますが、誰がそれを維持したいのでしょうか?

また、「CSE(Ctrl-Shift-Enter)フォーミュラ」(http://www.mrexcel.com/articles/CSE-array-formulas-excel.php)を検索するには、黒い魔法のように見える。

私は簡単に何かを見逃しましたか?

私が構築しようとしている実際の数式はちょっと複雑です。それは "(ステータス== ORステータス== B)AND日付=いくつかのセル"のすべての行を(SUMPRODUCT経由で)カウントしようとしています。私が探しているORは私SUMPRODUCTのひとつ配列で、(それはあまりにも簡単だろう)

答えて

13
あなたは通常、ORやAND「配列数式」、ので、あなたが持っているように使用することはできません

細胞で定義されていませんここで発見された場合、結果は1つしか返されません(ANDはTRUE、TRUEの場合はTRUE、TRUEの場合はTRUEです)。例ではTRUEになります。 6値は正である)。

あなたは+共同ercesので、最初の2 * 1を必要としませんが、私は、のOR効果的な場所に+を使用して、あなたの提案に似たものを使用したいので、これで十分でしょう

=((A1:A3 > 0) + (B1:B3 > 0) >0) *1

使用すると、1つの事または別のことができる単一の列を持っているならば、それは確かに、相互に排他的ですので、おそらくちょうど

=(A1:A3="A")+(A1:A3="B")

+0

+1よく覆われたバリー – brettdj

+0

ありがとうございます。しかし、まだ "クリーナー"の式を期待しています。 – PPC

+0

"cleaner"の定義におそらく依存しています....しかし、私はそれ以上のエレガントな方法はないと思っています。おそらく、IF関数を使うともっと透明です。 '= IF(A1:A3> 0,1、IF(B1:B3> 0,1,0)、0)' ......しかし、SUMPRODUCT内であっても、配列を入力する必要があります –

3

清潔でrelativelを必要としているものの、この周りにY簡単な方法は、IFネストされたステートメントを使用することである。

IF(A1:A3 > 0, TRUE, IF(B1:B3 > 0, TRUE, FALSE)) 

Aの数値が0より大きい場合、これはTRUEを返していない場合はBの数値が0より大きい場合、その後、、、TRUEを返しますがそれ以外の場合はFALSEを返します。

基本的には、独自のOR機能を作成しています。あなたはANDで同じことをすることができます。あなたが条件付きで、条件付きでない限り、他のすべてをそれらの中から作ることができます。

2

テーブル内の特定のデータの中央値の配列式を実行しました。たとえば、データにはX、Y、Zのグループがありました.XとYの2種類のデータの中央値を取得したいので、配列内でORステートメントを使用できませんでした。

元のデータセットに新しい列を作成しました。IF列A = XまたはA = Y、 "1"を表示、IF "0"を表示しない

すべてのデータグループがこの列で1または0のいずれかとして、配列内にOR文が不要になりました。

私にとってはうまくいきました。この新しいIF文を崩さずに、簡単に元のテーブルに新しいデータをコピーして貼り付けることができます。

関連する問題