Let(c, column(), c>2) doesn't work in conditional formatting.

Copper Contributor

I've recreated a simple example of the issue I am having.

The column formula seems go break my conditional formatting, even though the same formula returns true when placed in a cell.

SAMPLE

Am I missing something? Or is this unexpected behavior?

More Info:

Here is the actual formula I am attempting to use. It returns TRUE and FALSE correctly if I place it in a cell and change the referenced cell manually, but it appears that using the column() within a let() causes the formula to fail when used in a conditional formatting formula.

=LET(c,COLUMN(D8),t,ROUND(OFFSET(D8,0,-c+2),9),j,INDIRECT(ADDRESS(5,IF(ISODD(c),c-1,c))),i,ROUND(IF(j<0.08,j+1,j),9),k,INDIRECT(ADDRESS(5,IF(ISODD(c),c,c+1))),o,ROUND(IF(k<0.09,k+1,k),9),AND(NOT(OR(j="",k="")),t>=i,t<o))

UPDATE:

After testing, I have found that appending the formula in the sample like this:

=IF(1=1,LET(c, COLUMN(D8), c=D8),FALSE)

causes it to work as intended, but doing exactly the same with the actual formula does not resolve the issue.

I think this indicates some coding error. Any solutions or workarounds would be greatly appreciated.

2 Replies

@DevinDevin 

In Excel for the web, conditional formatting formulas are limited to a subset of features and capabilities compared to the desktop version of Excel.

Unfortunately, the formula you provided, as far as I'm aware, isn't compatible with conditional formatting in Excel for the web.

But excel for web is always being equipped with new functions and possibilities, so it is always advisable to keep an eye on the innovations.

Here is a link that you will also find in this forum, where you can find out about all the updates that have been or will be added. Excel Blog

@DevinDevin 
Interesting. As for the wrapping it could be simplified a bit

=IF(1,LET(a, D8=COLUMN(D8), a) )

Not sure why it doesn't work without that.

Main formula

=LET(
    c, COLUMN(D8),
    t, ROUND(OFFSET(D8, 0, -c + 2), 9),
    j, INDIRECT(ADDRESS(5, IF(ISODD(c), c - 1, c))),
    i, ROUND(IF(j < 0.08, j + 1, j), 9),
    k, INDIRECT(ADDRESS(5, IF(ISODD(c), c, c + 1))),
    o, ROUND(IF(k < 0.09, k + 1, k), 9),
    AND(NOT(OR(j = "", k = "")), t >= i, t < o)
)

used in cells always return FALSE. Could you provide sample data where it returns TRUE as well to play with it?