Excel 使用工作表中的两个值从另一个工作表中的表中筛选和返回值
我对编码相当陌生,在过去的几个小时里我一直在谷歌上搜索,试图解决这个问题,但这似乎有点超出了我的能力范围,所以我非常感谢您的帮助 在Sheet1中,我有一个表,表中的列在M-CV(175个列)之间。对于每一列,我在第3行有一个“ID number”值。从第6行到表的末尾,我在CV列中有几个用逗号分隔的“搜索项” 在表2中,对应的“ID号”位于B列。A列包含字符串 对于sheet1中的每个ID号值,我要查找sheet2中的所有对应单元格,其中B列中的ID号相同,sheet2的A列至少包含CV列中的一个“搜索项” 对于每个ID号,我希望将sheet2的A列中的条目与上述条件相匹配,并将它们粘贴到Sheet1中相应列的第5行中 我已经绕了好几圈试图做这件事,但我回到了第一步,没有代码显示 我尝试研究了自动过滤函数和for循环。我所做的研究表明,对于大型数据集,for循环的运行速度相当慢 我希望找到一个尽可能容易阅读和理解的解决方案 我希望我已经提供了足够的信息让每个人都能理解和帮助Excel 使用工作表中的两个值从另一个工作表中的表中筛选和返回值,excel,vba,Excel,Vba,我对编码相当陌生,在过去的几个小时里我一直在谷歌上搜索,试图解决这个问题,但这似乎有点超出了我的能力范围,所以我非常感谢您的帮助 在Sheet1中,我有一个表,表中的列在M-CV(175个列)之间。对于每一列,我在第3行有一个“ID number”值。从第6行到表的末尾,我在CV列中有几个用逗号分隔的“搜索项” 在表2中,对应的“ID号”位于B列。A列包含字符串 对于sheet1中的每个ID号值,我要查找sheet2中的所有对应单元格,其中B列中的ID号相同,sheet2的A列至少包含CV列中的
提前谢谢你我的Excel订阅已经过期,我已经开始在我的大部分电子表格工作中使用Google Sheets,所以我在那里进行了测试。可能需要进行一些转换。我是用公式做的,不是VBA,也不确定这是否会改变你的情况 如果我理解正确,您有两个带有共享键列的工作表,工作表1包含跨多个列的搜索词,工作表2包含在单个列中以逗号分隔的搜索词
=VLOOKUP(A2,dst,7,true)
,因为我在表1中的键位于A列,dst是我正在搜索的范围,我的带分隔搜索词的列是与dst相关的第7列,我按键对表2排序。我根据需要将这个公式相对地粘贴到所有行上=JOIN(“|”,B2:E2)
,因为我的搜索词在B:E列中,这就产生了一个正则表达式,对我来说是这样的:alligator | dog | rabbit | lizard
,其中alligator、dog、rabbit和lizard都是该行中的搜索词。根据需要粘贴相对位置=REGEXMATCH(F2,G2)
,其中F2是来自第2页的分隔搜索词,G2是我为该行构造的正则表达式。根据需要粘贴相对位置一旦您知道哪些单元格匹配,您就可以做任何您想做的事情。是否可以为我们制作一个示例数据集?可能有4列和几行?确保使用示例数据也显示预期的输出。一旦找到所需的逻辑/代码,就可以推断出更大的问题。我并没有完全按照你们的要求去做——至少还不足以提供一个有效的解决方案。有时,要想把描述形象化需要付出努力,所以(下次)床单上的图片可能会有助于回答这个问题。作为一个建议,不要试图在一个小时内做所有的事情。我将使用for循环和if语句检查Sheet1第3行上是否存在某些内容,如果工作正常,那么我将尝试将Sheet2与所有这些信息合并。。。一种方法是:1)将CV列上的数据拆分为以下列,以包含您将搜索的所有单词。2)如果它们只是少数,则应该考虑使用条件公式<代码> =(CV3=“Word1”,“执行这个”,如果(CV3=“Word2”,…))3)< /C>匹配,这取决于是否有匹配或只有一个匹配。