ایجاد سوال
dark_mode
0 دوستدار 0 امتیاز منفی
199 visibility
موضوع: آفیس توسط:

استیو می خواهد یک دستور IF (با استفاده از تابع کاربرگ) بر اساس رنگ یک سلول ایجاد کند. به عنوان مثال، اگر A1 دارای یک پر سبز است، می خواهد کلمه "go" را برگرداند، اگر دارای یک پر قرمز باشد، می خواهد کلمه "stop" را برگرداند، و اگر رنگ دیگری است، کلمه "neher" را برگرداند. . استیو ترجیح می دهد از ماکرو برای این کار استفاده نکند.

متأسفانه، هیچ راهی برای انجام قابل قبول این کار بدون استفاده از ماکروها، به هر شکل، وجود ندارد. نزدیکترین راه حل غیر ماکرو ایجاد نامی است که رنگ ها را تعیین می کند، به این ترتیب:

     =IF(GET.CELL(38,Sheet1!A1)=10,"GO",IF(GET.CELL(38,Sheet1!A1)
     =3,"Stop","Neither"))
  1. سلول A1 را انتخاب کنید.
  2. روی Insert | کلیک کنید نام | تعريف كردن. اکسل کادر محاوره ای Define Name را نمایش می دهد.
  3. از نامی مانند "mycolor" (بدون علامت نقل قول) استفاده کنید.
  4. در کادر Refers To عبارت زیر را به صورت یک خط وارد کنید:
  5. روی OK کلیک کنید.

با این نام تعریف شده، می توانید در هر سلولی، موارد زیر را وارد کنید:

=mycolor

نتیجه این است که متنی را بر اساس رنگ سلولی که این فرمول را در آن قرار می دهید مشاهده خواهید کرد. البته اشکالی که در این روش وجود دارد این است که به شما اجازه نمی دهد به سلول های دیگری به غیر از آن چیزی که فرمول در آن قرار داده شده است مراجعه کنید.

پس راه حل استفاده از یک تابع تعریف شده توسط کاربر است که (طبق تعریف) یک ماکرو است. ماکرو می تواند رنگی را که یک سلول با آن پر شده است بررسی کند و سپس مقداری را برگرداند. به عنوان مثال، مثال زیر یکی از سه کلمه را بر اساس رنگ در یک سلول هدف برمی گرداند:

Function CheckColor1(range)
    If range.Interior.Color = RGB(256, 0, 0) Then
        CheckColor1 = "Stop"
    ElseIf range.Interior.Color = RGB(0, 256, 0) Then
        CheckColor1 = "Go"
    Else
        CheckColor1 = "Neither"
    End If
End Function

این ماکرو مقادیر RGB رنگ‌های یک سلول را ارزیابی می‌کند و یک رشته را بر اساس آن مقادیر برمی‌گرداند. شما می توانید تابع را در یک سلول به این صورت استفاده کنید:

=CheckColor1(B5)

اگر ترجیح می دهید رنگ های شاخص را به جای رنگ های RGB بررسی کنید، تغییرات زیر کار می کند:

Function CheckColor2(range)
    If range.Interior.ColorIndex = 3 Then
        CheckColor2 = "Stop"
    ElseIf range.Interior.ColorIndex = 4 Then
        CheckColor2 = "Go"
    Else
        CheckColor2 = "Neither"
    End If
End Function

چه از رویکرد RGB و چه از رویکرد شاخص رنگ استفاده کنید، باید بررسی کنید که مقادیر استفاده شده در ماکروها، مقادیر واقعی استفاده شده برای رنگ‌های سلول‌های مورد آزمایش را منعکس می‌کنند. به عبارت دیگر، اکسل به شما این امکان را می دهد که از سایه های مختلف سبز و قرمز استفاده کنید، بنابراین باید مطمئن شوید که مقادیر RGB و مقادیر شاخص رنگ استفاده شده در ماکروها با مقادیر استفاده شده توسط سایه های رنگی در سلول های شما مطابقت دارند.

یکی از راه هایی که می توانید این کار را انجام دهید این است که از یک ماکرو بسیار ساده استفاده کنید که کاری جز برگرداندن مقدار شاخص رنگ انجام نمی دهد:

Function GetFillColor(Rng As Range) As Long
    GetFillColor = Rng.Interior.ColorIndex
End Function

اکنون در کاربرگ خود می توانید از موارد زیر استفاده کنید:

=GetFillColor(B5)

نتیجه این است که مقدار شاخص رنگ سلول B5 نمایش داده می شود. با فرض اینکه سلول B5 با استفاده از یکی از رنگ های مورد انتظار شما (قرمز یا سبز) فرمت شده است، می توانید مقدار شاخص را به ماکروهای قبلی وصل کنید تا به نتایج دلخواه برسید. با این حال، می توانید به سادگی از آن مرحله بگذرید و به مقدار بازگشتی توسط GetFillColor برای جمع آوری فرمول IF به این روش تکیه کنید:

=IF(GetFillColor(B5)=4,"Go", IF(GetFillColor(B5)=3,"Stop", "Neither"))

باید به خاطر داشته باشید که این توابع (چه به مقادیر رنگ RGB و چه به مقادیر شاخص رنگ نگاه کنید) قالب بندی صریح یک سلول را بررسی می کند. آنها هیچ گونه قالب بندی ضمنی را در نظر نمی گیرند، مانند قالب بندی مشروط.

برای برخی ایده‌ها، فرمول‌ها و عملکردهای خوب دیگر در مورد کار با رنگ‌ها، به این صفحه در وب‌سایت چیپ پیرسون مراجعه کنید:

http://www.cpearson.com/excel/colors.aspx
اگر خواستی، با این لینک از ما حمایت کن

پاسخ شما

looks_5نام شما برای نمایش - اختیاری
حریم شخصی : آدرس ایمیل شما محفوظ میماند و برای استفاده های تجاری و تبلیغاتی به کار نمی رود
عدد چهار رقمی در تصویر را وارد کنید

برای جلوگیری از این تایید در آینده, لطفا وارد شده یا ثبت نام کنید.
اگر حساب گوگل دارید به راحتی وارید شوید

0 پاسخ وجود دارد

سوالات مشابه

برای دسترسی راحت به مطالب سایت ، اپلیکیشن سایت را نصب کنید
و لطفا بعد از نصب امتیاز دهید. با تشکر از حمایت شما
0 دوستدار 0 امتیاز منفی
0 پاسخ 27 visibility
ارسال شده در 27 تیر 1402 موضوع: آفیس توسط: Admin
0 دوستدار 0 امتیاز منفی
0 پاسخ 62 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 43 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 42 visibility
ارسال شده در 26 تیر 1402 موضوع: آفیس توسط: Admin
0 دوستدار 0 امتیاز منفی
0 پاسخ 29 visibility
ارسال شده در 26 تیر 1402 موضوع: آفیس توسط: Admin

24.3k سوال

9.6k پاسخ

614 دیدگاه

11.2k کاربر

367 نفر آنلاین
0 عضو و 367 مهمان در سایت حاضرند
بازدید امروز: 26557
بازدید دیروز: 25180
بازدید کل: 20363896
...