簡體   English   中英

"Excel:在一個單元格中查找多個值並在另一個單元格中返回結果"

[英]Excel: Lookup multiple values in one cell and return results in another

我試圖找到一種方法來查找一個單元格中的幾個逗號分隔值中的每一個,並將結果作為逗號分隔列表返回到另一個單元格中。

要查找的值的數量不是恆定的,它可能只有一個,也可能是幾百個。

示例 - 工作表 A 具有初始值並將保存返回值。 工作表 B 是包含要查找的數據的表。

示例表圖像

我自己一直在尋找這個問題的答案,但很沮喪地發現你的問題——正是我的問題——沒有答案。

將近 4 年了,這個答案確實需要 Office 365 Excel,而且它不是最優雅的,但這是我能想到的。

在工作表 B 上選擇一個未使用的列(在其右側有足夠多的連續未使用列來處理溢出,無論您需要拆分多少值,或使用專門用於此的新工作表)並將此公式放入第二行的單元格對於該列,將其向下拖動到工作表 A 上具有相應數據的每個單元格(並假設您的列標題“文件 #s”是 B 列): =TRANSPOSE(FILTERXML("<x><y>"&SUBSTITUTE(SheetA!$B2,delim,"<\/y><y>")&"<\/y><\/x>","\/\/y"))<\/code>

delim<\/code>為用引號括起來的定界符,或對包含定界符的單元格的單元格引用。 此外,如果工作表 A 中的相應單元格中可能沒有值,那么您需要使用IFERROR()<\/code>包裝FILTERXML()<\/code>函數(或整個函數)。

然后,返回結果列中的工作表 A,使用以下公式: =TEXTJOIN(delim,TRUE,FILTER(SheetB!$B$2:$B$6,COUNTIF(SheetB!D2#,SheetB!$A$2:$A$6),if_no_match))<\/code>

同樣,將delim<\/code>為分隔符或單元格引用替換為您選擇的分隔符。 SheetB!$B$2:$B$6<\/code>和SheetB!$A$2:$A$6<\/code>是查找表的列(因此將它們擴展為包含整個內容)。 SheetB!D2#<\/code>引用了放置TRANSPOSE(FILTERXML())<\/code>公式的列。 最后,如果沒有匹配項,請將if_no_match<\/code>替換為您想要出現的任何內容。


理想情況下,我希望找到一種使用單一、自包含公式的方法,但是,到目前為止,這是我所能做到的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM