Excel 2013 - coloque “N / A” em todas as células em uma linha com base na entrada em uma célula

0

Eu criei um banco de dados do Excel. Em uma determinada coluna, só posso inserir Sim / Não. O que eu quero que aconteça é se eu colocar "Não", todas as células depois daquela célula para aquela linha mostrarão N / A. No entanto, se a resposta for Sim, eu quero que essas células aceitem aceitar a entrada.

Dado que isso tem que ser verdade para toda a tabela e para cada nova linha adicionada e que existe a possibilidade de eu voltar e mudar minha resposta para "Não", não posso confiar em uma fórmula. Como posso ter certeza de que os valores das células se ajustam dependendo se a célula importante contém um Sim ou Não?

Exemplo:

Cols    A     B     C      D     E
Row1   Yes   12    Some   1     3
Row2   No    N/A   N/A    N/A   N/A

Nota: Caso isso possa afetar qualquer coisa, as colunas D e E têm validação de dados e só podem aceitar respostas de uma lista predefinida. Eu incluí "N / A" nesta lista apenas no caso.

    
por Deciduous 09.08.2017 / 07:39

2 respostas

0

Você pode escrever um procedimento de evento no VBA (do tipo Worksheet_SelectionChange), verificar se a coluna A da sua tabela é a área de destino e preencher condicionalmente as células com o texto 'N / A'. Mas isso descartaria todos os valores inseridos anteriormente.

Como alternativa fácil, sugiro usar formatos condicionais. A condição é

=(TOLOWER($A4)<>"yes")

para células na linha 4, e o formato se True seria uma cor de texto e uma cor de padrão idênticas. Desta forma, todo o conteúdo está oculto, enquanto os valores não são tocados. Afinal, isso é para orientar uma pessoa na entrada de dados, visualmente.

    
por 09.08.2017 / 10:30
0

Para adicionar à sua pergunta de formatação condicional: seu intervalo pode ser uma equação, em vez de um intervalo fixo. Isso tornará a função OFFSET particularmente útil, pois você pode fazer com que a formatação condicional seja expandida automaticamente para incluir sua seleção. Por exemplo:

=Offset(A1,0,0,CountA(A1:A1000),1)

Será expandido automaticamente para incluir tudo na coluna A, até a linha 1000. Se você quiser expandir horizontalmente

=Offset(A1,0,0,1,CountA(A1:DZ1))

Etc.

Isso será interrompido se você tiver quebras de coluna no meio. Não tenho certeza de como ele lida bem com células mescladas (Ainda não testei) Para problemas como esse, tente algo assim: (Exemplo dado com 5 linhas em branco para motivos de espaçamento)

=Offset(A1,0,0,CountA(A1:A1000)+5,1)

Etc. Espero que isso ajude com o seu problema "mas eu preciso continuar expandindo".

    
por 12.08.2017 / 00:34