描述
我有一个包含 6000 多行的 CSV 文件。我有一个包含大约 300 个单词的列表,每个单词仅出现在 CSV 文件的一行中。
问题
我如何从列表中提取仅包含单词的行,以便剩下大约 300 行;列表中的每个单词一行。
例子:
user_a info 1 ... ...
user_b info 2 ... ...
user_c info 3 ... ...
user_d info 4 ... ...
user_e info 4 ... ...
user_f info 4 ... ...
user_g info 4 ... ...
... ... ... ...
... ... ... ...
在上面,我有一个列表:“user_a、user_c、user_g”。我如何只使用以下内容获取 CSV:
user_a info 1 ... ...
user_c info 3 ... ...
user_g info 4 ... ...
答案1
我假设您的 6000 行位于名为“记录”的工作表中,并且数据从第 2 行和 A 列开始。在另一张表中,将列表复制到 A 列中的第 2 行至第 300 行。现在在 B 列中,从第 2 行开始将此公式复制到第 300 行并复制到所需的列中:
=INDEX(Records!B$2:B$7,MATCH($A2,Records!$A$2:$A$7,0))
我的假设是,列表中的每个单词都构成单元格的全部内容,例如,“user_a”单独出现在单元格中,但我并不完全确定情况是否如此。相反,如果“记录”工作表中的单元格包含“其他内容 user_a 更多内容”之类的值,则向公式中添加通配符,如下所示:
=INDEX(Records!B$2:B$7,MATCH("*" & $A2 & "*",Records!$A$2:$A$7,0))
答案2
我知道只发布链接并不是很有帮助,但是有很多文字和图片,我不想在这里全部写出来。D=http://www.contextures.com/xladvfilter01.html 这是一种简单的方法,你只需要先列出你想要的东西。看看“Excel 高级筛选条件示例”,我认为这可能是一种快速简便的方法来做你想做的事情(你可以将它发布到另一个工作表中,然后将你的筛选列表保存为新的 .csv)。希望这对你有帮助!