awk HTML Conditional Formating

I am receiving the below output in text format. The output is converted to HTML table using the code mentioned below

output in text

LogDate  DayOfWeek/Hours     _0_     _1_     _2_     _3_     _4_     _5_     _6_     _7_     _8_     _9_    _10_    _11_    _12_    _13_    _14_    _15_    _16_    _17_    _18_    _19_    _20_    _21_    _22_    _23_
18/05/21  Mon                85.6    51.7    28.2    33.6    28.2    30.8    24.5    20.2    53.3    96.9    80.9    92.0    44.7    84.7    57.7    65.7    23.0    31.1    20.5    17.7    20.1    14.7    46.6    67.1

Task to be achieved
I would like to highlight only these value in yellow, red or green based on condition (75 to 100 red) (40 to 74 yellow) and (0 to 39 green). I am not able to achieve the same

85.6    51.7    28.2    33.6    28.2    30.8    24.5    20.2    53.3    96.9    80.9    92.0    44.7    84.7    57.7    65.7    23.0    31.1    20.5    17.7    20.1    14.7    46.6    67.1

Can someone please help me?

Here is the code am using

awk '
        BEGIN {
                print "From: "
                print "To:"
                print "MIME-Version: 1.0"
                print "Content-Type: text/html"
                print "Subject: CPU Utilization Report"
                print "<html><body></br></br>The report provides overall Percentage Of CPU utilization Hour wise on Production system.</br></br></br>"
                print "<table border=1 cellspacing=1 cellpadding=1>"
        }
         

!/^#/ && !/^S/ {
                print "<tr>"

                for ( i = 1; i <= NF; i++ )
                {
                                             
                        
                        if ($i <=75 && $i <=100 )
                                   print "<td> <b><FONT COLOR=RED FACE="verdana"SIZE=9 ></b>"  $i  "</td>"


                        else

                        if ($i <=40 && $i <=74 )

                                   print "<td> <b><FONT COLOR=Yellow FACE="verdana"SIZE=9 ></b>"  $i  "</td>"

                        else
                                   print "<td> <FONT COLOR=GREEN  FACE="verdana"SIZE=9 >" $i "</td>"


                }
                print "</tr>"
        }
        END {
                print "</table></body></html>"
        }

'  /Reports/output/Output.txt | /usr/sbin/sendmail -t

On first sight, and without digging deeper, shouldn't the conditions be $i >=75 and $i >=40 ? Be aware that there's an undiscriminated gap: e.g. 74.5 won't satisfy any condition and thus might print in green.

Digging just slightly deeper, note that assuming that values in your fields range from 0 through 100, the first if statement test:

 if ($i <=75 && $i <=100 )

will be satisfied only by values less than or equal to 75 (which does not seem to meet your conditions for displaying values in red. If I guessed correctly at the output you're getting, you might want to try replacing:

                        if ($i <=75 && $i <=100 )
                                   print "<td> <b><FONT COLOR=RED FACE="verdana"SIZE=9 ></b>"  $i  "</td>"


                        else

                        if ($i <=40 && $i <=74 )

                                   print "<td> <b><FONT COLOR=Yellow FACE="verdana"SIZE=9 ></b>"  $i  "</td>"

                        else
                                   print "<td> <FONT COLOR=GREEN  FACE="verdana"SIZE=9 >" $i "</td>"

with:

                        if (($i + 0) >= 75)
                                   print "<td> <b><FONT COLOR=RED FACE="verdana"SIZE=9 ></b>"  $i  "</td>"
                        else if (($i + 0) >= 40)
                                   print "<td> <b><FONT COLOR=Yellow FACE="verdana"SIZE=9 ></b>"  $i  "</td>"
                        else
                                   print "<td> <FONT COLOR=GREEN  FACE="verdana"SIZE=9 >" $i "</td>"

Thank you Don

The code provided is working properly and am getting the desired output.

Also thanks for explain my code if loop mistake.