从Excel中的string中提取中间字符使用公式?
我想在excel中从string中提取中间字符。是否有任何方法使用Excel公式来实现这个任务? 就像我有长度均匀的string,然后提取中间的两个字符,或者如果它的长度是奇数,然后提取单个中间字符,如下图所示。
这工作,它非常简单:
=MID(A2,ROUNDPUP(LEN(A5)/2,0),IF(MOD(LEN(A2),2)=0,2,1))
说明:
考虑到“ abcde ”string,它将是:
-
ROUNDPUP(LEN(A5)/2,0)
是我们想要开始提取的位置(例如3)。 -
IF(MOD(LEN(A2),2)=0,2,1)
是我们需要多less个字符。MOD
用于确定长度(LEN
)是偶数还是奇数 ,并根据结果返回1或2。 -
MID(A2, 3, 1)
用于从A2内容获取子string,在本例中,从第三个位置开始,只提取1个字符(因为它是奇数)。
如果是“ abcd ”,则会导致MID(A2, 2, 2)
,即从第二个字符(“b”)开始,取两个字符(“bc”)。
以下工作:
=IF(MOD(LEN(A2),2) = 0,MID(A2,INT(LEN(A2)/2),2),MID(A2,1+INT(LEN(A2)/2),1))
最短的公式可能:
=MID(A1,LEN(A1)/2+0.5,2-MOD(LEN(A1),2))
这利用了MID函数只取其参数的整数部分。