你可以使用矩陣(數組)公式來實現這一點。請輸入以下公式單元格C2
(假設你的表在A1
開始):
=LEFT(CONCAT(IF(ISNUMBER(SEARCH($B$2:$B$5;A2))=TRUE;$B$2:$B$5&", ";""));MAX(LEN(CONCAT(IF(ISNUMBER(SEARCH($B$2:$B$5;A2))=TRUE;$B$2:$B$5&", ";"")))-2;0))
請確保您按Ctrl+Shift+Enter
粘貼公式進入細胞後!該組合對Excel表示您正在使用矩陣公式。如果您按Enter
只有公式將無法正常工作。然後,您可以以標準方式將公式複製到下面的單元格中。如果你想輸入更多的數據,你需要擴大範圍$B$2:$B$5
。
您可以查看我的example sheet here。你也可以閱讀更多關於矩陣公式in Microsoft documentation。
編輯#1 美國語言環境中有不同的列表分隔符。如果使用美國地區請嘗試以下公式:
=LEFT(CONCAT(IF(ISNUMBER(SEARCH($B$2:$B$5,A2))=TRUE,$B$2:$B$5&", ","")),MAX(LEN(CONCAT(IF(ISNUMBER(SEARCH($B$2:$B$5,A2))=TRUE,$B$2:$B$5&", ","")))-2,0))
請記住輸入公式後使用Ctrl+Shift+Enter
。
它沒有工作。強調代碼中的$ B $ 5部分。 – user7168192
對不起,但我不明白這個問題。你嘗試下載我的示例表嗎?你可以看到一個有效的例子。 –
也許你的辦公室裏有一個逗號作爲參數分隔符。請嘗試在Excel文件中用','替換';'。 –