字符串在一个单元格中搜索多个值

登8

我有一个Excel电子表格,其中包含一列字符串列表。字符串列表由多个不同长度的数字组成,并用“ /”和“;”分隔 字符串的第一个条目是代码ID(长度始终为3)(例如红色),后跟“ /”,然后是数量(长度不同)(例如绿色),后跟“;”。如果字符串继续。有没有办法隔离字符串中的每个金额,仅使用内置的Excel函数(无VBA)才能做到这一点

例子:

151/802;259/22;283/93                       ---> 802 22 93
251/489;166/11;280/12;018/50;274/27;283/93  ---> 489 11 12 50 27 93 

在此处输入图片说明

到目前为止,我已经尝试过

荷兰文版本:

=DEEL(E2;(VIND.SPEC("/";E2)*1)+1;(VIND.ALLES(";";E2;1)-(VIND.ALLES("/";E2;1)+1)))

或用英语:

=MID(E2;(SEARCH(“/”;E2)*1)+1;(FIND(“;”;E2;1)-(FIND(“/”;E2;1)+1)))

但这只给我第一个条目,我不知道如何为完整的字符串循环。

病毒

使用Excel O365:

在此处输入图片说明

公式B1

=TRANSPOSE(FILTERXML("<t><s>"&SUBSTITUTE(SUBSTITUTE(A1,"/",";"),";","</s><s>")&"</s></t>","//s[position() mod 2 = 0]"))

使用旧版本(但至少是2013年)时,公式B1如下:

=INDEX(FILTERXML("<t><s>"&SUBSTITUTE(SUBSTITUTE($A1,"/",";"),";","</s><s>")&"</s></t>","//s[position() mod 2 = 0]"),COLUMN(A1))

如果您正在使用此版本,请向右拖动。


如果您的目标是仅将这些金额相加即可:

=SUMPRODUCT(FILTERXML("<t><s>"&SUBSTITUTE(SUBSTITUTE(A1,"/",";"),";","</s><s>")&"</s></t>","//s[position() mod 2 = 0]"))

在此处输入图片说明


如果您对FILTERXML()可以为您做些什么感兴趣,您可能会发现很有趣。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在一个单元格中搜索文本字符串以匹配另一个单元格

谷歌表,如果字符串匹配,并且是单元格集合中的最后一个匹配字符串,则获取单元格嵌套的值

从另一个单元格(VBA)的字符串中删除一个单元格中的值

在单元格值字符串的长度为1的行中查找最后一个值

在一个单元格中查找具有不同字符串的匹配单元格

在单元格中包含一个字符串

从串联字符串中删除Excel中最后一个单元格的逗号

在一个单元格中以字符串形式获取正文中的文本

如何将一个单元格中包含的字符串分成几个?

如何使用Python将字符串写入csv中的一个单元格?

数据验证器VBA可以将一个单元格中的字符串中的值与另一个单元格中的值进行比较

在另一个单元格数组中查找一个单元格数组的字符串

然后从一个单元格中查找字符串中的文本,然后将值从对应的行复制到另一个单元格中

使用宏在 Word 中搜索表格以查找单元格中的特定字符串,然后在同一行的另一个单元格上设置排版

查找将一个单元格中的字符串与另一个单元格中的字符串区分开的字符串部分

在一个单元格(定界字符串)中选择最小值或最大值

Google Spreadsheet-如果另一个单元格包含N个字符串之一,则求和单元格值

EXCEL-如果一个单元格区域中有多个字符串

将一个单元格的字符串扩展为两个单元格

Excel通过多个单词在单元格中搜索字符串

需要将数据从一个单元格中的文本字符串与另一单元格中的数据列进行比较

搜索并替换单元格中的字符串

熊猫数据帧的另一列中重复一个单元格的字符串值多少次?

根据Excel中另一个单元格中字符串的结尾向单元格中添加值

Excel:在空白单元格之前返回最后一个匹配字符串左侧的值

如何在MySQL中将所有字符串值分组到一个单元格?

如何为等于某个字符串的所有单元格设置一个值

仅在满足一个条件的情况下如何查找字符串,然后从数据框中的单元格而不是行本身中删除值?

如何检查数据框中的单元格是否是来自不同列但同一行的另一个单元格的子字符串