如何在 MS Excel 中的 IF() 中检查 ** 的值?

如何在 MS Excel 中的 IF() 中检查 ** 的值?

我有一张 Excel 工作表,我正在尝试使用公式根据另一列的值有条件地设置一列的值。

我有两列:

  • 原文(文本)
  • 处理后的文本(公式)

原文包含 markdown 格式的文本。部分文本粗体带有两个星号。

现在,在我处理的文本列中,我想检测**并返回原始文本(如果**存在)或将整个文本包装起来(**如果不**存在)。

例如:

  • apple->**apple**
  • **apple**-> **apple(无变化)

这是我的公式:

=IF(SEARCH("~*~*"+A2)+A2+"**"&A2&"**")

注意:我的系统使用+作为分隔符,而不是更常见的,

我用来~转义*通配符。

问题是,如果SEARCH()为假,我得到#VALUE!

示例电子表格

**那么我该如何替换中的字符串SEARCH()

Windows 11,Office 365

答案1

就像声明的那样这里

如果未找到 find_text 的值,则返回错误值 #VALUE!

*文本中不存在时,您将得到结果,#VALUE!因为*未找到。将公式更改为:

=IF(ISERROR(SEARCH("~*",A4)),"**"&A4&"**",A4)

ISERRORTRUE如果发现错误(就您的情况而言) ,函数将返回。因此,如果出现错误,#VALUE整个公式将添加。如果没有,它将返回单元格的值。**

相关内容