我有一個excel問題。我有2列,在A列中,我有一個關鍵字出現在B列中的字符串中。我所要做的就是將列C中的關鍵字分配給它們出現的字符串。如何在字符串中查找單詞並賦值
例子:
我試圖用VLOOKUP但我仍然得到錯誤。
在此先感謝您的幫助!
我有一個excel問題。我有2列,在A列中,我有一個關鍵字出現在B列中的字符串中。我所要做的就是將列C中的關鍵字分配給它們出現的字符串。如何在字符串中查找單詞並賦值
例子:
我試圖用VLOOKUP但我仍然得到錯誤。
在此先感謝您的幫助!
選擇C1
細胞,在公式編輯欄中,按進入下一個公式CTRL + SHIFT + ENTER對其進行評估,然後拖下來:
=INDEX($A$1:$A$11,MAX(IF(ISERROR(FIND($A$1:$A$11,B1)),-1,ROW($A$1:$A$11)))-ROW($A$1)+1)
下面是一些解釋:
1)FIND($A$1:$A$11,B1)
- 這裏我們試圖檢查$A$1:$A$11
的值是否在B1
單元格中是值的子串。如果是的話,我們會得到B1
中的一個子字符串的位置,如果不是,我們會得到#VALUE
。我們在這裏得到這樣的東西:{#VALUE,#VALUE,13,#VALUE,#VALUE}
2)IF(ISERROR(FIND($A$1:$A$11,B1)),-1,ROW($A$1:$A$11))
。在這裏,我們將找到的子串的位置更改爲它的行號,並將#VALUE
更改爲-1
。在這裏,我們得到了STN這樣{-1,-1,3,-1}
3)MAX(IF(ISERROR(FIND($A$1:$A$11,B1)),-1,ROW($A$1:$A$11)))
回報3
從{-1,-1,3,-1}
- 子
4)接下來的行數,使用INDEX()
我們得到相應的價值,利用其行號
優秀解。如果你可以解釋一下,這將是有幫助的,因爲這是一個複雜的公式。 –
@PankajJaju,看我更新的答案:) –
非常感謝!有用!雖然在Excel 2013中,公式應該用分號分隔,如下所示:= INDEX($ A $ 1:$ A $ 11; MAX(IF(ISERROR(FIND($ A $ 1:$ A $ 11; B1)); - 1; ROW($ A $ 1:$ A $ 11))) - ROW($ A $ 1)+1) –