Adicione uma função à fórmula existente

1

Gostaria de poder alterar minhas fórmulas já existentes e adicionar novas funções em massa. Por exemplo, escrevi originalmente um cálculo

=Sheet1!D38-Sheet1!E38

e gostaria de adicionar um =IFERROR , por isso parece:

=IFERROR(Sheet1!D38-Sheet1!E38, 0%)

, que é relativamente fácil de fazer manualmente quando você tem um ou dois deles, mas eu tenho um documento inteiro com fórmulas para ser alterado.

Existe uma maneira fácil de adicionar uma nova função às fórmulas existentes sem passar por todas elas uma a uma?

O exemplo apresentado é aleatório; Eu posso ter que fazer isso com fórmulas mais longas e complexas, como =COUNTIFS

A correção rápida que tentei antes consistia em:

  1. Encontre e substitua todo o = no início da fórmula por # - isso converteria a fórmula em texto sem formatação
  2. Copie e cole a segunda parte da nova fórmula, a que seria enviada no final, em cada célula. Nesse caso, seria , 0%)
  3. Substitua o # por =IFERROR( para ter a fórmula de volta, com as informações adicionais que eu queria

Mas esta não é uma maneira muito eficiente de fazer isso.

    
por Irantzu 29.06.2016 / 12:16

4 respostas

1

Você pode substituir em 2 etapas, sem edição manual:
1- pesquisar e substituir = por =IFERROR(
(isso produzirá muitos erros)
2- pesquise e substitua a extremidade da linha por ,0%)
Digite os 2 pressionamentos de tecla a seguir para o final da linha:
Control-M
Controle-J

Note que você não verá nenhum caractere na entrada, mas funcionará.

    
por 29.06.2016 / 12:33
0

Eu geralmente uso add-in regex para manipular texto com mais flexibilidade do que a pesquisa / substituição .

Ele fornece funções localizar / substituir e também planilhas com expressões regulares.

No seu exemplo, você precisa

  • procure por: =(.*)
  • substitua por: =iferror($1,0%)

Observe que esse suplemento não tem a funcionalidade de substituir apenas na seleção, portanto, é necessário ter o cuidado de escrever uma expressão visual específica suficiente.

    
por 29.06.2016 / 12:26
0

Digamos que temos um grupo de células que podemos editar em massa:



Selecionamosascélulaseexecutamosessamacrocurta:

SubFixFormula()''hi-lightthecellsyouwishtoprocess'DimrAsRange,rngFAsRange,sAsStringSetrngF=Selection.Cells.SpecialCells(xlCellTypeFormulas)ForEachrInrngFs="(" & Mid(r.Formula, 2) & ")"
        r.Formula = "=IFERROR(" & s & ","""")"
    Next r
End Sub

e todas as fórmulas serão convertidas de:

=A1/B1

para:

=IFERROR((A1/B1),"")
    
por 29.06.2016 / 12:47
0

Uma solução temporária para demonstrar uma possível correção; veja a imagem. Mas estipulações no meu comentário .

Fórmula de copiar / colar, clique e segure o método.

    
por 29.06.2016 / 15:18