首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以在Excel中检查字符串的泛型部分?

是否可以在Excel中检查字符串的泛型部分?
EN

Stack Overflow用户
提问于 2013-09-19 20:09:47
回答 1查看 83关注 0票数 2

给定一个字符串形式的IP (XX.XXX.YYY.XX),是否可以检查YYY的值并将其复制到相邻的单元格中?

该值将是2或3个字符长,并将始终在第二阶段之后。

曾傑瑞在下面回答。再次感谢曾傑瑞!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-19 20:15:05

您可以使用以下公式将YYY提取到单元格中:

代码语言:javascript
复制
=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

这将公式转化为:

代码语言:javascript
复制
=MID(A1,FIND("@",R)+1,FIND(".",A1,FIND("@",R)+1)-FIND("@",R)-1)
        ^-----------^ ^--------------------------------------^
            Start     |           1            | |     2     |
                                      Length

好多了!

起始位置部分:

FIND("@",R)+1返回字符在@之后的位置,因此MID从第一个Y开始。在这里,位置变成7。

长度位置部分:

  1. FIND(".",A1,FIND("@",R)+1)这里已经使用了一个公式,FIND("@",R)+1是7,所以我们有:FIND(".",A1,7)。这可以找到A1中圆点的位置,这是在第7个字符之后或第7个字符处。这个值是10。
  2. 这个应该是熟悉的,并得到@R中的位置,即6。

10-6给出了4,这比我们要找的要长一个字符。(因为我们处理的是排名位置;例如,字符串的第1和第3字符之间的字符串长度为1,而3-1表示2)

所以才有最后的-1部分。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18904008

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档