如何判断一个单元格中是否包含某个关键字,并给出提示?今天教大家两种方法。
案例:
遍历下图 1 中 C 列的姓名,判断每个姓名是否包含“钢”字。
效果如下图 2、3 所示。
解决方案 1:
1. 在 D2 单元格中输入以下公式 --> 下拉复制公式:
=IF(ISERROR(FIND("钢",C2)),"","是")
公式释义:
FIND("钢",C2):在 C2 单元格中查找关键字“钢”,返回代表其在字符串中位置的数字或错误值;
ISERROR(...):判断上述结果是否为错误值,返回逻辑结果;
IF(...,"","是"):如果是错误值就返回空值,否则返回“是”
解决方案 2:
1. 将光标放置到工作表名称处 --> 右键单击 --> 在弹出的菜单中选择“查看代码”
现在进入了 VBE。
2. 在上方两个下拉菜单中分别选择 Wordsheet 和 SelectionChange。
3. 输入以下代码 --> 关闭 VBE
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim keyword As String
Dim activeCellContent As String
Dim found As Boolean
keyword = "钢" '关键字设置
activeCellContent = ActiveCell.Value '活动单元格内容
found = InStr(1, activeCellContent, keyword, vbTextCompare) > 0 '使用InStr函数检查关键字是否存在
If found Then '如果找到关键字,则执行相关操作
MsgBox "活动单元格包含关键字: " & keyword
Else
MsgBox "活动单元格不包含关键字: " & keyword '如果找不到关键字,则执行相关操作
End If
End Sub
单击任意一个单元格,就会弹出一个对话框,告知该单元格内是否包含所设置的关键字。
4. 最后别忘了将文件保存为 .xlsm 格式。