Excel ワークシートがあります。列 A には、オブジェクトのリスト (約 50 個) があり、他の列にはこれらのオブジェクトの機能が記載されています。列 E、F、G は私にとって特に重要です。これらの列には、、、1
などの数値、、7
などの数字文字値、および少なくとも 2 つの数値と/または数字文字値 (例:または) を含むコンマ区切り値が含まれています。これらの列には空のセルもいくつかあります。以下は、16B
17C
24, 13B, 15G
17A, 20B, 16
ワークシート。
列 E、F、G にフィルターを使用したいと思います。
フィルターはこんな感じですなれ。
そしてこれが彼らが現在は。
たとえば、列 F を「17C」などの数字と文字の値でフィルター処理したいとします。理想的には、残るのは「17C」を含むセル、つまり、、、17C
などになります。17C, 24A
16B, 17B, 17C, 24A, 24F
また、列 F を「6」のような数値でフィルタリングしたいと思います。理想的には、残るのは「6」を含むセル、つまり1, 2, 3, 6, 12, 13, 15, 20
、、、、およびは含ま6
ないセルになります。6E, 7C, 13C
6A
16B, 17A, 19C
列で使用されているすべての可能な値、つまり、、、、、…、、、、などでフィルタリングできるように1
したいと思います1B
。2
2D
2E
20
24A
24F
このようなフィルタリングを列 E、F、G に適用したいと思います。
ヘルパー列がなくても済むなら素晴らしいのですが、それが不可能な場合は、喜んでヘルパー列を使用します。
私の苦労をうまく表現できたと思います。
答え1
3 つの列すべてを選択してから、リボンのフィルター ボタンを選択します。すべての選択を解除してから、各列で 13 を選択できます。
更新された詳細を読みましたので、条件付き書式、セルの強調表示ルール、および「13」を含むテキストの 3 つの列すべてを選択してみてください。
答え2
Excel にネイティブでそのような機能があるという話は聞いたことがありません。しかし、私は、あなたが望む結果が得られるソリューションを構築したと思います。
質問に示されている列レイアウトが正確であると仮定します。
セルに
I2
数式を入力します=OR(AND(E2=$H$1,E2<>""), LEFT(E2, LEN($H$1)+1)=($H$1&","), RIGHT(E2, LEN($H$1)+1)=(" "&$H$1), NOT(ISERROR(SEARCH(" "&$H$1&",", E2)))) =OR(AND(E2=$H$1,E2<>""), LEFT(E2, LEN($H$1)+1)=($H$1&","), RIGHT(E2, LEN($H$1)+1)=(" "&$H$1), NOT(ISERROR(SEARCH(" "&$H$1&",", E2))))
これはヘルパー列になります。この数式については、後ほど詳しく説明します。今のところ、複数回参照されていることに注意してください。これは、 、つまり Column
E2
の値をテストしています 。E2
E
I2
セルを右のセルまでドラッグ/フィルしますK2
。これで、 の数式はJ2
Column をテストしF
、K2
は Column をテストしますG
。ヘルパー列は、好きな場所に配置できます。必要に応じて、上記の数式を列
X
、Y
および に配置できます。Z
またはAE
、 、および を配置することAF
もできますAG
。- セルに と
H2
入力します=OR(I2:K2)
。当然ですが、-- ヘルパー列を再配置した場合はI
、J
これK
に合わせて調整します。 - ヘルパー列セル (
H2
からK2
、または配置した場所) を選択し、データがあるすべての行をカバーするように下にドラッグ/入力してください。 - フィルター列
H
。
今、
- セルに、、、
1B
など17A
の 英数字の値を入力します。24
H1
- 列のフィルターを有効にして
H
、真実F
値。これで、列、G
または にH
入力した値が含まれる 行のみが表示されますH1
。
フィルタリングなし:
フィルター:
OK; ヘルパー列の式(上記ではI
、J
、 と 記述K
)は次のようになります。
=または(表現1、表現2、表現3、表現4)ここで、4 つの式は次のとおりです。
AND(E2=$H$1,E2<>"")
これは、列 の値がE
の値と単純に等しいかどうかH1
(ただし空白ではない)をテストします。たとえば、E3
の値H2
が の場合、これは に対して TRUE になります24
。LEFT(E2, LEN($H$1)+1)=($H$1&",")
これは、列 の値がE
の値で始まる かどうかをテストしますH1
。より正確には、列 の値が のE
値で始まり、H1
その後にコンマが続くかどうかです。したがって、たとえば、 の場合、F3
これは の場合は TRUE になりますが、または の16B
場合は FALSE になります。1
16
RIGHT(E2, LEN($H$1)+1)=(" "&$H$1)
上記のミラーイメージ。これは、Column の値がE
の値で終わる かどうかをテストしますH1
。より正確には、Column の値が、 先頭にスペースが付いE
た の値で終わる かどうかですH1
。したがって、たとえば、 の場合、F3
これは の場合は TRUE になりますが 、または の19C
場合は FALSE になります。9C
C
Excel では大文字と小文字が区別されないため、上記の 3 つのテストでは大文字と小文字が区別されないことに注意してください。
string1 = string2
NOT(ISERROR(SEARCH(" "&$H$1&",", E2)))
これは、列の値E
に の値が含まれている かどうかをテストしますH1
。より正確には、列の値に、 先頭にスペースがあり、後にカンマが続く のE
値が含まれている かどうかです。関数は大文字と小文字を区別しないため、これも大文字と小文字を区別しません。H1
SEARCH
したがって、 の式は、I2
の値に の値が何らかの形でE2
含まれているかどうかをテストします。H1
したがって、 の式は、H2
行 2 (列 E
、F
またはG
) のいずれかの値に の値が含まれているかどうかをテストしますH1
。
列、 E
、内の英数字の値のリスト (例: 、、、、、、など) を生成することもできますが、ここでは実行しません。F
G
1B
2D
2E
5C
24
16B
17A
19C