首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >excel 2010解析可变长度文本字符串的部分。

excel 2010解析可变长度文本字符串的部分。
EN

Stack Overflow用户
提问于 2016-09-08 22:42:51
回答 2查看 153关注 0票数 0

我的数据通常是CMB1.I2.CB3.str01/02+或01-02.01+,或者是设置上的一些随机变化。我认为最坏的情况是AR1.IN2.CM3.ST 04/05+。

现在,我有在col A2-A 1000,在col,C,D等中的完整字符串数据,我正在尝试将完整的字符串按部分分开。我在excel中使用left , mid, len and search函数来分隔字符串,并让用户输入分隔符(在本例中为all,但有时是-,或/等)。所以我的公式是这样的

使用此示例,AR1.IN2.CM3.ST04/05+位于单元格A5中,分隔符/分隔符(.s)位于单元格B2 - D2中。

A5:AR1.IN2.CM3.ST04/05+

A6:A1.I2.CM3.ST06/07-

A7:01.03.4.8/9+

B5 : AR1

b5中的情商:=LEFT(A5,SEARCH($B$2,A5,1)-1)

C5 : IN2

C5中的情商:=MID(A5,LEN(B5&$B$2)+1,SEARCH($C$2,A5,LEN(B5&$B$2)+1)-LEN(B5&$B$2&$C$2))

D5 : CM3

D5中的情商:=MID(A5,LEN(B5&$B$2&C5&$C$2)+1,SEARCH($D$2,A5,LEN(B5&$B$2&C5&$C$2&$D$2)+1)-LEN(B5&$B$2&$C$2&C5&$D$2))

E5 :ST04 04/05+

E5中的情商:=RIGHT(A5,LEN(A5)-LEN(B5&$B$2&C5&$C$2&D5&$D$2))

我的公式很好,但我希望有一个更简单的方法?当我试图向同事解释每种配方都在做什么时,他们的眼睛都呆呆了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-08 23:00:03

为了缩短公式,您可以:

  1. 添加助手列,存储第一、第二等,分离器外观的位置。这将为您节省大量的阅读/写作,但最重要的是,它将使您的公式更加可读性/可理解性。这是编程中的一个基本概念,我认为Excel中的公式也应该遵守这一规则。
  2. 添加具有剥离字符串部分部分结果的辅助列。这些可能是隐藏的、分组的和/或非常狭窄的,因此它们不麻烦。SUBSTITUTEFIND在这里可能很有用。
  3. 使用VBA函数Split (部分保留公式领域)。我非常喜欢这个,我经常在用户定义的公式中使用它。
  4. 对列使用文本(完全保留公式领域)。

你的同事看起来会恢复正常..。

票数 1
EN

Stack Overflow用户

发布于 2016-09-08 23:27:42

一种更简单的方法。使用A列中的数据,在B1中输入:

代码语言:javascript
复制
=TRIM(MID(SUBSTITUTE($A1,".",REPT(" ",999)),COLUMNS($A:A)*999-998,999))

复制这两个跨和向下。例如:

这就像“从文本到列”,但是有一个公式。

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

https://stackoverflow.com/questions/39401240

复制
相关文章

相似问题

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