![](/img/trans.png)
[英]Excel2011 - Lookup and return multiple values into one cell BY DATE
[英]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.