返回列表 上一主題 發帖

[發問] IF可以做雙重判斷嗎?

[發問] IF可以做雙重判斷嗎?

先前寫了一個IF迴圈如G儲存格
(f17-b17)>0=>空
(f17-b17)<0=>多

但現在想要多加一個判斷式

(f17-b17)>0且(f16-f17)>0=>空
(f17-b17)<0且(f16-f17)<0=>多

(f17-b17)>0且(f16-f17)<0=>0
(f17-b17)<0且(f16-f17)>0=>0
請問我是要加在IF迴圈內的話要怎麼改呢? Book11.rar (7.17 KB)

依你的題意似乎應是
=IF(B17=0,G16,IF((F17-B17>0)*(F16-F17>0),"空",IF((F17-B17<0)*(F16-F17<0),"多",0)))
學海無涯_不恥下問

TOP

1.似乎可稍為簡化
=IF(B60=0,G59,IF((F60>B60)*(F59>F60),"空",IF((F60<B60)*(F59<F60),"多",0)))
但結果會有0產生
股市不是多就是空,有0的結果是對的嗎?
知之為知之,不知為不知,誠實也!

TOP

本帖最後由 nickapple 於 2010-6-18 15:21 編輯

感謝上面兩位大大
股市除了多 空以外 還有"空手"唷
0=空手 不做單^^ 不過實際上和構想還是會有落差
等等我再想看看要怎用文字表達出來

TOP

文學造詣不好 有看不懂的地方還請告知
附件內我已經將大大們的版本放入了 Book11.rar (17.63 KB)
但比對下來雖然是成功的 但並非小弟所想要的
所以有分成改前 改後 和理想值
簡單的說
判斷F<B且F16<F17
顯示多的時候
就不會去比較F儲存格上下的值 也就是說不會去判斷F16<F17
只會判斷F>B OR F<B 如果F>B=空 F<B=多 OR 0

這邊比較有問題的就是0這地方
如果多變成0表示F>B 且F16<F17
多變成空表示F>B且F16>F17

F>B反之亦然

但我想要的判斷流程卻是這樣(以20欄為舉例)
當F19顯示為多
20欄只判斷F及B值 如果F>B的話 先顯示0 如果F19>F20才會顯示空

這是我目前的想法 @@
拜託各位大大了(SORRY 邏輯不太好 不知道各位有沒有看得懂)

TOP

我重新改過一次 請各位大大幫忙一下!
這次分開用兩個儲存格 分別為G和H

I儲存格:
先判斷G和H,如果G17=多,H17=1或G17=空,H17=1,判斷F值
若G17=多,F16>F17,I=多
若G17=空,F16<F17,I=空
其餘,I=0

Book11.rar (19.51 KB)

TOP

I17=IF((G17="多")*(F16>F17),"多",IF((G17="空")*(F16<F17),"空",0))
學海無涯_不恥下問

TOP

感謝hsieh大 雖然不是我想要的 但你卻給我一個方向

I17=IF((G17="多")*(H17=1)*(F16<F17),"多",IF((G17="空")*(H17=1)*(F16>F17),"空",0))

這才是我想要的 雖然離理想值還是有點距離^^
但若是將 J欄定義一下:
J17=IF(I17="多","多",IF(I17="空","空",0))

另外想請教 J17可以跟I17併在一塊做簡化嗎? Book11.rar (18.24 KB)

TOP

後來 我試出來了

I17=IF((I16="多")*(H17=0),"多",IF((I16="空")*(H17=0),"空",IF((G17="多")*(H17=1)*(F16<F17),"多",IF((G17="空")*(H17=1)*(F16>F17),"空",0))))

但總覺得判斷式太長,是否有辦法簡化呢? Book11.rar (18.11 KB)

TOP

本帖最後由 gong 於 2010-6-23 08:55 編輯

參考看看
I17=IF(H17,IF((G17="多")*(F16<F17)+(G17="空")*(F16>F17),G17,0),I16)
知之為知之,不知為不知,誠實也!

TOP

        靜思自在 : 君子為目標,小人為目的。
返回列表 上一主題