Formula para formatacao condicional

Anônima
2018-01-02T18:30:17+00:00

Bom dia.

Tenho uma planilha como mostrado na figura abaixo, onde tenho uma area de impressao pre-definida, e na coluna  L uma lista de nomes.

O que e pretendido, e mudar a cor da lista da coluna L, caso esse nome esteja dentro da area de impresso. Na figura, tem os nomes Joao1 e Mario1 dentro da area de impressao, portanto na lista da coluna L, os nomes Joao1 e Mario1  deveria mudar de cor para cinza,por exemplo.

Teria uma formula que retorne True para que possa colocar na formatacao condicional?

Em VBA tem o metodo Find que varre um intervalo, mas nao gostaria de usar funcao para isso. Na formula tem o Match que so procura num intervalo de coluna ou vetor. Para forcar a usar o Match para varias colunas, teria que usar varias fomulas de Iferro junto com Match e fica dificil delimitar pela area de impressao. Nao teria uma formula ou conjunto de formulas que pesquisa um determinado intervalo?

Desde ja agradeco qualquer retorno.

Tadao

Microsoft 365 e Office | Excel | Para uso doméstico | Windows

Pergunta bloqueada. Essa pergunta foi migrada da Comunidade de Suporte da Microsoft. É possível votar se é útil, mas não é possível adicionar comentários ou respostas ou seguir a pergunta.

0 comentários Sem comentários
Resposta aceita pelo autor da pergunta
Anônima
2018-01-02T23:16:47+00:00

Boa noite,

Tente a formatação condicional abaixo.

Fórmula:

=SOMARPRODUTO(--(Area_de_impressao=$L2))

Markmzz

Esta resposta foi útil?

2 pessoas acharam esta resposta útil.
0 comentários Sem comentários
Resposta aceita pelo autor da pergunta
Anônima
2018-01-04T08:54:41+00:00

Ola Markmzz, obrigado mais uma vez.

Estou retornando a sua mensagem que recebi no email mas nao apareceu na postagem.

1-Qto a "SomarProduto(1*)($L$2:$L$4=B2)) não está correto" foi um lapso da minha parte, desculpe....

2-Pelo que entendi, entao:

A=A--->True...mas numericamente e =0

2=2--->True....mas numericamente e =1        assim esta correto?

3- Quanto a minha interpretacao do -- esta correto?...se esta e de praxe escrever -- no lugar de 1*  ?

4- Se nao for abusivo da minha parte.... daria para **** breve explicacao do (...) tambem?

Tadao

Bom dia Tadao,

Vamos lá:

  1. Ok, sem problema.
  2. Veja os exemplos abaixo

A=A ---> TRUE  já   1*(A=A) ou --(A=A)  --->  1

2=2 ---> TRUE  já    1*(2=2) ou --(2=2) --->  1

  1. Sim. Já com relação ao "é de praxe", vai depender do autor da fórmula. Temos diversas variações: --, 1*, +0 e etc.
  2. Já os (...) são os testes que você coloca na função SOMARPRODUTOde forma genérica. Por exemplo:

=SOMARPRODUTO(-(...);-(...))

pode ser equivalente  a algo assim

=SOMARPRODUTO(-($L$2:$L$4=B2);-($M$2:$M$4=C2))

Markmzz

Esta resposta foi útil?

1 pessoa achou esta resposta útil.
0 comentários Sem comentários
Resposta aceita pelo autor da pergunta
Anônima
2018-01-03T16:22:02+00:00

Obrigado pelas explicacoes bastante didaticas.

Pelo que entendi o operador menos "-" equivale a escrever menos um vezes "(-1)*", e se escrever "--" equivaleria a escrever (-1)*(-1) que e igual a +1 ou 1?, entao em vez de escrever SOMARPRODUTO(--(($L2$:$L$4=B2)) Posso escrever tambem como SomarProduto(1*)($L$2:$L$4=B2))?, desculpe, me corrija se estou errado. Nao sou da area de TI mas na area de TI e praxe escrever desse jeito?

4)SOMARPRODUTO($L$2:$L$4=B2) =0

