如何在Excel中提取不同长度文本之间的用户ID?
我必须只针对不同长度文本中间的用户ID。如果可能的话 场景: 下面是我在如何在Excel中提取不同长度文本之间的用户ID?,excel,Excel,我必须只针对不同长度文本中间的用户ID。如果可能的话 场景: 下面是我在A2、B2和C2中的3个不同信息 **A2** | *BZ_PH0102~grahambenjamin.NBSC_BookDelivery_Print.09-01.22:42:06* **B2** | *AS_P24~greenerobert.NBSC_BookDelivery_Print.09-01.23:32:43* **C2** | *AS_P16~chernowron.NBSC_BookDeli
A2、B2和C2中的3个不同信息
**A2** | *BZ_PH0102~grahambenjamin.NBSC_BookDelivery_Print.09-01.22:42:06*
**B2** | *AS_P24~greenerobert.NBSC_BookDelivery_Print.09-01.23:32:43*
**C2** | *AS_P16~chernowron.NBSC_BookDelivery_Print.09-02.02:22:51*
我需要在~之后提取不同的用户ID,并将它们输入列D
对于上面的示例,它将是:格雷厄姆·本杰明、格林·罗伯特和切尔诺龙
如果长度没有太多变化,那就容易了。现在我只在D2
中使用=MID(A2,FIND(“~”,A2)+1,LEN(A2)-41-FIND(“~”,A2)-1)
这个公式可行,但并不完全正确。我只是试着用它做实验,但我找不到合适的
我还尝试了=LEFT(A4,搜索(“.”,A4)-1)
但只提取
最后,我尝试添加一个右定界,但它不能正常工作
=右(A3,搜索(“~”,A3))&左(A3,搜索(“.”,A3)-1
我非常感谢你的帮助。谢谢 假设您想要第一个和第一个
之间的所有,然后
解释
MID(字符串、起始位置、字符数)
你已经知道如何找到起点了。现在,我们想知道从该起点开始向右计数的字符数
从数学上讲,这是周期的位置减去~的位置,然后减去1来抵消周期。该计算给出了我们要提取的字符串的实际长度。所以我们说从这个位置开始,在右边数到x多个字符。是的,先生!这是正确的!这正是我需要的!你能告诉我这个公式是什么意思吗?这样我就可以在需要的时候重复使用它了。我只知道它会以~为起点,然后以一段时间为终点。-查找
应该做什么?@AldrinRenzCruz根据您当前的示例,虽然不相关,但如果第一个~
之前的文本包含一个
(例如*PI\u 3.14~Urderboy.NBSC\u BookDelivery\u Print.10-05.12:34:56*
),则您可能会收到错误(因为您要求的字符数为负数). 在这种情况下,您需要在第一个~
之后查找第一个
,或者查找(“.”,A22,FIND(“~”,A22))
是的,在我的回答中使用第一个非常重要:)@Chronocidal。在这一点上,VBA变得非常理想。我想,在等式中动态地这样做会很漫长
=MID(A22,FIND("~",A22)+1,FIND(".",A22)-FIND("~",A22)-1)