2016-05-09 36 views
1

我在完成我的VLOOKUP函數時遇到了一些麻煩。帶有2個可能的查找值的Vlookup函數

我的功能:

=IFERROR((VLOOKUP($E5,'C:\Users\[Example.xlsx]Sheet1'!$F$7:$G$1048576,2,FALSE)), "Removed") 

- >此功能,但不適用於與通配符值, 我的表陣列,也有在末尾星號的一些數值。對於這些特殊數字,它會返回一個錯誤(在這種情況下會被刪除)。表陣的

例子:

1.1 
1.2 
1.3* 
1.4 
1.5* 

- >我如何調整VLOOKUP考慮到常規的數字和數字用星號(通配符)?

- >注意我不能刪除從其他工作簿中的星號,這些必須呆在那裏

- >我想這既找不到兩個值(一個星號,或一無)

預先感謝您!

+0

你有什麼像'1.3.1'嗎?星號實際上是通配符。你能把它改成¹嗎? – Jeeped

+0

它總是隻有一位小數?如果是這樣,你可以嘗試一個'left(cell,3)'。 – findwindow

+0

'= IFERROR(IFERROR(VLOOKUP($ E5,'C:\ Users \ [Example.xlsx] Sheet1'!$ F $ 7:$ G $ 1048576,2,FALSE),VLOOKUP($ E5&「*」,'' C:\ Users \ [Example.xlsx] Sheet1'!$ F $ 7:$ G $ 1048576,2,FALSE)),「Removed」)'? –

回答

2

只是爲了有一個可以接受的答案:

您可以簡單地檢查沒有*的值,如果這導致錯誤,自動添加它像:

=IFERROR(IFERROR(VLOOKUP($E5,'C:\Users\[Example.xlsx]Sheet1'!$F$7:$G$1048576,2,FALSE),VLOOKUP($E5&"*",'C:\Users\[Example.xlsx]Sheet1'!$F$7:$G$1048576,2,FALSE)),"Removed") 
1

嘗試返回無論是數字和字符值,這樣的功能轉換查找值:

=IFERROR((VLOOKUP(IFERROR(VALUE($E5);$E5),'C:\Users\[Example.xlsx]Sheet1'!$F$7:$G$1048576,2,FALSE)), "Removed") 

PS:對不起我的英語

+0

好文章 - 看起來像一個數字與真實數字的東西。我想你在那裏留下了一個分號。 – Jeeped

+0

也許我得到了OP錯誤...但'*'在'[Example.xlsx]' - 表中,這個函數根本沒有任何幫助......我想他想輸入'1.3'並從'1.3 *'-row(cus沒有'1.3')獲得輸出。 –

+0

@DirkReichel是的Dirk是正確的,這個公式不幸的是不起作用。由於1.3 *在另一個工作簿中。此公式只檢查當前工作簿單元格是否爲值。但我認爲你是在正確的軌道上 – Theo

0

想要發表任何在評論中未找到答案的人的答案。

- >感謝Dirk Reichel的回答。

=IFERROR(IFERROR(VLOOKUP($E5,'C:\Users\[Example.xlsx]Sheet1'! 
$F$7:$G$1048576,2,‌​FALSE),VLOOKUP($E5&"*",'C:\Users\[Example.xlsx]Sheet1'! 
$F$7:$G$1048576,2,FALSE)), "Removed") 

第一VLOOKUP通過查找,看是否有一個值,而不和星號(*),那麼如果沒有一個值,它會去的值,如果第一VLOOKUP不正確。這導致你到另一個VLOOKUP的第二個值。第二個VLOOKUP搜索以星號結尾的值。如果它仍然沒有找到一個值,那麼它將噴出「Removed」,如第二個IFERROR函數所示。