2014-07-17 128 views
-1

對於過去使用excel的人來說,這可能非常容易,但我無法得到正確的公式。MS Excel if語句

我有一個大的電子表格,我需要添加一個標記,但添加的標記取決於變量。不幸的是,這個結果必須是一個已經大的公式的結尾,########表示IF語句的放置位置。

IF >55 and is square = 15 
IF >55 and is not square = 15 
IF <55 and is Square = 25 
IF <55 and is not square = 30 

單元格D2 =具有數值 單元格G2 =具有其中的形狀。

=(((100-V2)/100)*U2*D2)+((((100-V2)/100)*U2*D2)/100*##########)

+0

你用 「配發」 很多嗎?至於你的問題,我傾向於使用額外的單元格來獲得中間結果。 – Bathsheba

+0

不幸的是,語法和拼寫不是我最強烈的一點。因此,例如,而不是在公式末尾添加大if語句。有它,它會查找一組單元格,它們將從單獨的if語句中獲取值? – user3711893

回答

1

我真的建議你打破公式進入細胞,但如果它需要的是一個單細胞,該公式可以做,以及...

IF(D2>55;IF(G2="square";15;15);IF(G2="square";25;30))

所以這會是這樣的:

=(((100-V2)/100)*U2*D2)+((((100-V2)/100)*U2*D2)/100*IF(D2>55;IF(G2="square";15;15);IF(G2="square";25;30))) 
+0

這項工作就像一個寶石,一旦所有的價格已經生成一個宏運行並刪除公式的後。在單元格中使用破損版本還是更好的做法嗎? – user3711893

+0

我不喜歡在Excel和大公式中使用嵌套的IF。 您可以創建一個代表((100-V2)/ 100)* U2 * D2的單元格和代表標記(IFs)的單元格 假設這些單元格將是Z2和AA2,例如... 您可以生成公式=(1+(AA2/100))* Z2 –

0

我不是嵌套if S IN Excel中的大風扇,特別是當它們包含和/或條件。典型配方看起來像這樣:

=if(and(c1,c2),x1,if(and(c3,c4),x2,... 

YUCK!

我絕對是VBA極簡主義者,但這看起來確實是一個很好的應用。作出這樣的自定義函數:

Function FooBoo(Val As Integer, Shape As String) As Integer 

    Dim result As Integer 

    If Val > 55 And Shape = "square" Then 
    result = 15 
    ElseIf Val > 55 Then 
    result = 15 
    ElseIf Val < 55 And Shape = "square" Then 
    result = 25 
    ElseIf Val < 55 Then 
    result = 30 
    End If 

    FooBoo = result 

End Function 

然後你就可以在Excel中調用它:

=(((100-V2)/100)*U2*D2)+((((100-V2)/100)*U2*D2)/100*FooBoo(val,shape)) 

如果是工作簿本身的一部分,它並不比任何其他Excel公式移植性較差,這是更透明,更易於維護。

而且,不相關的,但我沒有注意到你的邏輯有些事情:

  1. 15似乎是值> 55的結果,它是否是一個正方形。您真的可以將您的第一個條件限制爲值> 55
  2. 您尚未定義如果值恰好爲55,會發生什麼情況。是其中一種情況> =或< =?
+0

完整的心靈滑移,如果值爲55,則應該認爲它與>>相同。一旦所有信息完成,所有公式都將被刪除,CSV將被保存並上傳到電子商務網站。 – user3711893

1

短一點(地址D2 = 55):

=15+15*(D2<55)-5*(D2<55)*(G2="Square") 
+1

偉大的高爾夫球答案! – Hambone