Excel LEN 位于两个符号之间

Flo*_*nWS 4 worksheet-function microsoft-excel

这里是 Excel 菜鸟。

有谁知道我如何执行以下操作?

在列中,每当单元格中的文本字符串包含超过x 个字符时,我希望通过条件格式将其突出显示。这些单元格的内容看起来就像这样:

“猫|鸟鸟|狗狗狗”

我希望每当文本字符串之一包含超过x个字符时单元格就会突出显示(本例中的文本字符串是用“|”与单元格中的其他文本分隔的文本)。

我很确定我需要使用 LEN 函数做一些事情,但我不知道具体如何做,因为我需要 LEN 应用于由“|”分隔的每个文本。

我希望解释足够准确。

pat*_*kim 8

如果我正确理解您的问题,请尝试以下解决方案,以防您的 Excel 版本支持 FILTERXML 函数。虽然您没有定义 x 的值,但在本例中我将其设置为 6。

请参阅下面的屏幕截图。D栏仅供参考。它不用于公式中。

示例数据位于单元格 C2 至 C9 中

选择单元格 C2,转到条件格式并添加新规则。将以下公式代入其中。

=MAX(LEN(TRANSPOSE((FILTERXML("<t><s>"&SUBSTITUTE(C2,"|","x</s><s>")&"x</s></t>","//s"))))-1) > 6
Run Code Online (Sandbox Code Playgroud)

选择您选择的格式并保存规则。现在使用格式刷并将格式应用到所有预期的单元格。

FILTERXML 创建一个按 | 分割的数组 当使用 TRANSPOSE 时,MAX 和 LEN 的工作方式与数组相同。附加“x”是为了防止字符串全为零,该字符串将被计算为数字 0,返回长度 1,而不是正确的长度。

看看这个,让我知道它是否适合您。

在此输入图像描述

在此输入图像描述