
複数の列間の一致を見つけようとしており、一致した場合は、一致したすべての行を強調表示したいと考えています。
列は次のようになります --
- AAA
- BBBB
- CCC
サンプル列/行
AAA BBB CCC
INS50 FG23 YU44
INS51 FG23 YU44
INS55 FG23 YU45
INS55 FG23 YU46
INS54 FG27 YU49
INS54 FG28 YU49
----- FG28 YU89
INS59 ---- YU49
最後の3行を考えると
INS54はFG28およびYU49と関係がある
FG28はYU49およびYU89と関係がある
ここで、一致する行を作成します。
INS54 FG28 YU49 FG27
FG28 YU89 YU49
それがどうして可能なのか全く分かりません。
どのようなご助力でも大歓迎です。よろしくお願いします。
答え1
あなたが何を尋ねているのかを正確に理解するのは難しいですが、あなたが行きたい場所に近づくことができるかもしれない結果がここにあります。
質問には 2 つの部分があるようです。1 つ目は AAA 列の項目の関係をリストし、2 つ目は BBB 列の項目の関係をリストすることです。したがって、以下の結果表には 2 つのセクションがあります。
E2 のこの数式は、列 A の個別の値をリストするために使用されました。
=IFERROR(INDEX($A$2:$A$9,MATCH(0,INDEX(COUNTIF($E$1:E1,$A$2:$A$9),0,0),0)),"")
同様に、E8 のこの数式は列 B の個別の値をリストします。
=IFERROR(INDEX($B$2:$B$9,MATCH(0,INDEX(COUNTIF($E$7:E7,$B$2:$B$9),0,0),0)),"")
質問の最初の部分では、列 A の個別の値に対応する列 B と列 C の値のリストが必要であるようです。F2 のこの配列数式はそれを実行します。
=IFERROR(INDEX($B$2:$C$9,SMALL(IF($A$2:$A$9=$E2,ROW($A$2:$A$9)-1,""),MOD(COLUMN(),2)+1),TRUNC(COLUMN()/2)-2),"")
単に ではなく、Ctrl+と一緒に入力する必要があります。入力後、下方向および右方向に入力すると、結果テーブルの上部に結果が生成されます。重複する値がいくつかリストされていることに注意してください。Shift EnterEnter
質問の 2 番目の部分では、列 B の個別の値に対応する列 C の値のリストが必要であるようです。F8 のこの配列数式は、1 つの列からのみ選択する必要があるため、よりシンプルです。
=IFERROR(INDEX($C$2:$C$9,SMALL(IF($B$2:$B$9=$E8,ROW($A$2:$A$9)-1,""),COLUMN()-5)),"")
ここでの前提は、最初の部分には最大 2 つの関連値があり、2 番目の部分には 4 つの関連値があるということです。これは必要に応じて調整できます。
これをさらに進めたい場合は、列 E に個別の値をリストしたものと同様の数式を使用して、これらの結果内の重複を削除できます。