Google 带有 AND 语句的多嵌套 IF 工作表无法正常工作

Google Sheets multi nested IF with AND statements not working correctly

我有一个交易 sheet,我在其中进行交易。它显示 entry/price 目标和止损。这个想法是为了显示以下内容;-如果交易达到利润目标,它将显示“Target Hit”。如果交易触及止损,它将显示“止损触及”。如果利润和止损都没有被击中,它会显示“活跃”。这适用于多头和空头头寸。 多头 10 美元,止损 9 美元,利润目标 12 美元 空头 10 美元,止损 11 美元,利润目标 9 美元 当我进入多头头寸时,效果很好,但是当我进入空头头寸时,由于某种原因却没有。任何人都可以检查代码以查看我哪里出错了吗? 我在我的传播sheet中添加了一个link所以如果有人可以看看我搞砸了的地方。

Google Sheet Spreadsheet

这是我在查看您之前的问题(现已删除)时得出的公式:

=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"))),""))

问题是您不需要 re-checking 交易是空头还是多头 - 结构基本上是:

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

使用这个数组公式:

=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"))))))

demo spreadsheet