web-dev-qa-db-ja.com

Googleフォーム入力に一意のIDを割り当てる方法は?

Googleフォーム-Googleフォームを設定しましたが、入力された入力フォームごとに一意のIDを割り当てたいと思います。私の意図は、私が作成した別のGoogleフォームの入力として一意のIDを使用することです。これを使用して、2つの完成したフォームをリンクします。これを行う別の簡単な方法はありますか?

私はプログラマーではありませんが、必要に応じてプログラミングリソースを利用できます。

5

私もこれに頭をぶつけていて、ついに解決策を見つけました。

行ごとに自動的に生成され、次のもので構成される6桁の番号を作成します。

  • 行番号の3桁-一意性を与えます(998を超える応答が予想される場合は、さらに多くを使用できます)。

  • タイムスタンプの3桁が数値に変換されます-これにより、数値を推測できなくなります

次の手順に従ってください。

  1. フォームにリンクされたスプレッドシートに追加の列を作成します。これを「一意のID」と呼びましょう。
  2. 行番号1には、列タイトルが自動的に入力されます。
  3. 行番号2の「一意のID」列の下に、次の数式を追加します。

    =arrayformula( if( len(A2:A), "" & text(row(A2:A) - row(A2) + 2, "000") & RIGHT(VALUE(A2:A), 3), iferror(1/0) ) )

    注:配列数式は列全体に自動的に適用されます。

  4. フォームからすべての結果をクリアした場合でも、その行を削除しないようにしてください
  5. 新しい提出物が入力されると、その「一意のID」が自動的に表示されます

式の説明:

  • 列Aは通常、timestampを保持する必要があります。 timestampが空でない場合、行番号は次のようになります。row(A2:A) - row(A2) + 2
  • textを使用して3桁の数字にトリミングします。
  • 次に、VALUEを使用して数値に変換されたtimestampと連結し、RIGHTを使用して右端の3桁にトリミングします。

出来上がり!一意であり、推測しにくい番号(送信者はタイムスタンプにアクセスできないため)。

もっと自信が欲しいなら、明らかに各パーツにもっと多くの桁を使うことができます。

3
Ying

フォームデータの横にある配列式を使用して、一意のID番号を適用できます。最初の右端の空の列の行1では、次のようなものを使用できます。

=arrayformula(if(row(A1:A)=1,"UNIQUE ID",if(len(A1:A)>0,98+row(A1:A),iferror(1/0))).
3
ZiaUllahZia