2013-12-19 140 views
1

我有兩列,A和B,包含值。我想在每個這些都包含在這兩個A A C列中插入值和B.我的期望結果的Excel VLOOKUP和FIND組合

實施例:

A   B   C 

Hello  No  No 
Nothere here  here 
YesNo  ha 

如「在這裏」包含在「Nothere」時,它必須添加。與「是」中的「否」相同

據我所知,我可以使用FIND查找字符串是否存在,並使用VLOOKUP來搜索整個列。但是我怎樣才能在整個列中使用FIND?因爲使用VLOOKUP,我必須搜索特定的值,並且它將逐列更改。

我該如何做到這一點? (我不需要使用FIND也不需要使用VLOOKUP,我剛纔提到這是我正在做的研究)。

回答

2

好了,你肯定能至少使用FIND,或者,它不區分大小寫等價的:SEARCH(如果你仍然想區分大小寫的搜索,使用FIND代替SEARCH)。

=IF(SUMPRODUCT(--ISNUMBER(SEARCH(B1,$A$1:$A$3))),B1,"") 

SEARCH第一返回的數組:#VALUE!14

ISNUMBER然後返回另一個數組:FALSETRUETRUE

--ISNUMBER裝置那些被轉換爲1和0,1爲TRUE否則,所以0,1,1

SUMPRODUCT將對該數組中的數字進行求和,在這種情況下,這個數字是2,對於excel來說這個數字被認爲是TRUE,因此您將B1作爲最終結果。


您還可以使用MATCH

=IF(ISERROR(MATCH("*"&B1&"*", $A$1:$A$3, 0)), "", B1) 

如果你要堅持下去,這可能是簡單的,或VLOOKUP

=IF(ISERROR(VLOOKUP("*"&B1&"*", $A$1:$A$3, 1, 0)), "", B1) 
+0

完美地工作。謝謝。只要知道,我可以把它變成一個宏嗎?或者有沒有辦法讓這些值在未來能夠動態使用? –

+0

@JeanCarlosSuárezMarranzini我不太瞭解宏,它可能會以比使用函數更有效的方式編寫,我不知道。至於第二個問題,你能詳細說明你的意思嗎? – Jerry

+0

當然。我會很多地使用這個公式,因爲我每天都會執行這種過程很多次。我想找到更有效地使用此公式的方法,而不必經常更改單元格的值,因爲它有時可能會有問題。 –

1

使用VLOOKUPFIND這些文本

"*No*" => "*"&B2"*" 

"*here*" => "*"&C2"*" 

"*ha*" => "*"&D2"*" 

star *意味着替換任何文本

2

短路......但需要 「數組項」

=IF(COUNT(FIND(B1,A$1:A$3)),B1,"")

CTRL + SHIFT證實 + ENTER

正如傑裏說:FIND是區分大小寫的 - 你可以用SEARCH替代,如果你不不想要區分大小寫

+0

這一個不工作。 「數組輸入」是什麼意思? –

+0

在單元格中輸入公式後,選擇單元格,然後按F2鍵選擇公式,然後按住CTRL和SHIFT鍵並按下ENTER鍵。如果正確完成,你可以在公式 –

+0

附近得到像{和}這樣的花括號。謝謝,作品也很棒。 –