Eu tenho uma tabela com células que possuem funções / fórmulas, como esta:
Preciso de um script que crie uma nova linha, copiando com ela as funções / fórmulas da última linha usada. Acho esse script que cria uma nova linha, mas não copia funções / fórmulas . Como implementar essa tarefa de cópia de formatação no Script do Google Apps sem precisar selecionar e copiar manualmente?
google-sheets
google-apps-script
Aprendiz de Pythonista
fonte
fonte
Respostas:
Use o código abaixo para copiar também as fórmulas como valores normais. Adicione o código selecionando Ferramentas no menu da planilha. Em seguida, selecione o editor de scripts e adicione o código. Certifique-se de pressionar o botão "bug" e autenticar o script.
Código
Observação
Definir o contentOnly para
false
produzirá uma cópia padrão. Se definir comotrue
, irá colar apenas valores. O script de exemplo que você encontrou faz muito mais do que colar valores ...Exemplo
Criei um arquivo de exemplo para você: Adicionar linha com fórmula
fonte
Esse ArrayFormula pode fazer o mesmo sem envolver um script. Digite-o em D4 e ele será transportado automaticamente em qualquer quantidade de células vazias abaixo dele.
Notas: "B4: B" significa procurar todas as células, começando de B4 até o final da coluna.
Enquanto, o ArrayFormula cuida de se copiar para as células abaixo dele. Apenas verifique se as células abaixo dela estão vazias.
fonte
Caso você precise adicionar uma nova linha na parte superior (primeira linha) e copiar a fórmula da primeira linha superior, será necessário copiar as fórmulas usando as funções
getFormulas()
esetFormulas()
. Você pode alterar o valor defirstRow
2 se sua planilha tiver cabeçalhos, por exemplo.fonte
Para resolver esse problema, usei o
setFormula(range)
, por exemplo:Sua fórmula aumentará automaticamente de acordo com o índice de linhas.
Por fim, você pode adicionar um gatilho onUpdate ou onEdit.
fonte
onUpdate
gatilho não existe.