2017-06-03 116 views
0

在我的代碼中,我想檢查目標單元格(A11)是否在3個不同的電子表格中匹配並從單元格返回適當的值。因此,以手動方式,我複製單元格A11並訪問每個數據表選項卡以查看單元格數據是否存在。我在這裏想要做的是如果參考單元爲空,如何顯示「NOTHING」。隨着搜索的只是單線工作一諾千金:Excel /多個參考標準

=IF(
VLOOKUP($A11,'[DataSheet]SOC 41'!$C$2:$P$5000,11,FALSE)="", 
,"", 
IF(
ISNA(VLOOKUP($A11,'[DataSheet]SOC 41'!$C$2:$P$5000,1,FALSE))=TRUE,"","R41: " & VLOOKUP($A11,'[DataSheet]SOC 41'!$C$2:$P$5000,11,FALSE))&" 
"&IF(ISNA(VLOOKUP($A11,'[DataSheet]SOC 42'!$C$2:$P$5000,1,FALSE))=TRUE,"","R42: " & VLOOKUP($A11,'[DataSheet]SOC 42'!$C$2:$P$5000,11,FALSE))&" 
"&IF(ISNA(VLOOKUP($A11,'[DataSheet]SOC 43'!$C$2:$P$5000,1,FALSE))=TRUE,"","R43: " & VLOOKUP($A11,'[DataSheet]SOC 43'!$C$2:$P$5000,11,FALSE))) 

,但我想要做搜索不只是一個,但這樣添加的所有3個電子表格或功能,並取得全亂了。(這是所有我能想到的)我已經和很多小時作鬥爭了,但還沒弄明白。這是我的亂碼!

=IF(OR(
VLOOKUP($A11,'[DataSheet]SOC 41'!$C$2:$P$5000,11,FALSE)="", 
VLOOKUP($A11,'[DataSheet]SOC 42'!$C$2:$P$5000,11,FALSE)="", 
VLOOKUP($A11,'[DataSheet]SOC 43'!$C$2:$P$5000,11,FALSE)=""),"", 
IF(
ISNA(VLOOKUP($A11,'[DataSheet]SOC 41'!$C$2:$P$5000,1,FALSE))=TRUE,"","R41: " & VLOOKUP($A11,'[DataSheet]SOC 41'!$C$2:$P$5000,11,FALSE))&" 
"&IF(ISNA(VLOOKUP($A11,'[DataSheet]SOC 42'!$C$2:$P$5000,1,FALSE))=TRUE,"","R42: " & VLOOKUP($A11,'[DataSheet]SOC 42'!$C$2:$P$5000,11,FALSE))&" 
"&IF(ISNA(VLOOKUP($A11,'[DataSheet]SOC 43'!$C$2:$P$5000,1,FALSE))=TRUE,"","R43: " & VLOOKUP($A11,'[DataSheet]SOC 43'!$C$2:$P$5000,11,FALSE))) 

你可以去看看,並指出我在哪裏,我需要修復我的代碼嗎?謝謝:)

+0

這個問題更適合[超級用戶](https://superuser.com/) –

+0

你說如果不在三張表中的任何一張上,你想顯示「沒有」。如果*在*之一中存在,您想要顯示什麼?兩個怎麼樣?全部三張? –

+0

@AndreTerra是的,我應該發佈在超級用戶哈哈..順便說一句,如果參考單元沒有任何東西,然後想看到空白單元格。如果存在,則返回1個項目,如果2個存在則返回2個值。然後,所有3,然後,想看看所有三個。總之,只有提交的單元纔會返回並返回黑色單元格,如果沒有。謝謝! – zzaewon

回答

0

如果你找到了一個匹配,但單元格返回一個值爲空,那麼通常你會返回一個空白單元格的值零。如果您希望返回文本,則可以通過將零長度字符串附加到返回值來返回零長度字符串(例如,""TEXT(,)沒有任何)。

vlookup($A11,'[DataSheet]SOC 41'!$C$2:$P$5000, 11 ,FALSE)&"" 

這將返回一個零長度字符串,如果返回細胞是空白的,不影響結果,如果返回單元格中包含的文本。它確實然而改變單元格返回的數值到文本看起來像一個數字所以要小心。還有其他方法可以處理不包含將它們轉換爲文本的數字。

由於您將R41,R42和R43連接到VLOOKUP的返回值,所以您應該要求的是更好的錯誤控制。您的整個公式將從IFERROR函數中受益。

=IFERROR("R41: "&VLOOKUP($A11,'[DataSheet]SOC 41'!$C$2:$P$5000,11,FALSE), "")& 
IFERROR("R42: "&VLOOKUP($A11,'[DataSheet]SOC 42'!$C$2:$P$5000,11,FALSE), "")& 
IFERROR("R43: "&VLOOKUP($A11,'[DataSheet]SOC 43'!$C$2:$P$5000,11,FALSE), "") 

現在,這可能會留下R41:一無所有以下,但沒有樣本數據連同預期的結果,這是我可以從你的敘述猜測最好的。