ご訪問ありがとうございます。
Googleシートマスターのひろしです。
前回

【GAS基礎講座 26.】行挿入し現在の行をコピペする方法(マクロの作成)
GASで行の追加ができます。
GASで行のコピペができます。
GASをショートカットキーで呼び出すことができます。
今回は、とっても価値の高い方法をお伝えします。
これを知ることであなたは、
- 最後に入力した値が、今までに入力していないかどうかをチェックすることができます。
- 配列内のチェックが簡単にできるようになります。
なので、サクッとマスターして
と答えてあげてください。
動画はこちら
※サムネは、基礎講座となっていますが中級以上ですね。
シートはこちら
※クリックするとシートが開きます。
スクリプト
チェックする値の取得
const CKROW = 5 //5列目 const ss = SpreadsheetApp.getActiveSpreadsheet() const sh = ss.getActiveSheet() const val = sh.getActiveCell().getValue() const lrow = sh.getActiveCell().getRow() const ckvaluse = sh.getRange(2, CKROW, lrow - 2).getValues()
ループでやった場合
for(let i=0;i<lrow-2;i++){ console.log(ckvaluse[i][0]) if(ckvaluse[i][0] === val){ console.log("すでに使用済み") } }
forEachでやった場合
ckvaluse.forEach(item => { console.log(item) if (item[0] === val) { console.log("すでに使用済み") } })
someでやった場合
let ret = ckvaluse.some(item => item[0] === val) if (ret) { console.log("すでに使用済み") }
let ret = ckvaluse.some(item => item[0] === val)
だけでいけちゃいます。
someのイメージ
ret = ckvaluse.some(function (item, i, ckvaluse) { if (item[0] === val) { console.log("すでに使用済み") return (true) } })
最後までご覧いただきありがとうございます。
つぎはこちら

【GAS】日付形式の設定とセル内で改行させる方法(エスケープ文字)
コメント