[{"data":1,"prerenderedAt":165},["ShallowReactive",2],{"topic:conditional-formatting":3},[4,13,19,24,29,35,40,45,51,56,62,68,74,80,86,92,97,102,107,112,117,123,128,133,138,143,148,153,159],{"path":5,"title":6,"description":7,"type":8,"topics":9,"kind":12},"\u002Fadvanced-data-transformation-and-cleaning\u002Fapplying-conditional-formatting-with-openpyxl","Applying Conditional Formatting With openpyxl","Add Excel conditional formatting from Python with openpyxl: CellIsRule, ColorScaleRule, and FormulaRule, plus the 3.1 API quirks that trip people up.","guide",[10,11],"conditional-formatting","openpyxl",null,{"path":14,"title":15,"description":16,"type":17,"topics":18,"kind":12},"\u002Fadvanced-data-transformation-and-cleaning\u002Fapplying-conditional-formatting-with-openpyxl\u002Fadd-data-bars-and-colour-scales-with-openpyxl","Add Data Bars and Colour Scales with openpyxl","In-cell visuals that survive edits: DataBarRule and ColorScaleRule, percentile versus fixed endpoints, negative values, icon sets, and how to pick between a bar, a scale and a plain threshold.","how-to",[10,11],{"path":20,"title":21,"description":22,"type":17,"topics":23,"kind":12},"\u002Fadvanced-data-transformation-and-cleaning\u002Fapplying-conditional-formatting-with-openpyxl\u002Fadd-icon-sets-with-openpyxl","Add Icon Sets to Excel Cells with openpyxl","Add traffic lights, arrows, flags and rating icons to an Excel report with openpyxl's IconSetRule — choose the icon set, set thresholds as numbers, percents, percentiles or cells the reader can edit, control inclusive boundaries, show icons alone, and drive status icons from a calculated column.",[10,11],{"path":25,"title":26,"description":27,"type":17,"topics":28,"kind":12},"\u002Fadvanced-data-transformation-and-cleaning\u002Fapplying-conditional-formatting-with-openpyxl\u002Fapply-a-colour-scale-per-row-or-per-column-with-openpyxl","Apply a Colour Scale per Row or per Column with openpyxl","Colour scales compare every cell in their range with every other cell, so one big product drowns out all the small ones. Apply a separate colour scale to each row or each column with openpyxl so every item is coloured against its own range, choose between min-max and percentile scaling, keep the number of rules manageable, and check the rendered result.",[10,11],{"path":30,"title":31,"description":32,"type":17,"topics":33,"kind":12},"\u002Fadvanced-data-transformation-and-cleaning\u002Fapplying-conditional-formatting-with-openpyxl\u002Fapply-conditional-formatting-to-an-excel-table-that-grows","Apply Conditional Formatting to an Excel Table That Grows","Keep highlighting working when a report table gets new rows every week: why conditional formatting ranges do not follow rows appended by Python, re-pointing every rule at the resized table with openpyxl, generous ranges as a simpler alternative and their cost, why structured references are not allowed in rule formulas, and a check that every rule covers every data row after an append.",[10,34],"tables-and-filters",{"path":36,"title":37,"description":38,"type":17,"topics":39,"kind":12},"\u002Fadvanced-data-transformation-and-cleaning\u002Fapplying-conditional-formatting-with-openpyxl\u002Fcontrol-conditional-formatting-rule-order-and-stop-if-true","Control Conditional Formatting Rule Order and Stop If True","When several conditional-formatting rules match the same cell, their priority decides what the reader sees — and Excel and LibreOffice resolve overlaps differently. See how openpyxl numbers rules, set priority explicitly, use stopIfTrue so the first matching rule wins everywhere, design self-contained rules, and check the order in a saved file and a rendered page.",[10,11],{"path":41,"title":42,"description":43,"type":17,"topics":44,"kind":12},"\u002Fadvanced-data-transformation-and-cleaning\u002Fapplying-conditional-formatting-with-openpyxl\u002Fhighlight-an-entire-row-based-on-a-cell-value-with-openpyxl","Highlight an Entire Row Based on a Cell Value with openpyxl","Colour a whole row when its Status is Overdue or its amount crosses a limit, using a formula-based conditional format with the right mix of absolute and relative references — so the colour follows the data after edits and sorts.",[10,11],{"path":46,"title":47,"description":48,"type":17,"topics":49,"kind":12},"\u002Fadvanced-data-transformation-and-cleaning\u002Fapplying-conditional-formatting-with-openpyxl\u002Fhighlight-blank-cells-with-openpyxl","Highlight Blank Cells in Excel with openpyxl","Make missing values impossible to overlook: highlight empty required fields, whole rows with a gap, or blanks only inside the data. See why ISBLANK misses cells that look empty, how LEN(TRIM()) catches spaces and formulas returning \"\", and how to stop the rule from colouring every empty row below the table.",[10,50,11],"missing-data",{"path":52,"title":53,"description":54,"type":17,"topics":55,"kind":12},"\u002Fadvanced-data-transformation-and-cleaning\u002Fapplying-conditional-formatting-with-openpyxl\u002Fhighlight-cells-above-a-threshold-with-openpyxl","Highlight Cells Above a Threshold with openpyxl","Draw the eye to the numbers that matter — CellIsRule for fixed thresholds, FormulaRule for a threshold that lives in a cell, whole-row highlighting, and rule priority.",[10,11],{"path":57,"title":58,"description":59,"type":17,"topics":60,"kind":12},"\u002Fadvanced-data-transformation-and-cleaning\u002Fapplying-conditional-formatting-with-openpyxl\u002Fhighlight-cells-containing-text-with-openpyxl","Highlight Cells Containing Specific Text with openpyxl","Colour every status that mentions \"late\", every reference that begins with INV, or every note containing any word from a list. Write containsText, beginsWith and formula rules with openpyxl, choose between case-insensitive SEARCH and case-sensitive FIND, match whole words so \"late\" does not match \"calculate\", and drive the keyword from a cell.",[10,11,61],"data-validation",{"path":63,"title":64,"description":65,"type":17,"topics":66,"kind":12},"\u002Fadvanced-data-transformation-and-cleaning\u002Fapplying-conditional-formatting-with-openpyxl\u002Fhighlight-cells-with-formula-errors-using-conditional-formatting","Highlight Cells with Formula Errors Using Conditional Formatting","Make #DIV\u002F0!, #N\u002FA, #VALUE! and #REF! results stand out in a generated workbook with openpyxl conditional formatting: a rule that colours any error, a separate softer rule for expected #N\u002FA lookups, a whole-row highlight driven by an error in one column, and a Python check that lists every error cell after recalculation so problems are found before the report is sent.",[10,67],"excel-formulas",{"path":69,"title":70,"description":71,"type":17,"topics":72,"kind":12},"\u002Fadvanced-data-transformation-and-cleaning\u002Fapplying-conditional-formatting-with-openpyxl\u002Fhighlight-differences-between-two-columns-with-openpyxl","Highlight Differences Between Two Columns with openpyxl","Mark every row where system A and system B disagree, or where this month's value differs from last month's sheet. Write the comparison as a conditional format with openpyxl, and decide deliberately how case, blanks versus zero, trailing spaces and rounding differences should count.",[10,73,11],"joins-and-lookups",{"path":75,"title":76,"description":77,"type":17,"topics":78,"kind":12},"\u002Fadvanced-data-transformation-and-cleaning\u002Fapplying-conditional-formatting-with-openpyxl\u002Fhighlight-duplicate-values-in-excel-with-openpyxl","Highlight Duplicate Values in Excel with openpyxl","Flag repeated values in a worksheet: the built-in duplicateValues rule, formula rules for duplicates across columns, whole-row highlighting, and a pandas alternative.",[10,79,11],"data-cleaning",{"path":81,"title":82,"description":83,"type":17,"topics":84,"kind":12},"\u002Fadvanced-data-transformation-and-cleaning\u002Fapplying-conditional-formatting-with-openpyxl\u002Fhighlight-overdue-dates-with-openpyxl","Highlight Overdue Dates in Excel with openpyxl","Mark overdue and due-soon rows in an Excel tracker with conditional formatting that uses TODAY(), so the colours stay correct every day the file is opened — ignore blank and completed rows, order rules with stopIfTrue, add a days-overdue column and avoid the text-date trap.",[10,85,11],"dates-and-times",{"path":87,"title":88,"description":89,"type":17,"topics":90,"kind":12},"\u002Fadvanced-data-transformation-and-cleaning\u002Fapplying-conditional-formatting-with-openpyxl\u002Fhighlight-top-and-bottom-values-with-openpyxl","Highlight Top and Bottom Values in Excel with openpyxl","Mark the top three sales, the bottom 10%, everything above average, or the best rep in each region with conditional formatting written from Python. Covers the top10 and aboveAverage rules, how ties behave, highlighting whole rows, top-N per group with COUNTIFS, and checking the result without Excel.",[10,11,91],"report-layouts",{"path":93,"title":94,"description":95,"type":17,"topics":96,"kind":12},"\u002Fadvanced-data-transformation-and-cleaning\u002Fapplying-conditional-formatting-with-openpyxl\u002Fhighlight-values-outside-a-tolerance-of-target-with-openpyxl","Highlight Values Outside a Tolerance of Target with openpyxl","Colour each actual figure by how far it is from its own target — green within tolerance, amber close to the limit, red outside it — with openpyxl conditional formatting: percentage and absolute tolerances, a tolerance setting readers can change, per-row tolerances, targets of zero, and a recalculated check that the rules flag exactly the rows pandas expects.",[10,11],{"path":98,"title":99,"description":100,"type":17,"topics":101,"kind":12},"\u002Fadvanced-data-transformation-and-cleaning\u002Fapplying-conditional-formatting-with-openpyxl\u002Fhighlight-weekends-and-holidays-in-a-date-column","Highlight Weekends and Holidays in a Date Column","Shade weekend and public-holiday rows in an Excel log or timeline with openpyxl conditional formatting: WEEKDAY-based rules for Saturdays and Sundays, a holiday list generated with the holidays package on its own sheet, rule order so holidays win, the same rules across a date header row for planners, and a recalculated check of which dates each rule catches.",[10,85],{"path":103,"title":104,"description":105,"type":17,"topics":106,"kind":12},"\u002Fadvanced-data-transformation-and-cleaning\u002Fapplying-conditional-formatting-with-openpyxl\u002Flist-and-remove-conditional-formatting-with-openpyxl","List and Remove Conditional Formatting with openpyxl","See every conditional formatting rule in a workbook — range, type, priority, formula and fill — as a table, then remove rules by range, by type or all at once, collapse duplicates that pile up when scripts rerun, and renumber priorities, all with openpyxl.",[10,11],{"path":108,"title":109,"description":110,"type":17,"topics":111,"kind":12},"\u002Fadvanced-data-transformation-and-cleaning\u002Fapplying-conditional-formatting-with-openpyxl\u002Fopenpyxl-apply-conditional-formatting-to-range","Apply Conditional Formatting to a Range in openpyxl","Attach a conditional formatting rule to a cell range in openpyxl with conditional_formatting.add(), covering range syntax, CellIsRule, and the FormulaRule fallback.",[10,11],{"path":113,"title":114,"description":115,"type":17,"topics":116,"kind":12},"\u002Fadvanced-data-transformation-and-cleaning\u002Fapplying-conditional-formatting-with-openpyxl\u002Fuse-conditional-formatting-rules-that-reference-another-sheet","Use Conditional Formatting Rules That Reference Another Sheet","Highlight cells based on lists and settings kept on other sheets with openpyxl: flag orders from customers on a blocked list with COUNTIF across sheets, colour values above a threshold stored on a Settings sheet, use defined names so rules read clearly and work in older Excel versions, anchor references correctly, and verify the rule logic by recalculating a helper formula.",[10,11],{"path":118,"title":119,"description":120,"type":17,"topics":121,"kind":12},"\u002Fadvanced-data-transformation-and-cleaning\u002Fcreating-pivot-tables-from-excel-data\u002Fturn-a-pivot-table-into-a-heatmap-in-excel","Turn a Pivot Table into a Heatmap in Excel","Make a pandas pivot readable at a glance by colouring it in Excel: a sequential colour scale for volumes, a diverging scale centred on zero for changes, totals left out of the scale, a separate scale per row when rows differ in size, numbers hidden for a pure heatmap, and the same rules in openpyxl and xlsxwriter.",[122,10],"pivots-and-summaries",{"path":124,"title":125,"description":126,"type":17,"topics":127,"kind":12},"\u002Fadvanced-data-transformation-and-cleaning\u002Fhandling-missing-data-in-excel-reports\u002Fvisualise-missing-data-patterns-in-an-excel-file","Visualise Missing Data Patterns in an Excel File","See where and why data is missing, not just how much: a missingness map sheet that shades every blank cell, the most common combinations of missing columns, missing rates by month and by source, columns that tend to go missing together, and a one-sheet Excel report built with pandas and openpyxl that shows a data owner where to look.",[50,10],{"path":129,"title":130,"description":131,"type":17,"topics":132,"kind":12},"\u002Fadvanced-data-transformation-and-cleaning\u002Fvalidating-excel-data-with-python\u002Fhighlight-invalid-cells-in-excel-with-python","Highlight Invalid Cells in Excel with Python","Mark the exact cells that failed validation with openpyxl — a red fill, a comment explaining the rule, a legend and an issues sheet — so a submitter can fix the file in minutes.",[61,10,11],{"path":134,"title":135,"description":136,"type":17,"topics":137,"kind":12},"\u002Fautomating-reporting-workflows\u002Fbuilding-finance-and-operations-reports\u002Fbuild-a-customer-credit-limit-report","Build a Customer Credit Limit Report","Check every customer's exposure against their credit limit with pandas: add open invoices to orders accepted but not yet invoiced, measure utilisation of the limit, combine it with how overdue the account is, decide which accounts to put on hold, which to review and which to leave alone, show what headroom remains for new orders, and write a colour-coded Excel report for the credit team.",[91,10],{"path":139,"title":140,"description":141,"type":17,"topics":142,"kind":12},"\u002Fautomating-reporting-workflows\u002Fbuilding-finance-and-operations-reports\u002Fbuild-a-monthly-kpi-scorecard-with-targets","Build a Monthly KPI Scorecard with Targets","Build a one-page monthly KPI scorecard in Excel with pandas and XlsxWriter: KPI definitions with targets, direction and tolerance kept as data, red-amber-green status that knows when lower is better, variance against target and last month, year-to-date figures that sum or average correctly, six-month sparklines, and a status check that matches the colours.",[91,10],{"path":144,"title":145,"description":146,"type":17,"topics":147,"kind":12},"\u002Fautomating-reporting-workflows\u002Fbuilding-finance-and-operations-reports\u002Fbuild-a-supplier-scorecard","Build a Supplier Scorecard","Score suppliers on delivery, quality and price from purchase order, receipt and inspection data with pandas: on-time and in-full delivery against the promised date, defect rates from goods inspection, price variance against the agreed price, a weighted overall score with clear thresholds, the trend against last quarter, and a colour-coded scorecard in Excel.",[91,10],{"path":149,"title":150,"description":151,"type":17,"topics":152,"kind":12},"\u002Fautomating-reporting-workflows\u002Fbuilding-finance-and-operations-reports\u002Fbuild-a-training-compliance-matrix","Build a Training Compliance Matrix","Build the people-by-course matrix that shows who is trained, who is due and who is out of date: work out which courses each person needs from their role, find their latest completion of each, apply each course's validity period to get an expiry date, classify every cell as valid, expiring, expired, missing or not required, and write a colour-coded Excel matrix with compliance by department and an action list.",[91,10],{"path":154,"title":155,"description":156,"type":17,"topics":157,"kind":12},"\u002Fformatting-and-charting-excel-reports-with-python\u002Fbuilding-excel-reports-with-xlsxwriter\u002Fapply-conditional-formatting-with-xlsxwriter","Apply Conditional Formatting with xlsxwriter","Write rules Excel re-evaluates: cell and text criteria, colour scales and data bars, a formula rule that highlights whole rows, and the absolute-reference trap that makes a row rule follow the wrong column.",[10,158],"xlsxwriter",{"path":160,"title":161,"description":162,"type":17,"topics":163,"kind":12},"\u002Fformatting-and-charting-excel-reports-with-python\u002Fstyling-excel-cells-with-openpyxl\u002Fadd-alternating-row-colors-with-openpyxl","Add Alternating Row Colors with openpyxl","Band the rows of an Excel report so long lists are easy to follow — with static fills, a MOD(ROW()) conditional format that survives sorting, a SUBTOTAL-based rule that keeps alternating when rows are filtered, table stripes, and banding by group instead of by row.",[164,10,11],"cell-styling",1790972052271]