2016-05-31 183 views
0

我對VBA函數/任何高於基本用戶級別計算機的新東西都很陌生。我試圖在excel中創建一個函數,該函數根據六個不同區域(或單元格)中的評級返回一個值(評級可以等同於五個值)。試圖根據6個不同的標準自動填充公司的評級。例如,如果G34> 84.99%,J34> 79.99%,K34 =「是」,那麼「T」但是如果G34是84.99%,J34> 79.99%並且K34 =「否」,則「T-」。我一直在嘗試ElseIf聲明,但仍然遇到問題。幫助非常感謝!針對多個結果的多個Ifs的VBA函數

下面是我想要得到非常初級的全功能:

IF(G34>84.99%, J34>79.99%, K34="Yes", M34 >89.99%, N34 = 100%, O34>89.99%, Then "T", 
IF(G34>74.99%, G34<84.99%, J34>79.99%, K34 = "Yes", M34 >79.99%, M34 <89.99%, N34 = 100%, O34 <89.99%, O34>79.99%, Then "T-", 
IF(G34>64.99%, G34<74.99%, J34<79.99%, G34 > 74.99%, K34 = "NO", M34 >64.99%, M34 <79.99%, N34 = 100%, O34 <89.99%, O34>79.99%, Then "P", 
IF(G34>59.99%, G34<64.99%, J34<74.99%, J34 > 59.99%, K34 = "NO", M34 >49.99%, M34 <64.99%, N34 < 100%, O34 < 79.99%, Then "P-", 
IF(G34<59.99%, J34<59.99%, K34 = "NO", M34 <49.99%, N34 < 100%, O34 < 79.99%, Then "U"))))) 
+2

沒有完全解析該公式(所以我不完全肯定)我懷疑你最好用一個查找表的一些邏輯。 VLookup有一個「模糊匹配」功能,其中一個人輸入第四個參數爲True,您會得到一個「樂隊」匹配而不是完全匹配。 –

+0

某些計算機科學可能會在這裏幫助https://www.youtube.com/watch?v=8ijOIueCJkI –

回答

3

簡要評論,而不是全部重寫的

在VBA

  • 使用之間您的條款
  • VBA無法識別數字中的%,因此與實際值val UE在小區
  • 沒有分配你的結果,任何東西只是說「T」沒有做任何事情
IF G34>0.8499 and J34>0.7999 and K34="Yes" and M34 >0.8999 and N34 = 100 and O34>.8999 Then 
    variable = "T" 
elseif ... 
    variable = "T-" 
elseif ... 
    variable = "P" 
else 
    variable = "no case" 
end if