0

エクセル愛好家:

2 つの列の比較を検索すると (つまり、VLOOKUP を使用して) 多くの結果が表示されますが、これまでに調べた結果のいずれも、この特定の方法で必要なことを行っているようには見えません。

列 A の値は次のとおりです: Z、Q、V、V、T、T

列 B には次の値があります: V、T、T、M

列 C には Z、Q、V が表示されます (ここでは、「V」の 1 つのセットがペアになり、ペアになっていない「V」が 1 つ残るため、1 つの V があります)

列 D には M が表示されます

これまでに見た他の例では、列 C に「V」が含まれていないことを前提としています。これは、列 A に既に見つかっているためです。

基本的に、代わりに、ペアになって削除された 2 つの列の間の値が必要ですが、「奇妙なもの」は残しておいてください。

数式を使用してこれを理解することができませんでした-最初にすべてを並べ替えてから、列AまたはBのいずれかのセルを下にシフトし、列AとBのいずれかが一致する値になるか、各行に奇数の値が表示されるようにしました

前もって感謝します

編集: 別の言い方をすれば: すべてのペアが削除されるまで、列 A と B からペアになった値を「削除」して、列 A と B に残りの値を残します。

4

1 に答える 1

1

C/D の回答が、A/B の一致しないオリジナルと同じ行に存在することが許可されていると仮定しましょう。

C1 の式は次のとおりです。コピーして貼り付けます。

=REPT(A1,
 MAX(0,MIN(1,COUNTIF($A:$A,A1)
 -COUNTIF($B:$B,A1)
 -IF(ROW()=1,0,COUNTIF(OFFSET($C$1,0,0,ROW()-1,1),A1))
 )))

基本的に、列 A で一致する値が見つからず、これまで C でそれを説明していない場合は、列 A の対応する値を「繰り返し」たいと考えています。

そこには、OFFSET() がゼロの高さの範囲を参照しないようにするためのロジックがあり、C の各行で 0 回または 1 回繰り返します。

D1 の式は似ていますが、逆にして B と A を比較します。

=REPT(B1,
 MAX(0,MIN(1,COUNTIF($B:$B,B1)
 -COUNTIF($A:$A,B1)
 -IF(ROW()=1,0,COUNTIF(OFFSET($D$1,0,0,ROW()-1,1),B1))
 )))
于 2012-09-08T21:59:24.997 に答える