我有一个 Excel 工作表,我正在尝试使用公式根据另一列的值有条件地设置一列的值。
我有两列:
- 原文(正文)
- 处理后的文本(公式)
原始文本包含 markdown 格式的文本。一些文本用两个星号加粗。
现在,在我的已处理文本列中,我想检测**
并返回原始文本(如果**
存在),或者将整个文本换行(**
如果不**
存在)。
例如:
apple
->**apple**
**apple**
->**apple
(没有变化)
这是我的公式:
=IF(SEARCH("~*~*"+A2)+A2+"**"&A2&"**")
注意:我的系统使用+
分隔符而不是更常见的,
.
我~
用来转义*
,这是一个通配符。
问题是,如果SEARCH()
是假的,我得到#VALUE!
:
那么如何替换中的字符串**
呢SEARCH()
?
Windows 11、Office 365
如此处所述:
当
*
文本中不存在时,您会得到#VALUE!
因为*
未找到。将您的公式更改为:ISERROR
TRUE
如果发现错误(在您的情况下),函数将返回#VALUE
。**
因此,如果有错误,整个公式都会添加。如果不是,则返回单元格的值。