【问题标题】:excel vba code to filter columns containg any one of the words from a listexcel vba代码过滤包含列表中任何一个单词的列
【发布时间】:2014-02-16 15:54:49
【问题描述】:

我是 vba 代码的新手,一直在做一些研究,但不知道如何处理这个项目。我有一个包含 10 列的电子表格。我需要过滤其中的三列。过滤器将是六个单词的列表。例如,三列在每个单元格中都有一组水果。我只想显示包含苹果、橙子、葡萄、梨、猕猴桃或香蕉的单元格的行。如果单元格不包含任何这些水果,那么我不想看到那一行我发现了一些 sn-ps 代码来过滤两个词,但不超过这个。有没有人有什么建议?我将不胜感激。

【问题讨论】:

  • 您的单元格是否包含完全匹配?我的意思是 apple 或者他们可以包含一些带有这个词的句子,例如I have too many aplles?
  • 这是一个包含单词的句子。谢谢。

标签: excel vba text filtering


【解决方案1】:

我已经完成了 VBA 编码的工作,并且尽可能避免使用它。为此,我将添加一个带有公式的列,然后使用内置的过滤工具。我不确定每个单元格是否有一个水果,或者一个水果列表,所以我想出了两者的公式。 如果每个单元格只包含一个水果,您可以尝试这样的公式:

=OR(A2="apple", A2="oranges", A2="grapes", A2="pears", A2="kiwi", A2="bananas")

这对于“葡萄”返回 true,但不是“一串葡萄”。

如果水果可以在单元格值中的任何位置,您将需要更像这样的东西:

=OR(ISNUMBER(SEARCH("apple", A2)), ISNUMBER(SEARCH("oranges", A2)), ISNUMBER(SEARCH("grapes", A2)), ISNUMBER(SEARCH("pears", A2)), ISNUMBER(SEARCH("kiwi", A2)), ISNUMBER(SEARCH("bananas", A2)))

对于“apple”和“a peck of apples”,这将返回 true。

这可以扩展到任意数量的单元格/字符串组合。 一旦你有了额外的公式列,只需打开过滤器并完成。

【讨论】:

  • 非常感谢。我打算早上试试。我的单元格是句子,所以第二种解决方案应该有效。我会让你知道情况如何。再次感谢!
猜你喜欢
  • 1970-01-01
  • 2020-07-24
  • 1970-01-01
  • 2019-09-16
  • 1970-01-01
  • 1970-01-01
  • 2019-07-26
  • 2022-08-03
  • 1970-01-01
相关资源
最近更新 更多