给定字符串形式的IP(XX.XXX.YYY.XX)是否可以检查YYY的值并将它们复制到相邻的单元格中?
该值的长度为2或3个字符,并且总是在第2个字段之后。
杰瑞在下面回答。再次感谢杰瑞!
答案 0 :(得分:1)
您可以使用以下公式将YYY
提取到单元格中:
=MID(A1,FIND("@",SUBSTITUTE(A1,".","@",2))+1,FIND(".",A1,FIND("@",SUBSTITUTE(A1,".","@",2))+1)-FIND("@",SUBSTITUTE(A1,".","@",2))-1)
假设IP在A1中。
它适用于您拥有的任何IP长度。
编辑:一些细节:
这里有一些回收的配方。 SUBSTITUTE(A1,".","@",2)
返回XX.XXX@YYY.XX
(用@
替换A1中点的第二次出现)我们将在大公式中使用它,暂时将其称为R
这将公式变为:
=MID(A1,FIND("@",R)+1,FIND(".",A1,FIND("@",R)+1)-FIND("@",R)-1)
^-----------^ ^--------------------------------------^
Start | 1 | | 2 |
Length
好多了!
起始位置部分:
FIND("@",R)+1
返回@
之后的角色位置,以便MID
以第一个Y
开头。这里的位置变为7。
长度位置部分:
FIND(".",A1,FIND("@",R)+1)
我们已在此处使用了一个公式,FIND("@",R)+1
为7,因此我们有:FIND(".",A1,7)
。这将找到A1中点的位置,该点位于第7个字符之后或之后。这个值得到10。
这个应该是熟悉的,并且@
的位置在R
,即6。
10-6
给出4,这比我们想要的长一个字符。 (因为我们正在处理排名位置;例如,字符串的第1和第3个字符之间的字符串长度为1,但3-1给出2)
因此为什么会有最后的-1部分。