Alguém tem uma dica especial (preferencialmente não VBA) para informar sistematicamente se uma célula tem um valor codificado ou se é uma fórmula derivada?
Estou lidando com alguns dados que contêm subtotais confusos e tentando descobrir se consigo separar as linhas brutas.
microsoft-excel
YGA
fonte
fonte
Respostas:
Use formatação condicional. Escolha a opção "Use uma fórmula para determinar quais células formatar" e digite "= NÃO (Cellhasformula)". Isso formatará qualquer coisa codificada.
fonte
Selecione as células em questão, pressione Ctrl+ Ge selecione
Special
para obter a seguinte caixa de diálogo:Em seguida, especifique o tipo de célula que você deseja e clique
OK
e apenas esses tipos de células permanecerão selecionados.fonte
No Excel 2013, você pode:
Aqui a documentação completa
fonte
ou para mostrar apenas as fórmulas:
fonte
Dois outros métodos são
fonte
Eu sei que você disse que não é VBA preferido, mas se você acabar sem outras soluções, o objeto Range terá uma propriedade HasFormula.
Retorna: True se todas as células no intervalo contiverem fórmulas; False se nenhuma das células no intervalo contiver uma fórmula; null caso contrário.
Fonte: http://msdn.microsoft.com/en-us/library/bb208626%28v=office.12%29.aspx
fonte
Se você deseja armazenar o arquivo do Excel em um formato de pasta de trabalho livre de macro, evite o VBA e as macros (por exemplo, as abordagens XL4 / XLM sugeridas em outras respostas). Nesta resposta, assumi um arquivo do Excel sem macro.
Se você usa o MS-Excel 2013, pode usar:
Se você usa versões mais antigas do MS-Excel (por exemplo, 2010, 2007), não há função verdadeira para determinar se uma célula contém uma fórmula. No entanto, você pode aproximar usando:
A função acima retorna:
fonte
Passado a data original, mas se for útil a alguém, consegui contornar isso selecionando o intervalo de células e, em seguida, usando Substituir (Ctrl + H), definindo-o como 'Look in' "Formulas" e substituindo um igual
=
com um apóstrofo-igual'=
Isso trouxe todas as fórmulas, mas obviamente também converteria coisas como se $ C $ 1 contido
=if($A1=$B1,"Match","Different")
em'=if($A1'=$B1,"Match","Different")
Observe o
A1'=B1
meio da fórmula que pode ser problemático, mas ainda significa que você pode ver as fórmulas, embora de forma não pragmática. Poderia usar a função SUBSTITUTE para alterá-la novamente, para que $ D $ 1 contenha=SUBSTITUTE(C1,"'=","=")
, basta copiar para o Bloco de Notas e colar novamente em $ E $ 1A outra maneira seria 'mostrar fórmulas', mas isso mostraria fórmulas para cada célula, não apenas para um intervalo selecionado.
fonte
fonte