グーグルフォームを使用し、送信されてきた回答をスプレッドシートで管理しています。
ごくたまにですが、同じ内容を同じ人から送信されてくることがあり、確認すると一度しか送信していないとのことです。
スプレッドシートに送信されてくるタイムスタンプも 2021/02/24 8:10:10 と 2021/02/24 8:10:45 とがあり、間違って同様の内容を送信するには35秒では無理な内容です。
グーグルフォーム→スプレッドシート間で重複してしまった・・・としか思えないのですが、重複しないようにする方法もわからない状態です。
そこで別のタブを作成し、1分以内に送信されてきたもので、ある列の部分が同様の内容だったら重複と判断して表示させるものを作成したいのですが、どのようにすればこういったことが可能かご教授願いたいです。
≪例≫
フォームの回答 タブ
A列 B列 C列
タイムスタンプ 品物 個数
2021/02/24 8:10:10 りんご 3個
2021/02/24 8:10:45 りんご 3個
2021/02/24 8:15:20 スイカ 1個
2021/02/24 8:38:10 りんご 3個
重複 タブ
A列 B列 C列
タイムスタンプ 品物 個数
2021/02/24 8:10:10 りんご 3個
2021/02/24 8:10:45 りんご 3個
→タイムスタンプが1分以内で、B列、C列が同じ場合のみ表示される
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
1. Google ドライブ を開き、[新規][Google スプレッドシート]を選択して「無題のスプレッドシート」を開きます。
2. 質問の以下のデータ内容を再現します。
A列 B列 C列
タイムスタンプ 品物 個数
2021/02/24 8:10:10 りんご 3個
2021/02/24 8:10:45 りんご 3個
2021/02/24 8:15:20 スイカ 1個
2021/02/24 8:38:10 りんご 3個
3. [ツール][スクリプト エディタ]を選んで「無題のプロジェクト」を開きます。
4. すでに記入されているスクリプトを削除して、以下のスクリプトを貼り付けます。
function myFunction() {
// スプレッドシートを取得する
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();// Container Bound Script
var sheet = spreadsheet.getSheets()[0];// シート数を指定して取得
var lastRow = sheet.getLastRow();
// 重複記入をリセットする
var table = sheet.getRange(2, 4, lastRow-1, 1).clearContent();
// フォームデータを読み込む
var table = sheet.getRange(2, 1, lastRow-1, 3).getValues();
// データが1つ以下なら処理を終了する
if (table.length <= 1) {
return;
}
// データを比較して重複を調べる
for (var i=0; i < table.length; i++) {
var row = i + 3;
var basisDate = table[i][0];
var basisData1 = table[i][1];
var basisData2 = table[i][2];
var targetDate = table[i+1][0];
var targetData1 = table[i+1][1];
var targetData2 = table[i+1][2];
if (((targetDate - basisDate) / 1000) <= 60) {
if (basisData1==targetData1 && basisData2==targetData2) {
// 重複を記入する
sheet.getRange(row, 4).setValue('重複');
}
}
// 最後のデータなら終了する
if (i==table.length-2) {
break;
}
}
}
5. [保存]ボタンを押下して、「myFunction」を選び、[▷ 実行]を押下します。
6. D列に「重複」が記入されます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript Google scriptについて 至急scriptを作成して欲しいです! 現在、Googlefor 1 2023/07/01 20:08
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- Excel(エクセル) Googleスプレッドシートを使って、別シートに それぞれの合計を出したい。 1 2022/04/25 14:07
- Access(アクセス) Access2016でフォーム内にExcelの複数シートを 表示させるイメージで複数テーブルの デー 1 2022/11/25 15:30
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- Excel(エクセル) VBAで条件付き書式を設定 3 2023/07/14 17:52
- Excel(エクセル) 関数を教えてください。 2 2023/01/28 00:04
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
- Visual Basic(VBA) チームごとにどの商品を何個希望しているか数量を算出したいです。 A列(A2~A265)に各チーム名が 3 2023/07/18 18:46
- Excel(エクセル) Excel2019 列と列(2列)の数値の重複を調べたい 1 2023/05/11 13:35
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
エクセルで最初のスペースまで...
-
エクセル 文字数 多い順 並...
-
エクセル 同じ値を探して隣の...
-
エクセル(勝手に太字になる)
-
【VBA】特定列に文字が入ってい...
-
2つのエクセルのデータを同じよ...
-
エクセルで一行毎、一枚づつ自...
-
エクセルで文字が混じった数字...
-
EXCELで 一桁の数値を二桁に
-
エクセルの表から正の数、負の...
-
エクセルの並び変えで、空白セ...
-
VBAで文字列を数値に変換したい
-
Excelで半角の文字を含むセルを...
-
エクセルのセル内の文字の一部...
-
A列がない・・・A列が非表示に...
-
Excel、市から登録している住所...
-
お店に入るために行列に並んで...
-
エクセルで一列おきに空白列を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
エクセルで最初のスペースまで...
-
2つのエクセルのデータを同じよ...
-
エクセル 同じ値を探して隣の...
-
エクセル(勝手に太字になる)
-
「B列が日曜の場合」C列に/...
-
エクセル 文字数 多い順 並...
-
EXCELで 一桁の数値を二桁に
-
Excelで半角の文字を含むセルを...
-
エクセルで文字が混じった数字...
-
エクセルの項目軸を左寄せにしたい
-
Excel、市から登録している住所...
-
エクセルで、列の空欄に隣の列...
-
エクセルの表から正の数、負の...
-
エクセルの並び変えで、空白セ...
-
VBAで文字列を数値に変換したい
-
A列がない・・・A列が非表示に...
-
文字列に数字を含むセルを調べたい
-
50人を数回、グループ分けする...
おすすめ情報