带有AND语句的Google表格多嵌套IF无法正常运行

时间:2019-05-18 07:36:24

标签: google-sheets array-formulas google-sheets-formula

我有一个交易单,可以在其中输入交易信息。它显示入场/价格目标和止损。其想法是显示以下内容:-如果交易达到了利润目标,它将显示“ Target Hit”。如果交易达到止损,则会显示“止损命中”。如果获利和止损都没有达到,它将显示“有效”。这适用于多头和空头头寸。 空头10美元,止损9美元,利润目标12美元空头10美元,止损11美元,利润目标9美元 当我输入多头头寸时,表现完美,但是当我输入空头头寸时,由于某种原因,它并没有。谁能检查代码以查看我哪里出错了? 我已经在电子表格中添加了一个链接,以便有人查看并弄清楚我的位置。

Google Sheet Spreadsheet

2 个答案:

答案 0 :(得分:0)

这是我在查看上一个问题(现已删除)时想出的公式:

=IF(D21="Long",IF(C21>=H21,"Target Hit Long",IF(C21<=J21,"Stop Loss Long",IF(C21<H21,"Active Long"))),
IF(D21="Short",IF(C21<=H21,"Target Hit Short",IF(C21>=J21,"Stop Loss Short",IF(,C21>J21,"Active Short"))),""))

问题是您不需要继续检查交易是长还是短-结构基本上是:

If Long
    Do long stuff
else
    If short 
       Do short stuff
    else
       Do nothing

答案 1 :(得分:0)

使用此数组公式:

=ARRAYFORMULA(IF(ISBLANK(D4:D), ,
 IF((D4:D="Long") *(C4:C>=H4:H), "Target Hit", 
 IF((D4:D="Long") *(C4:C<=J4:J), "Stop Loss", 
 IF((D4:D="Short")*(C4:C<=H4:H), "Target Hit", 
 IF((D4:D="Short")*(C4:C>=J4:J), "Stop Loss", "Active"))))))

0

demo spreadsheet