使用excel,如果单元格中存在感兴趣的字符串,请将该字符串剪切掉,然后粘贴到新列中

时间:2018-03-24 09:25:32

标签: excel excel-formula

例如,列中的值混合了两个属性:代码和颜色

我无法使用text to columns,因为没有标点符号将它们分开,中间有足够的空格。

例如:

代码:SLV 1234 GGA2

颜色:AQUA BLUE

问题是什么:

当前列= SLV 1234 GGA2 AQUA BLUE

我需要什么:

当前列= SLV 1234 GGA2

下一栏= AQUA BLUE

2 个答案:

答案 0 :(得分:1)

您也可以选择 Space als delimiter(步骤4): https://support.office.com/en-us/article/split-text-into-different-columns-with-the-convert-text-to-columns-wizard-30b14928-5550-41f5-97ca-7a3e9c363ed7

根据评论进行编辑:

如果color ist始终是单元格A1中的最后一个(单个)Word:

=TRIM(RIGHT(SUBSTITUTE(A1, " ", REPT(" ", 100)), 100))

EDIT2:

如果你没有那么多颜色,你可以这样做:

    每个颜色
  • search一个接一个。如果找到了,你将获得该位置,如果没有,将抛出错误(所以用999替换它,我会告诉不久为什么)。

  • 接下来查看所有找到的排名的min值,这样,如果您在搜索中有BLUEAQUA BLUE,则会返回AQUA BLUE(而不是BLUE子串)

  • 取出单元格的right部分,减去找到的位置+ 1。如果未找到任何内容,则会减去999,因此会引发错误,请将其替换为" "

可能不是一个优雅的解决方案,但也许它适合你。

enter image description here

英语公式将是:

=IFERROR(RIGHT(A1,LEN(A1)-MIN(IFERROR(SEARCH("SEE GREEN";A1);999);IFERROR(SEARCH("AQUA BLUE";A1);999);IFERROR(SEARCH("BLUE";A1);999))+1);"")

也许里面有一个拼写错误,因为德语excel而无法检查:(

答案 1 :(得分:1)

我建议您创建所有可接受颜色的列表。按颜色描述的长度对该列表进行排序,降序。

然后你可以使用这些公式:

<强>代码

C1:  =IFERROR(MID(A1,AGGREGATE(15,6,SEARCH(Colors,A1),1),99),"")

<强>颜色

IFERROR

import UIKit class borderedTextField: UITextField{ let viewz:UIView! = UIView() var border:UIView! = UIView() var name:UILabel! = UILabel() override func draw(_ rect: CGRect) { self.addSubview(viewz) } override func layoutSubviews() { backgroundColor = UIColor.green } func placement(){ border.frame.size.height = 15 border.backgroundColor = UIColor.black border.translatesAutoresizingMaskIntoConstraints = false viewz.addSubview(border) border.heightAnchor.constraint(equalToConstant: 15).isActive = true border.widthAnchor.constraint(equalToConstant: 100) border.leftAnchor.constraint(equalTo: viewz.leftAnchor, constant: 10).isActive = true border.bottomAnchor.constraint(equalTo: viewz.bottomAnchor, constant: -5).isActive = true name.text = "whatt" name.textAlignment = .left name.textColor = UIColor.black name.translatesAutoresizingMaskIntoConstraints = false viewz.addSubview(name) name.widthAnchor.constraint(equalToConstant: 100) name.heightAnchor.constraint(equalToConstant: 50) name.leftAnchor.constraint(equalTo: viewz.leftAnchor, constant: 5).isActive = true name.topAnchor.constraint(equalTo: viewz.topAnchor, constant: 10).isActive = true } } 函数用于返回代码空字符串,如果字符串中没有匹配的颜色。

此外,此算法取决于没有字符串匹配代码段中的颜色。

enter image description here