MS Excel: Adicione o conteúdo da coluna A à célula B, se a coluna B estiver vazia

2

como posso adicionar o conteúdo da célula A à célula B, se a célula B estiver vazia no MS Excel 2010?

Minha situação em detalhes:

  • Coluna A (coluna com alguns valores vazios e alguns não vazios): AD
  • Coluna B (sem valores vazios aqui): I

Agora eu preciso do Excel para preencher a coluna AD com os valores da coluna I, se um valor na coluna AD estiver faltando. Caso contrário, o valor original da coluna AD deve permanecer.

Nota: Todas as colunas contêm dados de texto (sem números, moeda, etc.)

Minha abordagem:

= SE ((AD3)=""; I3; AD3)

Mas isso não funciona como esperado: ele apenas gera um erro de referência circular e preenche a coluna AD3 com "0", apesar de quaisquer outros valores.

Alguém tem uma ideia? Obrigado.

    
por QB new media 24.03.2016 / 06:46

1 resposta

1

Você está recebendo uma referência circular porque a célula contém apenas uma informação. Atualmente, usando a linha 3 como exemplo, o AD3 contém um valor (digamos, "Olá"). Assim que você tentar colocar uma função, o AD3 agora contém a função e o "Hello" desapareceu completamente. Agora ele continuará tentando acessar a função referenciando AD3 infinitamente.

Seria melhor usar uma coluna de ajuda para isso, se quiser usar uma fórmula, caso contrário, será necessário codificá-la. Pessoalmente, eu adicionaria uma nova coluna AE, ocultaria a coluna AD e usaria a fórmula que você usou na AE.

Outras opções são executar uma macro VBA, algo assim:

Sub FillBlanksFromI()
    Dim j
    For j = 1 To FindLastRow("AD")
        If IsEmpty(Range("AD" & j).Value) Then
            Range("AD" & j).Value = Range("I" & j).Value
        End If
    Next j
End Sub

Function FindLastRow(col As String) As Long

    Dim lastRow As Long
    lastRow = ActiveSheet.Range(col & Rows.Count).End(xlUp).Row
    FindLastRow = lastRow

End Function

... que irá preencher todos os campos em branco com o valor de I. Isso NÃO será atualizado automaticamente e só funcionará uma vez.

Como alternativa, você precisa codificar cada função em cada célula para ser o valor ou =I3

    
por 24.03.2016 / 07:38