
Sou um contador com muita experiência em Excel, mas não consigo descobrir uma resposta para essa pergunta (minha própria). Existe uma maneira de aplicar formatação condicional para o exemplo abaixo:
EXEMPLO: Eu tenho uma fórmula que é =soma(B4,C28,A32,B40)---> Existe uma maneira de aplicar regra de formatação condicional nas células B4, C28, A32 e B40 que destaca automaticamente as células que estão sendo usadas em a fórmula?
^ isso ajudaria tremendamente na reconciliação bancária que estou realizando. Em vez de destacar manualmente. Há muitas células nas quais eu teria que fazer isso manualmente. Acredito firmemente em ser o mais automatizado possível para reconciliações (na verdade, a maior parte do meu reconhecimento é simplesmente um modelo de arrastar e soltar que criei que faz com que a maioria dos itens de reconhecimento sejam identificados automaticamente).
NOTA: Atualmente o que estou fazendo é usar =isformula(xxxxx) nas células que preciso emparelhar manualmente. Em seguida, destaque para garantir que tudo seja capturado/nada perdido.
Responder1
O que você descreve parece auditoria de planilha. O Excel possui algumas ferramentas integradas para ajudar com isso.
Você pode usar "Traçar precedentes" na faixa de opções Fórmulas para desenhar linhas nas células das quais a célula atual depende. Use "Remover setas" para remover as setas.
Ou você pode usar a visualização Fórmula clicando em "Mostrar Fórmulas" na faixa Fórmulas (ou usar Ctrl+` - que é o crase à esquerda do número 1 em um teclado dos EUA). Isso exibirá as fórmulas nas células em vez dos resultados e qualquer célula usada na fórmula será destacada.
A formatação condicional não é uma boa abordagem porque você teria que aplicar os formatos condicionais a todas as células da planilha. Isso levaria as coisas a um engarrafamento bastante drástico.
Responder2
Sim, você pode usar FORMULATEXT()
como base para isso:
=IFERROR(FIND(SUBSTITUTE(CELL("ADDRESS",INDIRECT(ADDRESS(ROW(),COLUMN()))),"$",""),FORMULATEXT($C$1)),0)<>0
O texto acima pressupõe que você conhece a célula na qual reside a fórmula que está examinando. Ele usa $C$1 mas é claro que você pode alterá-lo para qualquer célula que desejar.
Você pode criar a regra de formatação condicional ("CF") para qualquer célula únicaMAS faça isso enquanto estiver naquela célula: enquanto essa célula estiver selecionadae copie a célula e cole os formatos em qualquer outra célula que você deseja incluir no CF.
Estou imaginando que você tem a célula com a SUM()
fórmula e está preenchendo as células às quais ela faz referência diretamente. Se você tiver uma lista que está digitando em algum lugar, poderá consultá-la diretamente ao criar sua fórmula CF.
A fórmula usa ADDRESS()
para criar uma referência de célula textual para qualquer célula selecionada e, portanto, para quaisquer células sobre as quais o CF seja eventualmente colocado. Em seguida, ele faz INDIRECT()
disso uma referência de célula "real". Finalmente, ele usa SUBSTITUTE()
para remover os $ (fornece "A1" e não $A$1).
Esse se torna o material a FIND()
ser procurado na SUM()
função à qual você está adicionando células. FORMULATEXT()
é usado para obter o texto dessa fórmula e como "SUM(" e ")" não fazem parte de nenhuma referência de célula aceitável, nada precisa ser feito sobre eles e FIND()
apenas pesquisará entre as células referenciadas entre parênteses. IFERROR
verifica se falhou, fornecendo 0 como resultado, se sim, porque FIND()
não pode produzir um resultado 0. Isso significa que você obtém algum número inteiro positivo ou 0 nesta etapa.
Por último, o CF verifica se é 0 e, se NÃO for 0, destaca a célula como desejar.
Isto faz parte de uma capacidade mais ampla que ninguém parece estar explorando. Posso criar intervalos nomeados aos quais posso anexar ()
e inserir o que quiser entre parênteses, da mesma forma que os argumentos em uma função "real". Alguns que oferecem suporte a intervalos nomeados me fornecem um intervalo nomeado que se parece e funciona como uma função programada no Excel, como SUM()
está, com quaisquer argumentos que eu escolher. Os favoritos aqui para colegas de trabalho incluem ourLOOKUP()
(nome da empresa, não "nosso") pegar argumentos INDEX/MATCH e colocá-los em uma função criada como VLOOKUP()
.
SO UDF's essencialmente, sem conhecer muito o VBA ou se deparar com locais onde o VBA não pode ser usado.
Meio idiota de fazer na primeira vez, e delicado, mas legal.
Mas o que foi dito acima cuidará do seu destaque se você preencher o ()
seu, SUM()
como estou supondo. Não estende a resposta para abordar sua tarefa maior, apenas o destaque que você pergunta.