【发布时间】:2019-03-15 11:51:24
【问题描述】:
我已经搜索了一段时间,但看起来我找到的所有示例都与我需要的相反。有很多方法可以查看带有通配符的字符串是否与数组中的任何值匹配,但我需要另辟蹊径 - 我需要数组包含通配符,并检查目标单元格中的字符串是否匹配任何匹配数组中的字符串,但匹配字符串可以包含通配符。
在上下文中,我正在解析大型日志文件,并且有很多行我希望忽略(但不是删除);所以我有一个帮助栏:
+---+-------+----------------------------------------+----------------------------+
| | A | B | C (filter for = FALSE) | Requirement
+---+-------+----------------------------------------+----------------------------+
| 1 | 11:00 | VPN Status | =COUNTIF(IgnoreList,B1)>0 + Keep
| 2 | 11:05 | Log at event index 118, time index 115 | =COUNTIF(IgnoreList,B2)>0 + Ignore
| 3 | 11:20 | Log at event index 147, time index 208 | =COUNTIF(IgnoreList,B3)>0 + Ignore
+---+-------+----------------------------------------+----------------------------+
我尝试在我的 IgnoreList 范围内放置通配符以捕捉任何“事件记录”行:
+--------------------------------------+
| IgnoreList +
+--------------------------------------+
| State Runtime 1 +
| State Runtime 2 +
| State Runtime 3 +
| State Runtime 4 +
| Log at event index *, time index * +
+--------------------------------------+
...但这不起作用。
有谁知道如何根据包含通配符的数组检查单元格?
到目前为止,我的 IgnoreList 有 60 个条目,因此单独测试每个单元格实际上并不可行。我可以在日志中有 30,000 个或更多条目,因此单独的测试将比我希望使用的公式多得多。当我向 IgnoreList 添加条目时,我也不想编辑公式。
感谢您的帮助!
【问题讨论】:
-
Left()工作表函数呢:Left(...,18) = "Log at event index"?
标签: excel excel-formula wildcard countif