2014-03-05 93 views
0

我試圖用Excel來模擬投資組合重新平衡策略。將數組與Excel中的IF語句進行比較

假設有10個股票,每個股票的目標分配權重和可接受的上限和下限波段。如果樂隊在任何一個方向都被超過,重新平衡是強制性的。每隻股票都有不同的權重。我現在試圖想出一個if語句來比較每隻股票的實際分配權重(在模擬收益之後)與其個別上/下波段。

E3:E13是期間收益後的實際分配權重。

C3:C12是下可接受值

D3:D12越高可接受的值。

我嘗試下面的公式來填充基於與任何"yes" (= rebalance) or "no" (= not rebalance)細胞上的下一個任期的分配將依據:

=IF(E3:E12<$C$3:$C$12,"yes",IF(E3:E12>$D$3:$D$12,"yes","no")) 

我希望這會比較E3 with C3E4 with C4等,也E3 with D3E4 with D4等等。不幸的是,這個公式並沒有創造出正確的輸出結果,當一些頻段被超過時,它通常會說「不」。我怎麼能解決這個問題?

+0

你的意思是說如果E3:E12應該與C3:C12的細胞一致嗎?如果所有值都匹配,則顯示yes否則不顯示? –

+0

不,公式應該顯示「是」,如果有一個或多個值匹配,如果沒有匹配,則顯示「否」。 – user3333198

回答

2

是這樣的嗎?你需要與其他2個細胞比較單元格的值,那麼你可以使用OR(如果你想匹配要麼)...或者你可以使用AND(如果你想匹配兩個單元)

enter image description here

編輯:根據您的要求 - 你可以使用一個ARRAYFORMULA來獲取(按Ctrl鍵++輸入

enter image description here

+0

我還需要一個步驟:如果列C中的任何值超出列D或E中的值,我想要一個單元格,例如F14顯示爲「是」。 – user3333198

+0

@ user3333198 - 請參閱更新的答案 –

+0

太棒了!這正是我所期待的。 – user3333198