我的单元格包含!后跟长度不同的字母数字字符串。
我想改变!到 NOT( 这相对容易,我遇到的问题是字母数字字符串后面的右括号
即
!AlphaNumericString 变为 NOT(AlphaNumericString)
更改前的单元格示例,
与(!BI,OR(Z1,Z2,Z102,Z103,Z104,Z306))
!L1M23 或(NP001 和 !CA);
Z200 和 !VP100;
!N001L010D132
我希望这些细胞成为,
与(非(BI),或(Z1,Z2,Z102,Z103,Z104,Z306))
非(L1M23) 或(NP001 和 非(CA));
Z200 和 非 (VP100);
不是(N001L010D132)
感叹号后面始终跟有 1 个字符,那么它将是一系列字母数字字符,并且感叹号字符串始终以以下之一结尾
空间
)
;
,
或者它可以以单元格中的最后一个字符结束,
按照上面的例子
希望这是有道理的。
我更喜欢宏,这样它就可以从 EXCEL 365 向后兼容到 2010 年,但如果有简单的公式,那就太棒了。
谢谢 姆巴特67
但是如果有简单的公式,那就太棒了
并非如此,但在 Office 365 中我们可以组合公式来获得您想要的结果:
=MAP(A1:A2,
LAMBDA(a,
REDUCE(a,SEQUENCE(MAX(LEN(a)-LEN(SUBSTITUTE(a,"!",)))),
LAMBDA(r,_,
LET(x,MID(r,FIND("!",r),LEN(r)),
y,TOROW(HSTACK(FIND({" ","(",";",","},x),LEN(x)+1),2),
IFERROR(
SUBSTITUTE(
REPLACE(r,
MIN(y+FIND("!",r)-1),
,
")"),
"!",
"NOT(",
1),
r))))))