Excel フィルターに新しいオプション ボックスを作成し、Excel の複数の列に単一のフィルターを適用するにはどうすればよいですか?

Excel フィルターに新しいオプション ボックスを作成し、Excel の複数の列に単一のフィルターを適用するにはどうすればよいですか?

Excel ワークシートがあります。列 A には、オブジェクトのリスト (約 50 個) があり、他の列にはこれらのオブジェクトの機能が記載されています。列 E、F、G は私にとって特に重要です。これらの列には、、、1などの数値、、7などの数字文字値、および少なくとも 2 つの数値と/または数字文字値 (例:または) を含むコンマ区切り値が含まれています。これらの列には空のセルもいくつかあります。以下は、16B17C24, 13B, 15G17A, 20B, 16ワークシート

列 E、F、G にフィルターを使用したいと思います。

フィルターはこんな感じですなれ

そしてこれが彼らが現在

たとえば、列 F を「17C」などの数字と文字の値でフィルター処理したいとします。理想的には、残るのは「17C」を含むセル、つまり、、、17Cなどになります。17C, 24A16B, 17B, 17C, 24A, 24F

また、列 F を「6」のような数値でフィルタリングしたいと思います。理想的には、残るのは「6」を含むセル、つまり1, 2, 3, 6, 12, 13, 15, 20、、、、およびは含ま6ないセルになります。6E, 7C, 13C6A16B, 17A, 19C

列で使用されているすべての可能な値、つまり、、、、、…、、、、などでフィルタリングできるように1したいと思います1B22D2E2024A24F

このようなフィルタリングを列 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の値をテストしています 。E2E

  • I2セルを右のセルまでドラッグ/フィルしますK2。これで、 の数式はJ2Column をテストし F 、 K2は Column をテストします G

    ヘルパー列は、好きな場所に配置できます。必要に応じて、上記の数式を列 XYおよび に配置できます。ZまたはAE、 、および を配置することAFもできますAG

  • セルに とH2入力します=OR(I2:K2)。当然ですが、-- ヘルパー列を再配置した場合はIJこれKに合わせて調整します。
  • ヘルパー列セル (H2からK2、または配置した場所) を選択し、データがあるすべての行をカバーするように下にドラッグ/入力してください。
  • フィルター列H

今、

  • セルに、、、1Bなど 17A の 英数字の値を入力します。24H1
  • 列のフィルターを有効にしてH真実F値。これで、列、Gまたは にH 入力した値が含まれる 行のみが表示されます H1

フィルタリングなし:

フィルター:

OK; ヘルパー列の式(上記ではIJ、 と 記述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 になります。116
  • RIGHT(E2, LEN($H$1)+1)=(" "&$H$1)上記のミラーイメージ。これは、Column の値が Eの値で終わる かどうかをテストしますH1。より正確には、Column の値が、 先頭にスペースが付いEた の値で終わる かどうかですH1 。したがって、たとえば、 の場合、F3これは の場合は TRUE になりますが 、または の 19C 場合は FALSE になります。9CC

    Excel では大文字と小文字が区別されないため、上記の 3 つのテストでは大文字と小文字が区別されないことに注意してください。string1=string2

  • NOT(ISERROR(SEARCH(" "&$H$1&",", E2)))これは、列の値 Eに の値が含まれている かどうかをテストしますH1。より正確には、列の値に、  先頭にスペースがあり、後にカンマが続く のE値が含まれている かどうかです。関数は大文字と小文字を区別しないため、これも大文字と小文字を区別しません。H1SEARCH

したがって、 の式は、I2の値に の値が何らかの形でE2含まれているかどうかをテストします。H1

したがって、 の式は、H2行 2 (列 EFまたはG) のいずれかの値に の値が含まれているかどうかをテストしますH1


列、  E、内の英数字の値のリスト  (例:  、、、、、、など) を生成することもできますが、ここでは実行しません。FG1B2D2E5C2416B17A19C

関連情報