Existe uma maneira de vincular uma questão de estilo "Escolha de uma lista" em um formulário a uma lista de dados (por exemplo, em uma planilha)?
Isso significaria que, à medida que novas opções fossem adicionadas à lista na planilha (ou onde quer que fosse possível hospedar a lista), elas apareceriam automaticamente como uma opção para selecionar no formulário no futuro.
No meu caso, isso significaria que os respondentes que preenchessem o formulário poderiam selecionar quais voluntários estavam presentes naquela sessão de voluntariado específica da lista abrangente de voluntários (em vez de digitar cada nome individualmente), mas, como os voluntários se juntam esporadicamente, seria extremamente útil se fosse possível adicioná-las automaticamente às opções da lista, em vez de adicionar uma nova opção manualmente a cada vez.
Não tenho idéia se isso é possível, mas eu realmente apreciaria se alguém pudesse sugerir uma maneira de fazê-lo.
Respostas:
A resposta de Tom Horwood funciona muito bem, mas somente após a correção de um erro importante em seu código. Todas as referências a
LIST_DATA
elementos devem ser feitas usando o índicej
(nãoi
). Eu não tenho karma suficiente para comentar no post de Tom, então aqui está o monty:Abaixo está o código corrigido. Também mudei o nome dos
LIST_DATA
elementos para que eles sejam um pouco mais descritivos. Também mostra como Tom havia pensado no futuro (parabéns!) E forneceu a facilidade de atualizar mais de um elemento do formulário com o conteúdo de mais de uma lista de planilhas.Para resumir como fazer isso funcionar (para aqueles que, como eu, estão usando o Google Apps Script pela primeira vez). Mencionei nomes de planilhas e nomes de campos de formulário no snippet de código acima para, com sorte, torná-lo mais compreensível:
Na planilha associada ao seu formulário:
TaskCategories
). Coloque sua lista de itens na primeira coluna dessa planilha. Exclua todas as colunas e linhas extras dessa planilha (isso pode ou não ser necessário - não foi testado)FORMID
precisará ser alterado para o ID do seu formulário. O ID é o código longo (entre barras) na barra de URL do seu navegador para o formulário desejado.LIST_DATA
variável precisará ser modificada para se adequar ao seu formulário e às suas necessidades. Você notará que cada item emLIST_DATA
é uma tupla deformFieldTitle
eworksheetName
. O primeiro é o nome do campo do formulário (que deve ser do tipo "escolha da lista") - no editor de formulário é chamadoQuestion Title
. O último é o nome da planilha criada anteriormente que contém a lista de itens com os quais você deseja preencher o campo. Adicione quantas dessas tuplas você precisar à lista.Se você retornar à planilha, verá um novo item de menu intitulado
List Updater
. Ele possui um itemUpdate Lists
que você precisa executar sempre que alterar qualquer planilha da (s) sua (s) lista (s) - ele atualizará o formulário de acordo.Observo também, para benefício dos leitores, que o FormRanger não funciona com as novas planilhas do Google. Os desenvolvedores do FormRanger dizem isso em seu site. Talvez / espero que isso mude no futuro, mas, no momento desta publicação, o código acima funciona para mim e eu o estou usando em um formulário implantado para um cliente.
fonte
Você pode fazer isso com um formulário normal e um script, usando Form.getItems (), encontre o item em loop e, em seguida, Item.asListItem (). SetChoices (...)
Aqui está um código de exemplo, que eu usei nesta planilha e formulário de exemplo
fonte
Existe um complemento do Google Forms chamado Form Values, que oferece pelo menos uma maneira semi-automática: sempre que você altera suas respostas na planilha, é necessário preencher novamente manualmente as opções na sua resposta, mas pelo menos é bastante simples de fazer. .
fonte
Você não pode fazer isso com os Formulários regulares do Google.
No entanto, você pode criar sua própria GUI usando o Google Apps Script , e especificamente o UIService . Esteja ciente, no entanto, de que você precisará recriar toda a GUI - você não pode usar partes do formulário existente.
Como alternativa, você pode usar o GUI Builder . É um editor WYSIWYG para GUIs de scripts do Google Apps.
Qualquer que seja a sua escolha, você deve estar preparado para fazer alguma programação para alcançar o que deseja.
fonte
Existe um script para isso, chamado FormRanger: https://docs.google.com/document/d/1YvgrxeZJNb2CBpSra1j59Mh1bVpk4vBQYLOoyVjby7A/edit?hl=pt_BR&forcehl=1
fonte
Existe uma maneira de automatizar a atualização da lista definindo um Disparador [ 1 ] [ 2 ] para
Update Lists
.O caminho é Editor de scripts -> Recursos -> Gatilhos do projeto atual
Então
add a new trigger
,. Para os exemplos fornecidos, você pode configurarupdatesList
para executarfrom spreadsheet
eOn form submission
. Dessa forma, a funçãoonOpen
não será necessária.fonte
Sim, isso pode ser feito, passei boa parte do dia encontrando a resposta e desenvolvendo-a para meus propósitos, mas pode ser feito.
Minha necessidade era ter um formulário de inscrição voluntário para as pessoas marcarem várias caixas de uma lista de áreas que gostariam de oferecer. Portanto, uma pergunta com várias caixas, o problema é que a planilha do Google resultante apenas listou tudo o que foi verificado em uma célula. Havia 21 opções de voluntariado, de modo que claramente não seria um formato útil para essa informação. Eu queria fazer o que eu entendi que você queria dizer, queria ter uma coluna com cada uma das 21 opções em uma coluna própria. Em seguida, ao lado do carimbo de data e hora (formulário gerado), nome, email e telefone, existem 21 colunas com "yes" ou deixadas em branco. O cabeçalho da coluna é cada opção que eles poderiam escolher. Alguns podem se perguntar por que não apenas ter 21 perguntas com "sim" ou "não".
Primeira observação: quando alguém preenche um formulário do Google, a planilha resultante insere uma linha em vez de adicionar os dados à próxima linha vazia. Isso significa que todas as fórmulas que estavam na linha foram desanimadas e os novos dados da fórmula não têm fórmula nos próximos dois para trabalhar com os dados de entrada. Para ir além disso, adicionei uma planilha à planilha (pasta de trabalho). Utilizei a entrada de brettathds em http://productforums.google.com/forum/#!topic/docs/dlW6U6cHuKw . Portanto, inseri a seguinte fórmula na célula A1 desta 2ª folha: = ARRAYFORMULA (Folha1! A1: A). Fiz semelhante para cada coluna através da coluna E. A coluna E tem a pergunta com as 21 caixas de seleção.
Ainda na segunda folha, a Linha 1 das Colunas AF tinha cabeçalhos idênticos ao texto em cada opção da caixa de seleção da lista de verificação das áreas que eles estão dispostos a oferecer. Em seguida, a coluna Z foi a próxima e a última pergunta no formulário, era uma pergunta de texto curto, intitulada "Comentários adicionais". Para essa coluna, usei o = ARRAYFORMULA (Sheet1! F1: F). Fiz isso como uma pergunta separada, em vez de utilizar a opção "other" no final das perguntas da caixa de seleção, pois parecia não haver uma boa maneira de extrair isso. dados na planilha.
Agora, à parte que responde como você obtém as informações da célula na coluna E (que pode ter até 21 itens listados) para separar as colunas com "yes" ou apenas em branco. A fórmula em F2 na segunda planilha é = iferror (if (search (F $ 1, $ E2)> 0, "Yes",)) Essa fórmula está procurando verificar se o texto exato no cabeçalho da coluna (F1) é encontrado no E2, se for, retorna "Sim"; caso contrário, deixa em branco.
Essa fórmula referenciada em F2 é gravada (utilizando "$", por meio da tecla F4), para que F2 possa ser copiado / colado em cada célula da linha 2 da GY (o Google Spreadsheet não suporta a cópia de fórmulas por arrastar / copiar, como você pode no Excel, mas isso pode ser feito selecionando F2, CTRL + C, depois selecione G2: Y2 e CTRL + V). Utilizando a mesma cópia de metodologia, colei F2: Y2 em F3: Y100.
Em seguida, escondi a coluna E na segunda folha para que a planilha resultante fosse mais compacta (evitando todo o envolvimento das respostas longas).
Agora estou pronto para receber 99 voluntários através do formulário rápido e fácil que eles preencherem. A utilização das opções de filtro na parte superior das colunas também ajudou a ver quem estava disponível para quais áreas.
Uma frustração final que eu não resolvi. Concluí alguns formulários falsos para testar minhas fórmulas e design e, em seguida, excluí essas linhas da planilha vinculada. Também tive algumas pessoas que preencheram formulários duplicados e também excluí as linhas deles. Digno de nota nos fóruns de produtos, não sou o único frustrado ao saber que, de alguma forma, o Google ainda tem os dados de teste / falsos / duplicados conectados ao "Resumo de respostas" (encontrado na guia "Formulário" da planilha). Portanto, o resumo das respostas é inútil quanto à precisão se houver linhas excluídas para remover dados de formulários de teste / falsos / duplicados.
Mas está realizado e estou salvando essas anotações para a próxima vez que precisar de algo semelhante, estou confiante de que isso poderia ser feito facilmente em menos de 30 minutos na próxima vez.
Espero que isso ajude, deixe-me saber se tiver alguma dúvida.
fonte