Por que não consigo aninhar SUBSTITUTE em uma instrução IF?

1

Não consigo descobrir o que há de errado com essa fórmula:

=IF((SUBSTITUTE(ADDRESS(1,COLUMN(),4),"1",3)<Sheet2!$B$6))

o (SUBSTITUTE(ADDRESS(1,COLUMN(),4),"1",3) essencialmente retorna o valor da letra da coluna atual, por exemplo 'B'. O 3 no final retorna o número da linha. Então, completamente B3.

Esta é uma data que é um tipo de data abreviada. Em seguida, é comparado a outra data, que também é um tipo de data abreviada.

Esta fórmula não funciona. Ao alterar a fórmula para:

=IF((SUBSTITUTE(ADDRESS(1,COLUMN(),4),"1",3)<Sheet2!$B$6),true,false)

retorna falso independentemente de a condição if ser satisfeita ou não.

Qualquer ajuda seria muito apreciada.

    
por Sean 04.12.2015 / 16:40

2 respostas

1

Você precisa de um " indireto ". Você está comparando um endereço de string com um valor de célula.

Quando você avalia a fórmula, basicamente obtém isso -

Qualavaliadolhedáisso-

If(string<value,true,false)

Vocêpoderiatentarumaindireta-

=IF((INDIRECT(SUBSTITUTE(ADDRESS(1,COLUMN(),4),"1",3))<Sheet2!$B$6),1)

Ele irá comparar o valor na célula com a outra célula -

    
por 04.12.2015 / 17:02
0

Sem ver qual o texto que você está usando para Substitute , tente um destes:

=IF((SUBSTITUTE(ADDRESS(1,COLUMN(),4),"1","3")<Sheet2!$B$6),true,false)

=IF((SUBSTITUTE(ADDRESS(1,COLUMN(),4),1,3)<Sheet2!$B$6),true,false)

Isso pode estar lhe dando uma impressão desagradável, porque você está procurando por uma string e substituindo por um número. Se não, você pode postar o texto que está usando para substituir?

    
por 04.12.2015 / 16:59