Krisは、ワークシートの情報を色でフィルタリングする方法を知っています。フィルタリングツールを使用すると、表示するテキストまたは背景の色を選択できます。 Krisは、複数の色が表示されるようにフィルタリングする方法があるかどうか疑問に思います。セルの内容でフィルタリングしている場合、表示する複数の一致するアイテムを簡単に選択できますが、色に対してそれを行う方法を理解することはできません。

これについては2つの方法があります。最初のアプローチは、フィルタリングにまったく依存していません。代わりに、データを色で並べ替えます。 2つ(またはそれ以上)の並べ替えパスを実行すると、目的の色をすべて並べて取得できるはずです。次に、残りの行(表示したくない色を使用している行)を選択し、それらの行を非表示にします。

繰り返しますが、これは単なる回避策であり、比較的短いデータリストに対しては問題なく機能します。 2番目のアプローチは、ヘルパー列を使用することです。ヘルパー列の各セルに、その行の色の名前(赤、オレンジ、黄色、緑など)を入力するだけです。次に、その列でフィルタリングして、複数の色を表示できます。フィルタリングされた結果で。

データテーブルが長すぎると、これらすべての色を入力すると単調になり、エラーが発生しやすくなります。必要に応じて、特定のセルの色を返すだけの2つの非常に短いユーザー定義関数を作成できます。このUDFは、テキスト自体の色を返します:

Function FColor(cell)

FColor = cell.Font.ColorIndex End Function

以下は、セル自体の内部の色を返すバリエーションです。

Function IColor(cell)

IColor = cell.Interior.ColorIndex End Function

ヘルパー列に、目的のUDFに依存する式を入力します。

たとえば、列Aの内部の色でフィルタリングする場合は、行1のヘルパー列にこの数式を入力します。

=IColor(A1)

これで、セルに色番号が含まれるはずです。このセルを必要なだけコピーしてから、この列の内容でフィルタリングします。フィルタリングされたデータに表示する複数の数値を選択できるため、結果には事実上複数の色が表示されます。

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(13611)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice365のExcelに適用されます。