Como explicado acima seria

Teste001=Teste001--->True=1

Teste006=Teste001--->Fase=0

Teste007=Teste001--->false=0

                                     Soma=1   ???? a soma nao seria 1?

No final nas observacoes, qual o significado do (...)?

Tadao

 Vamos lá:

1) SomarProduto(1*)($L$2:$L$4=B2)) não está correto

O correto seria: SomarProduto(1*($L$2:$L$4=B2))

2) SOMARPRODUTO($L$2:$L$4=B2) =0

O resultado é realmente zero (0), pois você não multiplicou os valores lógicos por 1 para transformá-los em numéricos (0's e 1's). Lembre do detalhe da função SomarProduto a seguir:

SOMARPRODUTO trata as entradas da matriz não numéricas como se fossem zeros

Ou seja, trata valores lógicos como zero.

A fórmula correta seria:

SOMARPRODUTO(1*($L$2:$L$4=B2))

que teria como resultado final 1.

Markmzz

Esta resposta foi útil?

1 pessoa achou esta resposta útil.
0 comentários Sem comentários
Resposta aceita pelo autor da pergunta
Anônima
2018-01-03T13:24:12+00:00

Tadao,

Infelizmente, eu desconheço uma maneira de obrigar o Excel a não converter em endereço um nome utilizado na caixa Aplica-se a da Formatação Condicional.

Com  relação ao "--", a função SOMARPRODUTO trata como zeros os valores lógicos (trecho da Ajuda da respectiva função: "SOMARPRODUTO trata as entradas da matriz não numéricas como se fossem zeros"). Para resolver essa restrição basta converter os valores lógicos em valores numéricos. Vejas os detalhes abaixo:

  1. Vamos utilizar como base o intervalo L2:L4 e a célula B2 da planilha.
  2. Ao multiplicar um, valor lógico no Excel por 1 temos:

1*VERDADEIRO -> 1 e 1*FALSO -> 0

  1. O -- é o mesmo que (-1)*(-1)*  que é o mesmo que +1*
  2. SOMARPRODUTO($L$2:$L$4=B2) é o mesmo que

SOMARPRODUTO({"Teste001";"Teste006";"Teste007"}="Teste001") que é o mesmo que

SOMARPRODUTO({VERDADEIRO;FALSO;FALSO})

e que finalmente tem como resultado 0

  1. Já SOMARPRODUTO(--($L2$:$L$4=B2)) é o mesmo que

SOMARPRODUTO(--({"Teste001";"Teste006";"Teste007"}="Teste001")) que é o mesmo que

SOMARPRODUTO(--({VERDADEIRO;FALSO;FALSO})) que é o mesmo que

SOMARPRODUTO({1;0;0})

e que finalmente tem como resultado 1

Observação: Existem também outras variações. Veja alguns exemplos abaixo:

=SOMARPRODUTO(-(...);-(...)) com número par de argumentos

=SOMARPRODUTO((...)+0;(...)+0;(...)+0)

=SOMARPRODUTO((...)*(...)*(...))

Markmzz

Esta resposta foi útil?

1 pessoa achou esta resposta útil.
0 comentários Sem comentários

5 respostas adicionais

Classificar por: Mais útil
  1. Anônima
    2018-01-04T18:39:33+00:00

    Obrigado Markmzz pela explicacao bastante Didatica.

    Tadao

    Boa tarde Tadao,

    Inicialmente, obrigado pelas suas palavras generosas. E tentar resolver os problemas dos usuários da comunidade é o nosso principal objetivo.

    E uma dica. Na minha opinião, a melhor forma de melhorar os conhecimentos sobre o Excel é:

    1. Navegar na ajuda do próprio Excel. Lá tem muito informação valiosa e muito pouco aproveitada pelos usuários.
    2. Estudar os tópicos em comunidades e fóruns sobre o Excel. Como a comunidade da Microsoft e o site do fórum MrExcel.

    Markmzz

    Esta resposta foi útil?

    1 pessoa achou esta resposta útil.
    0 comentários Sem comentários