2017-03-15 23 views
0

こんにちは - 私は次の問題のための助けを探しています。 私は、1組の文字(または値)のすべての組み合わせを私に与えてくれるユーティリティを持っています。これは8の形式でnを選択します。すなわち、8文字あり、私は4文字以上を必要としないシーケンスのすべての組み合わせを生成できます。したがって、nは2、3、または4になります。フィルター文字の組み合わせ

ここではもう少し複雑になります.8文字は3つのリストまたはグループで構成されています。私が言うように、私は問題なしですべて2,3,4シーケンスを得ることができます。これは、A、B、C、D、E1、E2、F1、F2、F2、F2、F3、F4、F5、F6です。しかし、私は(私はn = 2の条件で)A、B、C、Dから少なくとも1つを得ることができる結果の文字だけを必要とする組み合わせを得る(またはむしろ結果をフィルタリングできる)ようにそれらをフィルタリングする必要があります1つはEセットまたはFセットのいずれかからのものです。

ので、いくつかの例として、ここで、n = 2

AE1またはDF2は... okですが、ABまたはE1E2またはE1F1 ...は

ここで、n = 3のルールが少し変更するが、それはだ、OKではありません同じ原理

ABE1、ABF1、BDF2またはBE2F1 ...はOKですが、ABC、ABD、AE1E2、DF1F2またはE1E2F1 ...はOKではありません。

同様に、N = 4

ABE1F1、ABE1F2 ... OKしかしABCD、ABE1E2、CDF1F2又はE1E2F1F2ある... OKでありません。

私は、MatchやCountifなどのさまざまな公式を使用していくつかのことを試しましたが、それは分かりません。どんな助けにもとても感謝しています。

ジョン

答えて

1

私はそれから散らかっの一部をとり、この問題へのアプローチを見つけるためにしようとしてきました。

(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. 

ことが可能です私の知る限りが出て働くことができるように、N = 2

LM 
LN 
についてこの

のようなものになっているグループの許可の組み合わせのリストを作ります= 3

LLM 
LLN 
LMN 

がNの場合=

LLMN 

4(などLLLMが許可されている場合、私は知りませんが、これらを追加することができます)

私はNの場合

OPで言及されたユーティリティーがAAAAやE1E1E1E1のような文字列を生成しないという大きな前提を作るでしょう。さもなければ、それはかなり役に立たず、最初から始める方が良いでしょう。

だから、ちょうどこの

=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") 

そして、許可パターンTRUEているルックアップ値に

=ISNUMBER(MATCH(B2,$D$2:$D$10,0)) 

とフィルタのリスト内のルックアップのように見えるの代替を必要としています。

enter image description here

+0

多くの方にお尋ねいただきありがとうございます。私はそれを通過し、週末にそれが動作するかどうかを見る - 右の球場になるように見えます。 –

+0

ありがとうございます、それは私のデータで本当にうまくいきます - あなたが役に立たない組み合わせについて作った前提は正しいです。しかし、今私がしなければならないことは、使用する文字に非常に特有なので、どのグループにも拡張することです。ですから、まだ3つのグループ(LMNの結果)で、ABCの代わりにPQXなどがあるかもしれません。そして、他のグループのための同じ種類のアプローチ。 –

+0

良いアイディアは基本的にうまくいきます。より一般的なものにするための主なポイントは、既にかなり長いSUBSTITUTEであり、使用しているシンボルのセットに非常に特有です。 TEXTJOINを使用して文字の配列を結合して分類されたパターンをより柔軟に構築できる最新バージョンのExcelを使用している場合は、もう少し簡単かもしれません。 –

関連する問題