2016-05-31 65 views
0

F列檢查我的「數據庫」(Sheet1中),並告訴我,如果有從當前工作表中的列匹配G.問題與Excel和/或多個國際單項體育聯合會

=VLOOKUP(ShippingPlanPREP!C2,MainDatabase!A:G,E2,FALSE) 

我得到無論是價格的迴歸,零或#N/A錯誤。目前我不關心價格,因爲這意味着我有單位和需要條件Sheet1 "MainDatabase"

所以我基本上有兩個不同的方向我想去;

添加一個新的單位(#N/A錯誤)和條件的價格

OR

添加新單位條件的價格(返回0)

這裏就是我的問題是,我相信:

列I,J和K表示不同的條件/價格,並且需要告訴我,根據列F,查找數據庫中已知的條件/價格,查看該條件是否甚至存在更新,或添加價格(來回m列C),因爲所需標準匹配。

代碼我已經試過:

=IF(AND(AND($F2=0,(ISNA($F2)),ShippingPlanPREP!$B2="A")),$C2,VLOOKUP($G2,MainDatabase!A:E,3,FALSE)) 

我嘗試和取得了某些成功。我現在正在獲取數據庫數字,但是當它需要在那裏時,我沒有在「Amazon_A」等中獲得C2的價格。

=IF(AND(OR($F2=0,(ISNA($F2)),ShippingPlanPREP!$B2="A")),$C2,VLOOKUP($G2,MainDatabase!A:E,3,FALSE)) 

我不認爲OR是答案,因爲然後我結束了所有類別/列的相同條件價格。

我已經嘗試了更多的變化比這沒有成功。請讓我知道是否需要更多信息。先謝謝你。

Example

+0

在你正在檢查的一些AND語句中,看看F2在同一時間是否是兩個不同的值。 F2 = 0和ISNA(F2)。這永遠是錯誤的,因爲F2不能同時是兩個不同的值。 AND只有在所有參數都爲真時才爲真。如果至少有1個參數爲真,則OR爲真。嵌套AND(AND()()應該沒有區別,您的AND語句的參數數量有很大的限制。 –

回答

1

讓我們看看它分解到簡單的條款將與邏輯過程,並得到你想要做什麼幫助。

Value of F | Process to follow 
------------------------------ 
#NA  |  A 
0   |  B 
$42.42  |  C 

如果路線去的,我們希望用一個公式是這樣的:

=IF(isNA(F2), "A" , IF(F2=0,"B","C")) 

你應該能折騰的是到您的工作表和測試您得到您的三個字母。當這是工作時,替換你想要發生的每個字母的方程。確保個人方程式先行。

所以爲了幫助澄清你的方程式,我們再看看那張表。

Value of F | Process to follow 
------------------------------ 
#NA  | "What to do when F is #NA" 
0   | $C2,VLOOKUP($G2,MainDatabase!A:E,3,FALSE) 
$42.42  | "What to do when F is a price" 

這是一個公式。如果我把它放在那裏,這意味着當F等於0時要採取的行動。我只看到一個公式,所以現在問題是你想要爲其他兩個結果採取什麼公式或行動。現在我可能已將您的公式替換爲錯誤的F值,但您可以根據自己的需要進行調整。如果我是你的公式代入前面的if語句會是這個樣子:

=IF(isNA(F2),"What to do when F is #NA",IF(F2=0,$C2,VLOOKUP($G2,MainDatabase!A:E,3,FALSE),"What to do when F is a price")) 

補充信息

如果上述邏輯表是在簡化和你有其他的條件是必須在採取行動之前應該是真實的,您可以在採取行動之前添加列來建立您的思維過程。如果是這樣,請用您的邏輯表更新您的問題,我們可以幫助您根據需要使用AND和OR構建IF語句。建立表格以幫助您更清楚地理解問題時,最重要的事情就是將每一行都視爲唯一,以確保您的流程能夠發生。

Value of F | Value of another cell | Process to follow 
------------------------------------------------------ 
#NA  | True     |  A 
0   | True     |  B 
$42.42  | True     |  C 
#NA  | False    |  A 
0   | False    |  C 
$42.42  | False    |  B 

這僅僅是許多方法之一。

+0

謝謝轉發Ed非常多!我今天不得不離開它我正在通過這個新的方法,這似乎比我更簡單=) - 如果需要我會跟進 –

+0

想想我明白了:'= IF(AND(ISNA( $ F2),ShippingPlanPREP!$ B2 =「A」),$ C2,IF(AND($ F2 = 0,ShippingPlanPREP!$ B2 =「A」),$ C2,VLOOKUP($ G2,MainDatabase!$ A:$ F,3,FALSE)))' –

+0

通過外觀你只有兩個可能的結果(重複C2),所以可以結合我們的邏輯陳述,也許可以縮短計算。如果上面的公式適合你,你應該能夠將它壓縮到:IF(AND(OR(ISNA($ F2),$ F2 = 0),ShippingPlanPREP!$ B2 =「A」),$ C2 ,VLOOKUP($ G2,MainDatabase!$ A:$ F,3,FALSE))' –