Pergunta

Excel normalmente trata fórmulas formatação condicional como se fossem fórmulas de matriz, exceto quando carregá-los a partir de um arquivo de planilha 2002/2003 XML Excel.

Este é apenas um problema com o formato de planilha XML Excel 2002/2003 ... o formato nativo Excel funciona bem, assim como o formato mais recente do Excel 2007 XML (xlsx).

Depois de carregar a planilha, é possível fazê-lo funcionar corretamente, selecionando o intervalo formatado, indo para a caixa de diálogo Formatação condicional, e clicando em OK - mas isso só corrige o problema para a sessão

.

Caso de teste:

Digite o seguinte em uma nova planilha:

  A B C
1 N N N
2 x x x
3 x x x

Criar esta fórmula formato condicional em células A1: C1 (a sua escolha de cores bonitas para o formato):

=(SUM(($A1:$C1="N")*($A$2:$C$2=A$3))>0)

Trata-se de uma fórmula de matriz que activa para A1, B1 e C1, sempre que qualquer deles tem um "N" e a célula da linha 2 a seguir a "N" é igual à célula na linha 3 da coluna corrente.

(Esta foi simplificada de uma planilha de negócios do mundo real. Desculpe pela complexidade do caso de teste, eu estou tentando encontrar um caso de teste mais fácil apresentar aqui.)

E funciona ... você pode alterar o N do ou dos x do em qualquer maneira que você quer e as obras de formatação muito bem.

Salvar isso como uma planilha XML. Feche o Excel, e re-abrir o arquivo. A formatação é agora quebrado. Agora, você só pode ativar a formatação condicional, se A1 é um "N" e A2 é o mesmo que A3, B3 ou C3. Os valores de B1, B2, C1, e C2 não têm efeito sobre a formatação.

Agora, selecione A1: C1 e olhar para a fórmula de formatação condicional. Exatamente o mesmo que antes. OK atingido. começa a formatação condicional trabalhar novamente, e vai trabalhar durante toda a sessão o arquivo é aberto.

Soluções alternativas consideradas:

  1. Fornecendo o arquivo no formato nativo (BIFF) Excel. Não é uma opção, essas planilhas são gerados em tempo real por um servidor web e esta é apenas uma das dezenas de tipos de pastas de trabalho gerados dinamicamente pelo nosso sistema.

  2. Desde que o arquivo no formato XML nativo Excel 2007 (xlsx). Não é uma opção, base usuário atual não tiver o Office 2007 ou o plug-in compatibilidade.

  3. pedindo aos usuários para selecionar o intervalo, digite o diálogo Formatação condicional, e bater ok. Não é uma opção neste caso, os usuários sofisticados.

  4. Perguntar aos usuários abrir a planilha XML, salvar como XLS nativo, fechar e re-abrir o arquivo XLS. Isto não funciona! restos Formatação quebrados no formato XLS nativo se ele foi carregado quebrado de um arquivo XML. Se (3) acima é executada antes de salvar, o arquivo XLS irá funcionar corretamente.

acabei reescrevendo a formatação condicional para não usar fórmulas de matriz. Então eu acho que isso é "respondeu" em algum grau, mas ainda é uma situação irregular, se obscuro, bug no Excel 2002/2003 de manipulação de arquivos XML.

Foi útil?

Solução

Eu tentei recriar o problema que você descreve. Aqui está o que eu encontrei.

  • poderia consistentemente recriar a problema usando o Excel 2003 no Windows XP ao salvar como XML planilha.

  • Pode não reproduzir o problema usando o Excel 2003 no Windows XP quando salvar como um xls padrão planilha.

  • Pode não reproduzir o problema usando o Excel 2007 no Windows Vista ao salvar o arquivo no nativa xlsx formato.

  • Pode não reproduzir o problema usando o Excel 2007 no Windows Vista ao salvar o arquivo no Excel 97-2003 XLS.

    (Nota:. Todas as instâncias do Excel e Windows são atuais com todas as atualizações do Windows )

I também adicionada uma fórmula de formatação condicional simples para cada teste. Em todos os casos, funcionou como esperado após salvar o arquivo, fechar o Excel e reabrir o arquivo.

Portanto, a resposta parece ser a de usar o formato de arquivo padrão do Excel 2003 ao salvar o arquivo.

BTW, esta é uma fórmula de formatação muito estranho. É difícil imaginar como você iria utilizá-lo. Deve ser um caso de negócio muito específico e incomum. Eu também tenho a sensação de que algo está faltando em seu post. (Eu não estou te acusando de ser desonesto - apenas querendo saber se você pode ter encurtado a fórmula para facilitar a leitura.) Se este não é o exata fórmula que você está usando, por favor editar o seu post original com a completa fórmula e eu vou ser feliz em voltar a esta questão.

Outras dicas

Você pode encontrar alguns vídeos tutoriais de auto estudando o problema de formatação condicional sobre as seguintes páginas: formatação condicional

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top