Excel 过滤字母组合

Excel 过滤字母组合,excel,filter,combinations,formula,Excel,Filter,Combinations,Formula,您好–我正在寻找以下问题的帮助。 我有一个实用程序,它给我一组字母或值的所有组合。这是8个选择n的形式,即有8个字母,我可以生成序列的所有组合,其中我想要的不超过4个字母。所以n可以是2,3,或4 现在它变得更复杂了:8个字母由三个列表或组组成。因此,A,B,C,D;E1,E2;F1,F2 正如我所说,我可以毫无问题地得到所有的2,3和4序列。但是我需要过滤它们,这样我就可以得到组合,或者更确切地说,可以过滤结果,在结果中我只需要字母,以确保在n=2的条件下,至少有一个来自A,B,C,D,还有一

您好–我正在寻找以下问题的帮助。 我有一个实用程序,它给我一组字母或值的所有组合。这是8个选择n的形式,即有8个字母,我可以生成序列的所有组合,其中我想要的不超过4个字母。所以n可以是2,3,或4

现在它变得更复杂了:8个字母由三个列表或组组成。因此,A,B,C,D;E1,E2;F1,F2

正如我所说,我可以毫无问题地得到所有的2,3和4序列。但是我需要过滤它们,这样我就可以得到组合,或者更确切地说,可以过滤结果,在结果中我只需要字母,以确保在n=2的条件下,至少有一个来自A,B,C,D,还有一个来自E集或F集

举几个例子,其中n=2

AE1或DF2…正常,但AB或E1E2或E1F1…不正常

其中n=3,规则略有变化,但原理相同

ABE1、ABF1、BDF2或BE2F1…正常,但ABC、ABD、AE1E2、DF1F2或E1E2F1…不正常

类似地,其中n=4

ABE1F1、ABE1F2…正常,但ABCD、ABE1E2、CDF1F2或E1E2F1F2…不正常

我尝试了一些使用不同公式的方法,比如Match和Countif,但不能完全理解。因此,我非常感谢您的帮助


乔恩

我一直在试图找到一种解决这个问题的方法,从中消除一些混乱。有两个因素使得这个问题有点难以处理

(a) Combination of single letters and bigrams (digrams?)

(b) Possibility of several different letters / bigrams at each position in the string.
通过将字母或大字组分为三组或三类,可以解决这两个问题

(1) Letters A-D - let's call this group L
(2) First pair of bigrams E1 & E2 - let's call this group M
(3) Second pair of bigrams F1 & F2 - let's call this group N.
然后我们可以列出允许的组组合,据我所知是这样的

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,"A","L"),"B","L"),"C","L"),"D","L"),"E1","M"),"E2","M"),"F1","N"),"F2","N")
对于N=2

LM
LN
对于N=3

LLM
LLN
LMN
对于N=4

LLMN
我不知道是否允许LLLM等,但可以添加这些

我将做一个很大的假设,即OP中提到的实用程序不会生成AAAA或e1e1之类的字符串,否则它将非常无用,最好从头开始

所以你只需要一个像这样的替代品

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,"A","L"),"B","L"),"C","L"),"D","L"),"E1","M"),"E2","M"),"F1","N"),"F2","N")
以及允许模式列表中的查找

=ISNUMBER(MATCH(B2,$D$2:$D$10,0))
并在查找值为TRUE时进行筛选


非常感谢您关注这一点。我会仔细检查它,看看它在周末是否有效-看起来在正确的范围内。谢谢你,它在我的数据上非常有效-你关于无用组合的假设是正确的。不过,我现在需要做的是,因为它对于所使用的字母非常具体,所以我需要将它扩展到任何分组。所以,仍然有三组,即导致LMN,如果不是,比如说,ABC,我可能有PQX或其他东西。其他小组也采用同样的方法。好的,这个想法基本上是可行的。让它更通用的主要症结是替代品,它已经很长了,并且非常特定于您正在使用的符号集。如果您有一个最新版本的Excel,您可以使用TEXTJOIN连接一个字母数组,以更灵活地构建分类模式,这可能会更容易一些。当然,您可以将单元格引用放在替换中,而不仅仅是文本,如替换…A2、X1、Y1、X2、Y2。。。其中cols X&Y包含您要替换的值。后一种方法很有效,我之前尝试使用SUBSTITUTEA2,X1:Y2。。。但是无论如何,尽管使用较少的“替代品”会很好,因为当你添加更多时,它会变得有点混乱,但解决方案正是我所需要的。非常感谢您的帮助和最后的澄清。