É possível no Formulários Google atribuir um valor único a cada linha que ele insere na planilha e no carimbo de data e hora?
google-sheets
google-forms
Toby Allen
fonte
fonte
Respostas:
Você pode fazer isso adicionando um gatilho de script.
Suponha que seu formulário atual tenha duas colunas
Timestamp
e a resposta para uma pergunta. Portanto, atualmente você tem as colunas A e B preenchidas com dados. Vamos supor que você deseja que a coluna C tenha o número de incremento automático.Você precisa primeiro ir para
Tools
>Script Editor
Na janela Editor de scripts, insira o seguinte script:
Salve o script e vá para o
Triggers
menu e selecioneCurrent script's triggers
Preencha as listas suspensas da seguinte maneira:
Clique
Save
Em seguida, salve e feche a janela Script do aplicativo do Google.
Agora, quando seu formulário for enviado, ele preencherá o número da linha na coluna C, juntamente com os dados enviados por meio do formulário.
Para alterar a coluna na qual o número da linha é salvo, é necessário alterar esta linha do script:
sheet.getRange(row,3).setValue(row);
e altere o valor 3 para o número do índice da coluna correspondente.
fonte
Além da excelente resposta de Barry, se você deseja remover linhas e ainda manter um ID exclusivo, pode ter uma célula estática que mantém uma contagem. Você pode usar esse número e incrementá-lo em cada nova entrada na tabela.
Portanto, a modificação seria manter um número em algum lugar da planilha ('M1' no código abaixo) e modificar o código para ficar assim:
Mais uma vez, altere a segunda última linha para alterar onde seu ID é colocado.
fonte
Com base nas duas respostas anteriores (de Barry e Danny):
Supondo que a coluna ID seja a coluna A. Escolha uma célula "Next ID" e defina-a com a seguinte fórmula (assumindo que esteja em "P1"):
Crie um script usando o editor de scripts no menu "Ferramentas" e cole o seguinte:
Adicione um gatilho de script usando o menu "Triggers" no editor de script:
fonte
Além das respostas acima - Esta solução não requer uma célula de planilha extra.
Você pode usar os manipuladores de eventos embutidos para enviar o formulário para obter um ID exclusivo. Como a planilha é apenas o destino do formulário, a exclusão de uma linha não exclui a resposta. Com aquilo em mente...
EDIT: removeu a necessidade de identificação e lidou com problemas de formatação de data.
fonte
getUniqueID
função pode ser bastante simplificada, basta retornar o tamanho das respostas até a data (é o que a lógica dessa função descrita acima está fazendo de uma maneira bastante complicada). Basicamente, uma única linha na função:return getConnectedForm().getResponses().length;
Isso é um derivado das outras respostas, mas pode ser útil para usuários futuros.
A principal diferença é que ele atualizará a coluna 1 na linha ativa quando essa linha for editada, mas apenas se ainda não houver um valor especificado.
Você deve definir o gatilho conforme mencionado em outras respostas na edição.
fonte
Para "É possível no Formulário do Google atribuir um valor único a cada linha que ele insere na planilha e no carimbo de data e hora?" embora também permita a exclusão de uma linha na folha de respostas do formulário antes da adição de uma resposta adicional sem duplicar valores, isso deve funcionar:
fonte