کریس می داند که چگونه اطلاعات یک کاربرگ را بر اساس رنگ فیلتر کند. ابزارهای فیلترینگ به او این امکان را می دهند که رنگ متن یا پس زمینه را که می خواهد نمایش دهد، انتخاب کند. کریس به این فکر می کند که آیا راهی برای فیلتر کردن وجود دارد که چندین رنگ نمایش داده شوند. اگر او بر اساس محتویات سلول فیلتر می کند، می تواند به راحتی چندین مورد منطبق را برای نمایش انتخاب کند، اما نمی تواند بفهمد که چگونه این کار را برای رنگ ها انجام دهد.
دو راه برای این کار وجود دارد. رویکرد اول به هیچ وجه به فیلتر کردن متکی نیست. در عوض، داده های خود را بر اساس رنگ مرتب کنید. اگر دو (یا بیشتر) پاس مرتب سازی انجام دهید، باید بتوانید رنگ های مورد نظر را در کنار یکدیگر دریافت کنید. سپس، ردیفهای باقیمانده (یکی که از رنگهایی استفاده میکند که نمیخواهید ببینید) را انتخاب کنید و آن ردیفها را پنهان کنید.
باز هم، این فقط یک راه حل است، و می تواند برای لیست های نسبتاً کوتاهی از داده ها خوب کار کند. روش دوم استفاده از ستون کمکی است. تنها کاری که باید انجام دهید این است که در هر سلول از ستون کمکی، نام رنگ آن ردیف را وارد کنید - یعنی قرمز، نارنجی، زرد، سبز و غیره. سپس میتوانید بر اساس آن ستون فیلتر کنید و در نتیجه چندین رنگ را نمایش دهید. در نتایج فیلتر شده شما
اگر جدول دادههای شما خیلی طولانی است، تایپ همه آن رنگها ممکن است یکنواخت و مستعد خطا باشد. در صورت تمایل می توانید دو تابع بسیار کوتاه تعریف شده توسط کاربر ایجاد کنید که به سادگی رنگ یک سلول خاص را برمی گرداند. این UDF رنگ خود متن را برمی گرداند:
Function FColor(cell)
FColor = cell.Font.ColorIndex
End Function
زیر یک تغییر است که رنگ داخلی خود سلول را برمی گرداند:
Function IColor(cell)
IColor = cell.Interior.ColorIndex
End Function
در ستون کمکی خود، فرمولی را وارد کنید که بر UDF مورد نظر تکیه دارد. به عنوان مثال، اگر می خواهید بر اساس رنگ داخلی در ستون A فیلتر کنید، این فرمول را در ستون کمکی ردیف 1 وارد کنید:
=IColor(A1)
اکنون سلول باید شامل شماره رنگ باشد. این سلول را تا جایی که لازم است کپی کنید و سپس با محتوای این ستون فیلتر کنید. از آنجایی که میتوانید چندین مقدار عددی را انتخاب کنید تا در دادههای فیلتر شدهتان ظاهر شوند، عملاً در نتایج چندین رنگ خواهید داشت.