使用VBA在Excel中作为字符串的2个单元格的交集和并集

问题描述

我有2个单元格,其内容为“ 1 2 3”和“ 2 3 4”,如何找到这2个单元格的交集(2 3)和union(1 2 3 4)并将其转储到另一个单元格中。 使用以下指南转储“ 1 2 3”和“ 2 3 4”。

您可以参考这个问题

VLOOKUP with multiple criteria returning values in one cell

解决方法

您可以使用FilterXMLXPath来获取并集和交叉点

联盟:

=TEXTJOIN(" ",FILTERXML("<t><s>"&SUBSTITUTE(A1&" "&A2," ","</s><s>")&"</s></t>","//s[not(preceding::*=.)]"))

交叉点:

=TEXTJOIN(" ","//s[preceding::*=.]"))
,

联盟:

=TEXTJOIN(" ",UNIQUE(FILTERXML("<t><s>"&SUBSTITUTE(A1&" "&A2,"//s")))

交叉点:

=TEXTJOIN(" ",MODE.MULT(FILTERXML("<t><s>"&SUBSTITUTE(A1&" "&A2,"//s")))

enter image description here


注意

但是最终,引用基本数据可能会更容易,而不是需要解析的另一个公式的结果。

,

联合与相交(数学)

public class Sample { private String region; private String fruit; public Sample() { region = System.getenv().getOrDefault("REGION",null); fruit = System.getenv().getOrDefault("FRUIT","apple"); } } 中像这样使用它:

Excel

代码

=DSU(A1,B1)
=DSI(A1,B1,",")