给定一个字符串形式的IP (XX.XXX.YYY.XX),是否可以检查YYY的值并将其复制到相邻的单元格中?
该值将是2或3个字符长,并将始终在第二阶段之后。
曾傑瑞在下面回答。再次感谢曾傑瑞!
发布于 2013-09-19 20:15:05
您可以使用以下公式将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个字符之后或第7个字符处。这个值是10。@在R中的位置,即6。10-6给出了4,这比我们要找的要长一个字符。(因为我们处理的是排名位置;例如,字符串的第1和第3字符之间的字符串长度为1,而3-1表示2)
所以才有最后的-1部分。
https://stackoverflow.com/questions/18904008
复制相似问题