欠損値・重複値の探索

Google Apps Script ライブラリ

連絡用 Bluesky
ホーム > 欠損値・重複値の探索 GAS ライブラリ

【ライブラリの説明】

スプレッドシートのデータセットの中から欠損値や重複値の探索をする GAS ライブラリになります。

例えば、IoT で気温・湿度等のデータを取得した際に、データがうまく取れていないタイミングがあったり、逆に二重で取れてしまったりということがそれなりの頻度で起こります。そうしたデータセットにおける欠損値や重複値を探索するライブラリです。

【スクリプト ID】

1sJCHsjsWlWEJwK9ficycEa9PBCA92P_OI0fgQO1wgm858rQGw7eOqlBO

【ライブラリの追加方法】

  1. ライブラリの追加から上記スクリプト ID を入力して「検索」を押下
  2. バージョンを選択、任意の ID を指定して「追加」を押下
※ バージョンは最新のもの、もしくは「HEAD(開発モード)」を指定してください。

【使い方】

リファレンスはこちら

スクリプトの実行方法は、以下の通りです。現状、縦方向の探索のみ可能です。

ライブラリの追加の際に指定した任意の ID.searchData(スプレッドシート ID, シート名, データ型("number" or "date" で指定), 探索スタート行番号, 探索列番号, 上限値, 下限値)

上下の行の値を比較して上限値を上回る(変動幅 > 上限値)場合は欠損値、下限値の下回る(変動幅 < 下限値)場合は重複値として扱います。望ましい上下の行の値の差が一意の場合は、上限値と下限値を一致させます。

データ型が日時 "date" の場合、上限値及び下限値はミリ秒で指定します。1分は 60000、 1時間は 3600000、1日は 86400000 となります。

結果はログに表示され、戻り値として2次元配列を返します。スプレッドシートに書き出す場合、行数の指定は "戻り値.length"、列数の指定は "3" となります。


以下は、test という ID でライブラリで読み込んで使った場合のコード例になります。(探索スタート行番号=3, 探索列番号=1, 上限値=2, 下限値=1)

function myFunction() {
    const spId = "スプレッドシート ID";
    const shName1 = "シート名1(データセット)";
    const shName2 = "シート名2(結果入力)";

    let result = test.searchData(spId, shName1, "number", 3, 1, 2, 1);

    const sp = SpreadsheetApp.openById(spId);
    const sh = sp.getSheetByName(shName2);
    sh.getRange(1,1, result.length, 3).setValues(result);
}
    
更新情報
  • ライブラリを公開しました。(2022-5-16)