Formato condicional baseado em um número específico dentro de uma fórmula

0

Espero que alguém possa me ajudar com uma fórmula de formato condicional que indique qual número está na fórmula. Como um exemplo simples, tenho duas fórmulas diferentes abaixo:

= 1 + 10 e = 3 + 10

Eu gostaria de uma fórmula de formato condicional que tornaria a célula uma cor específica (eu sei como fazer a parte de formatação) com base em se a fórmula contiver = 1 (preenchimento verde) ou = 3 (preenchimento laranja). Eu percebo que talvez precise criar duas regras de formatação condicional separadas, mas não consigo descobrir a fórmula para me dar os resultados que estou procurando. Qualquer conselho seria muito apreciado:)

Obrigado,

Dan

    
por Dan 15.11.2016 / 00:04

1 resposta

1

Aqui está um guia rápido para o que eu acho que você quer.

Etapa 1 - A função ausente
Primeiro, precisamos verificar uma célula para a fórmula e não o valor.
Para versões mais recentes do Excel, há a função FORMULATEXT() que faz exatamente isso. No entanto, para nós usando versões mais antigas do Excel, não há nenhuma função.
A primeira coisa a fazer é criar a função.

Function FT(mycell As Range)
FT = mycell.Formula
End Function

Isso nos dá a mesma função que FORMULATEXT() , mas usando FT()

Como adicionar uma macro ou função?
Bem, você precisa ir para a janela do VBA. Você pode fazer isso usando o botão de macro na guia Exibir ou o botão do Visual Basic na guia do desenvolvedor.
Outra opção é clicar com o botão direito na planilha e pressionar visualizar código .

Emseguida,vocêadicionaummóduloclicandocomobotãodireitonacaixaquecontémasplanilhas.

Eentãovocêsótemquecolarafunçãonomódulo:

Etapa2-Aformataçãocondicional
Umavezquetemosafunção,issonãoémaistãodifícil.Demasiadolookupumastringparcial,parapodermosretornar=3de=3+10,podemosusarafunçãoSEARCH()emparelhadacomaISNUMBER()pararetornarumVERDADEIRO/FALSO.Exatamenteoqueprecisamosparanossaformatação.
=ISNUMBER(SEARCH("=3",A1)) Só funcionaria se o valor real da célula contivesse "=3" , mas contivesse apenas 13
Portanto, agora usamos a nova função para verificar a fórmula:

=ISNUMBER(SEARCH("=3",FT(A1)))           

por 15.11.2016 / 01:30