قالببندی شرطی به شما امکان میدهد سلولها را طوری قالببندی کنید که ظاهر آنها به صورت پویا با توجه به مقداری که دارند یا با توجه به مقادیر موجود در سلولهای دیگر تغییر کند. کاربردهای زیادی برای قالببندی شرطی وجود دارد، از جمله این کاربردها:
- سلولهایی را که از یک آستانه مشخص بالاتر هستند، هایلایت کنید (برای مثال، استفاده از متن پررنگ برای همه تراکنشهای بالای ۲۰۰۰ دلار).
- سلولها را طوری قالببندی کنید که رنگ آنها با مقدارشان تغییر کند (برای مثال، با افزایش مبلغ بالای ۲۰۰۰ دلار، پسزمینه قرمز پررنگتری اعمال شود).
- قالببندی پویای سلولها بر اساس محتوای سایر سلولها (برای مثال، هایلایت کردن آدرس املاکی که فیلد «زمان فروش» آنها > 90 روز است).
شما حتی میتوانید سلولها را بر اساس مقدار خودشان و سلولهای دیگر قالببندی کنید. برای مثال، میتوانید طیفی از سلولها را بر اساس مقدارشان در مقایسه با مقدار میانه آن طیف قالببندی کنید:

شکل ۱. قالببندی برای برجسته کردن مقادیر بالاتر یا پایینتر از میانگین سنی.
در این مثال، سلولهای هر ردیف بر اساس مقایسه مقدار ستون age آنها با مقدار میانه همه سنین، قالببندی میشوند. ردیفهایی که سن آنها بالاتر از میانه است، متن قرمز و ردیفهایی که زیر میانه هستند، پسزمینه قرمز دارند. دو ردیف دارای مقداری برای age هستند که با میانه سن (۴۸) مطابقت دارد و این سلولها هیچ قالببندی خاصی دریافت نمیکنند. (برای کد منبعی که این قالببندی شرطی را ایجاد میکند، به مثال زیر مراجعه کنید.)
قوانین قالببندی شرطی
قالببندی شرطی با استفاده از قوانین قالببندی بیان میشود. هر صفحهگسترده فهرستی از این قوانین را ذخیره میکند و آنها را به همان ترتیبی که در لیست ظاهر میشوند، اعمال میکند. API گوگل شیت به شما امکان میدهد این قوانین قالببندی را اضافه، بهروزرسانی و حذف کنید.
هر قانون، محدوده هدف، نوع قانون، شرایط اجرای قانون و هرگونه قالببندی مورد نظر برای اعمال را مشخص میکند.
محدوده هدف - این میتواند یک سلول واحد، مجموعهای از سلولها یا چندین محدوده باشد.
نوع قانون - دو دسته قانون وجود دارد:
- قوانین بولی فقط در صورت برآورده شدن معیارهای خاص، قالب را اعمال میکنند.
- قوانین گرادیان، رنگ پسزمینه یک سلول را بر اساس مقدار آن سلول محاسبه میکنند.
شرایطی که ارزیابی میشوند و قالبهایی که میتوانید اعمال کنید، برای هر یک از این انواع قوانین متفاوت است، همانطور که در بخشهای بعدی به تفصیل توضیح داده شده است.
قوانین بولی
یک BooleanRule بر اساس یک BooleanCondition که به صورت true یا false ارزیابی میشود، تعریف میکند که آیا یک قالب خاص اعمال شود یا خیر. یک قانون Boolean به شکل زیر است:
{
"condition": {
object(BooleanCondition)
},
"format": {
object(CellFormat)
},
}
این شرط میتواند از ConditionType داخلی استفاده کند، یا میتواند از یک فرمول سفارشی برای ارزیابیهای پیچیدهتر استفاده کند.
انواع داخلی به شما امکان میدهند قالببندی را بر اساس آستانههای عددی، مقایسه متن یا اینکه آیا یک سلول پر شده است یا خیر، اعمال کنید. برای مثال، NUMBER_GREATER به این معنی است که مقدار سلول باید بزرگتر از مقدار شرط باشد. قوانین همیشه در برابر سلول هدف ارزیابی میشوند.
فرمول سفارشی یک نوع شرط خاص است که به شما امکان میدهد قالببندی را طبق یک عبارت دلخواه اعمال کنید، که همچنین امکان ارزیابی هر سلولی، نه فقط سلول هدف، را فراهم میکند. فرمول شرط باید به true ارزیابی شود.
برای تعریف قالببندی اعمال شده توسط یک قانون بولی، از زیرمجموعهای از نوع CellFormat برای تعریف موارد زیر استفاده میکنید:
- اینکه متن داخل سلول پررنگ، ایتالیک یا خط خورده باشد.
- رنگ متن در سلول.
- رنگ پسزمینه سلول.
قوانین گرادیان
یک GradientRule طیفی از رنگها را تعریف میکند که با طیفی از مقادیر مطابقت دارند. یک قانون گرادیان به شکل زیر است:
{
"minpoint": {
object(InterpolationPoint)
},
"midpoint": {
object(InterpolationPoint)
},
"maxpoint": {
object(InterpolationPoint)
},
}
هر InterpolationPoint یک رنگ و مقدار متناظر با آن را تعریف میکند. مجموعهای از سه نقطه، یک گرادیان رنگ را تعریف میکند.
مدیریت قوانین قالببندی شرطی
برای ایجاد، تغییر یا حذف قوانین قالببندی شرطی، از متد spreadsheets.batchUpdate با نوع درخواست مناسب استفاده کنید:
با استفاده از
AddConditionalFormatRuleRequest، قوانین را در فهرست داده شده اضافه کنید.با استفاده از
UpdateConditionalFormatRuleRequestقوانین موجود در لیست را در اندیس داده شده جایگزین یا مرتب کنید.با استفاده از
DeleteConditionalFormatRuleRequest، قوانین را از لیست در اندیس داده شده حذف کنید.
مثال
مثال زیر نحوه ایجاد قالببندی شرطی نشان داده شده در تصویر بالای این صفحه را نشان میدهد. برای مثالهای بیشتر، به صفحه نمونههای قالببندی شرطی مراجعه کنید.