我在 Excel 中搜索句子开头的单个字符。例如,假设单元格 A1 包含字符串“T code999”,A2 包含“WWW T 8”,A3 包含“TW”
当我搜索字符串“T”(T 后跟空格)时,结果应该只显示单元格 A1(其中字符串以 T 开头并且后面有一个空格)有没有办法在 Excel 中像这样搜索?
答案1
找到列中的单元格最直接的方法A
就是在列上设置过滤器。
选择列中的任意数据单元格
A
,然后从功能区中单击Sort & Filter
/Filter
。(如果单元格中有标题标签,则此方法效果最佳A1
。)点击单元格中的下拉菜单
A1
并选择Text Filter
/Begins With
。
在光标所在位置(右上方输入框)输入“T *”,然后按 OK。
然后只需用彩色填充、粗体字体或任何您选择的字体突出显示已过滤的行。
- 最后,通过单击单元格 A1 中的下拉菜单并选择“清除过滤器”来删除过滤器。
这里的关键是将星号(用于匹配任意字符系列的通配符)添加到“以...开头”筛选字符串中。如果您尝试仅使用“T”进行筛选,Excel 会将其截断为“T”,您将获得所有以 T 开头的单元格。
请注意,过滤器不区分大小写。如果需要,则必须按照说明设置高级过滤器这里。
答案2
我知道 Excel 的“查找”不支持正则表达式,否则我建议您使用 find on ^T
(T 后面有一个空格,发布时会被忽略……)。
不过,我认为您可以使用条件格式来实现类似的效果:
单击单元格 A1 并选择整个工作表(Ctrl+ A)或单击单元格 A,然后单击列和行标签的交叉点以选择所有内容。
选择条件格式,然后选择新建规则。
选择“使用公式确定要格式化的单元格”,并在输入框“格式化此公式为真的值”中插入:
=LEFT(A1,2)="T "
LEFT()
返回n
单元格开头的第一个字符。这里我使用了n=2
。单击“格式...”按钮并选择格式。我喜欢使用“填充”并选择黄色,但这取决于您。单击“确定”,然后再次单击“确定”。这样应该会突出显示您要查找的单元格。
根据额外请求
我不确定您到底期望什么,但是由于您想要所有行,所以我会这样做:
在新列中,假设为“Z”,用唯一的分隔符连接所有单元格。我认为这
^
是此函数的可能分隔符。如果您的数据中没有^
任何地方,它将起作用。例如,在第 2 行中,您可以拥有:=A2&"^"&B2&"^"&C2&"^"&D2&"^"&E2&"^"&F2...X2&"^"&Y2
这将创建一个长字符串。
在下一栏中,使用:
=IF(OR(LEFT(Z2,2)="T ",NOT(ISERROR(FIND("^T ",Z2)))),1,0)
这将给出
1
包含“T”单元格的所有行。放置一个过滤器,并过滤所有内容
1
以获取所需的行。
Barry Houdini 指出(不要因为这部分给我点赞),这更容易/更简单/更短:
在新列中,假设为“Z”,输入以下公式并将其向下拖动:
=COUNTIF(A2:Y2, "T *")
在 Z 列上放置一个过滤器,并过滤掉所有带有 的
0
。突出显示您需要的行。