Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 拆分数字并获取从特定数字开始的元素_Excel_Excel Formula - Fatal编程技术网

Excel 拆分数字并获取从特定数字开始的元素

Excel 拆分数字并获取从特定数字开始的元素,excel,excel-formula,Excel,Excel Formula,我在Excel中有以下行。我需要拆分它,只获取包含“+35799”或“+35797”的电话号码 Phone number +357 22333333, +357 22444444 +357 97222222 +357 22000000, +357 22111111, +357 99000000 例如,新的结果行应如下所示: Phone number +357 97222222 +357 99000000 目前我只有=SPLIT(B2,“,”) 你能帮我吗?你可以用下面的公式来计算数字 对于

我在
Excel
中有以下行。我需要拆分它,只获取包含“+35799”或“+35797”的电话号码

Phone number
+357 22333333, +357 22444444
+357 97222222
+357 22000000, +357 22111111, +357 99000000
例如,新的结果行应如下所示:

Phone number

+357 97222222
+357 99000000
目前我只有
=SPLIT(B2,“,”)


你能帮我吗?

你可以用下面的公式来计算数字

对于+357 97(在B2单元格中输入此公式)

对于+357 99(在C2单元格中输入此公式)

Excel剪报


将公式拖动到底部单元格以获取所有结果。如果需要,您还可以将结果连接到一列

如果可能有多个匹配项,您可以尝试:

B2
中的公式:

=TEXTJOIN(", ",,IFERROR(FILTERXML("<t><s>"&SUBSTITUTE(A2,", ","</s><s>")&"</s></t>","//s[starts-with(., '+357 99') or starts-with(., '+357 97')]"),""))
如果您没有Excel O365,可以使用:

=IFERROR(INDEX(FILTERXML("<t><s>"&SUBSTITUTE($A2,", ","</s><s>")&"</s></t>","//s[starts-with(., '+357 99') or starts-with(., '+357 97')]"),COLUMN(A1)),"")
=IFERROR(索引(FILTERXML(“&SUBSTITUTE($A2,”,“,”)&“//s[以(,“+357 99”)开头或以(,“+357 97”)开头,列(A1)),“”)
左右拖动

FILTERXML()
从Excel 2013开始提供

如果两个激子只有一个值,则处理将很好。此外,不幸的是,“SPLIT()”不是Excel函数,但如果您对如何使用
FILTERXML()
拆分字符串感兴趣,您可能会发现这很有趣。

我认为
FILTERXML()
最适合这种情况。在
FilterXML()
函数的
xPath
参数中使用start with

=IFERROR(FILTERXML("<t><s>"&SUBSTITUTE(A1,", ","</s><s>")&"</s></t>","//s[starts-with(., '+357 99') or starts-with(., '+357 97')]"),"No Match")
=IFERROR(FILTERXML(“&SUBSTITUTE(A1,”,“,”)&“//s[以(,“+357 99”)开头或以(,“+357 97”)开头,“不匹配”)


对JvdD中的函数
FILTERXML()
的一个很好的解释

如果给定的行有多个匹配项,输出中会发生什么,或者这是不可能的?所有的数字后面都是逗号吗?因为第三个和第四个不是。如果数据一致,则可以使用find()和iferror()…@timbiegeleisenth,这可能会发生。我需要两个都有。@SolarMike只有在多个数字可用时,逗号才在那里。
=TRANSPOSE(IFERROR(FILTERXML("<t><s>"&SUBSTITUTE(A2,", ","</s><s>")&"</s></t>","//s[starts-with(., '+357 99') or starts-with(., '+357 97')]"),""))
=IFERROR(INDEX(FILTERXML("<t><s>"&SUBSTITUTE($A2,", ","</s><s>")&"</s></t>","//s[starts-with(., '+357 99') or starts-with(., '+357 97')]"),COLUMN(A1)),"")
=IFERROR(FILTERXML("<t><s>"&SUBSTITUTE(A1,", ","</s><s>")&"</s></t>","//s[starts-with(., '+357 99') or starts-with(., '+357 97')]"),"No Match")