Use a formatação condicional do Excel com base na exibição da célula, não no conteúdo da fórmula da célula

Use a formatação condicional do Excel com base na exibição da célula, não no conteúdo da fórmula da célula

Na minha planilha do Excel, tenho uma célula contendo a seguinte fórmula:

=IF(COUNT(Y11:AA11)>0,SUM(Y11:AA11),#N/A)

com o objetivo de um gráfico posteriormente usar a exibição da célula em um gráfico (excluindo a exibição de quaisquer valores 0), o que acontece.

O problema que tenho é que há muitos #N/Avalores de exibição que parecem confusos, então quero usar a formatação condicional para fazer com que os casos em que #N/Aé exibido tenham texto em branco. Até agora, todas as tentativas fazem com que todos os valores tenham texto branco, independentemente de o valor de exibição ser #N/Aou um número. Alguém conhece uma maneira de fazer isso?

Coisas que tentei:

  • Usando formatação condicional com condição de fórmula =ISERROR($X$4:$X$37)aplicada ao intervalo $X$4:$X$37. (Todas as células do intervalo são formatadas para usar texto branco; números válidos e valores de erro.)

  • Usando formatação condicional com condição de fórmula de =ISNA($X$4:$X$37) (mesmo resultado).

  • Usando formatação condicional com afetação apenas para duplicatas (exibindo o número ainda afetado)

  • Alterando a fórmula nas células ( X4:X37) para =IF(COUNT(Y11:AA11)>0,SUM(Y11:AA11),"#N/A")e formatando condicionalmente esse texto. (O valor zero agora é exibido no gráfico, pois "#N/A"é texto e #N/Anão era.)

Aqui está uma imagem do que eu tentei:
Gerenciador de regras de formatação condicional

Responder1

  • Selecione os dados que deseja formatar
  • vá para casa - formatação condicional - nova regra
  • selecione "usar uma fórmula para determinar quais células formatar"
  • insira a fórmula:
    =ISERROR(A2)
    (substitua A2pelo endereço da célula ativa)
  • selecione o formato que você precisa (no exemplo abaixo usei o destaque amarelo para deixar minha resposta clara)

insira a descrição da imagem aqui

Responder2

O problema são as referências absolutas na sua ISNA()função.

ISNA()éAPENASretornando o resultado para a primeira célula do intervalo usado. Portanto, se ele ativar o CF-ing, ele o fará para todas as células às quais a regra é aplicada, porque não importa a célula aplicada, ela nunca procurará nada além da primeira célula nesse intervalo absoluto.

ISNA()nunca examinará as outras células do intervalo, mesmo que você as deixe como referências relativas.

MASfunciona se você pelo menos deixar a referência da linha ser relativa. Isso ocorre porque o intervalo examinado ISNA()continua mudando, de modo que a primeira célula é a célula que você realmente deseja observar. Isso acontece em cada nova linha, portanto, embora pareça igual, você está na verdade alterando a primeira célula do intervalo, sem ver isso acontecer de forma visível, e assim ISNA()está olhando para uma nova primeira célula a cada vez.

Se você fizer a alteração e observar a regra CF com o destaque da célula em linhas diferentes a cada vez, verá a regra mostrada alterando esse intervalo.

(Você está usando a falha da função em funcionar como se poderia pensar que seria para realmente ser o operador realizador que atinge seu objetivo. É como querer que uma pilha de lixo seja removida, convencer as pessoas de que as coisas na pilha são valiosas, desviar o olhar enquanto eles roubam alguns e, eventualmente, não tem mais lixo nisso. Você está usando o fracasso para alcançar um objetivo que vale a pena.)

informação relacionada