ユズノハのプログラミング学習サイト

  1. ホーム /
  2. GAS

GAS

  • 2021.04.03

GASで特定の行をグレーに塗る

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
/**
* myFunction を実行すると sheetName 内の keywords を含む行をグレーに塗る
*/
const id = 'xxxxxx-xxxxxxxxx_11111-XXXXXXXXXXXXXXXXXXXXX';
const sheetName = 'シート1';
const keywords = ['ホゲギンコウ', 'フガカンパニー'];
 
const 指定した行を返す関数 = ({ dataRangeValues, row }) => dataRangeValues[row - 1];
 
const 指定した行のカラム数を返す関数 = ({ dataRangeValues, row }) => 指定した行を返す関数({ dataRangeValues, row }).length;
 
const 指定した行を色付けする関数 = ({ sheet, dataRangeValues, row, color = '#C0C0C0' }) => {
  const カラム数 = 指定した行のカラム数を返す関数({ dataRangeValues, row });
  /* getRange(row, column, numRows, numColumns) */
  sheet.getRange(row, 1, 1, カラム数).setBackground(color);
};
 
const 文字列1が文字列2を含んでいたら真となる関数 = (文字列1, 文字列2) => 文字列1.indexOf(文字列2) !== -1;
 
const 行がキーワードを含んでいたら真となる関数 = ({ dataRangeValues, row, keywords }) => {
  const columns = 指定した行を返す関数({ dataRangeValues, row });
  for (const column of columns) {
    for (const keyword of keywords) {
      if (文字列1が文字列2を含んでいたら真となる関数(String(column), keyword)) {
        return true;
      }
    }
  }
  return false;
};
 
const キーワードをカラムに持つ行に色を塗る関数 = ({ sheet, keywords }) => {
  const dataRangeValues = sheet.getDataRange().getValues();
  for (let i = 0; i < dataRangeValues.length; i++) {
    const row = i + 1;
    if (行がキーワードを含んでいたら真となる関数({ dataRangeValues, row, keywords })) {
      指定した行を色付けする関数({ sheet, dataRangeValues, row });
    }
  }
};
 
const myFunction = () => {
  const sheet = SpreadsheetApp.openById(id).getSheetByName(sheetName);
  キーワードをカラムに持つ行に色を塗る関数({ sheet, keywords });
};
 
// 参考
// https://qiita.com/cazimayaa/items/224daebe536799e5a8a2

最近の投稿

  • Javaでstreamのmapの練習 2023-03-26
  • Javaのインナークラスの練習 2023-02-18
  • Javaのジェネリック(ジェネリクス)で配列を扱いたい 2023-02-05
  • Javaのジェネリックメソッドの練習 2023-02-03
  • JavaScriptのclassとmethodとbindの練習 2022-10-20
  • JSのクラスはnewした後にメンバの振る舞いを差し替えられる 2022-10-19
  • Node.jsの単体テストで関数が1回だけ呼ばれることの判定方法 2022-10-13
  • 代入式の左辺でスプレッド構文を使うやつ 2022-06-08
  • イテラブルなオブジェクトの練習 2022-03-29
  • phpのラムダ式でタイプヒンティングの練習 2022-03-12








サイトマップ

  • ユズノハのプログラミング学習サイト
  • C#
    • c#でquicksort(クイックソート)
  • C言語
    • 関数ポインタ決定版
    • cで構造体配列の要素を書き換える練習
    • c言語でquicksort
    • 1000000以下の素数の数を、配列を使って数える。未整理
    • 素数判定 isPrime_v180928
    • 素数判定 高速化 を関数ポインタでやる
    • c言語でクイックソート(久しぶり)
    • 渡された関数を実行して処理時間(nsec)を返す関数
    • bubblesortとquicksortの性能比較に関数ポインタを導入
    • bubblesortとquicksortの性能比較
    • 2^i ・3^j ・5^k(i,j,kは非負整数)という形で表せる正の整数
    • 完全数を求めるプログラム
    • 関数ポインタを引数に渡す
    • c言語で神経衰弱
    • c言語のランダム生成器
    • 底の円の半径r(メートル), 円錐の高さh(メートル)の円錐の表面積
    • 成功率5%のことに1回でも成功する確率が80%以上になるのは、何回挑戦した時か
    • 素数判定 高速化
    • c言語でナノ秒時間測定
    • c言語でクイックソート
    • c言語で配列の要素数を取得するマクロ
    • c言語でバブルソートの練習
    • c言語でクイックソートの練習
    • クイックソートとバブルソートの性能比較(C言語)
    • クイックソート(C言語)
  • Docker
    • dockerでnodejsを実行するコマンド
    • DockerでJavaをコンパイルして実行する方法
    • dockerのffmpegで複数のtsファイルをmp4に結合する
    • dockerでimagemagick(convert)を使う。古いバージョンも
  • GAS
    • GASで特定の行をグレーに塗る
  • Java
    • Javaでstreamのmapの練習
    • Javaのインナークラスの練習
    • Javaのジェネリック(ジェネリクス)で配列を扱いたい
    • Javaのジェネリックメソッドの練習
    • Javaのジェネリクスとイテレータの練習
    • Javaのリストの型に関する新発見
    • Javaの抽象クラスのコンストラクタとオーバーライドの練習
    • Javaのジェネリクスとストリームの練習
    • DockerでJavaをコンパイルして実行する方法
    • JavaのSystem.out.println()をラップする
    • JavaとPHPのメソッドチェーンでnew演算子の優先度が異なる
    • 60%を3回試行と80%を2回試行ではどちらの期待値が高いか→80%を2回の方が高い
    • オブジェクト指向オリンピック級タイタニック号のたとえ
    • 抽象クラスコンストラクタとコンストラクタの起動順
    • オブジェクト指向、オリンピック級客船の例え
    • JavaのOptionalを活用する
    • Javaのポリモフィズム動物園にインタフェースを導入した
    • Javaのstream().map()でListの型を変換する
    • Javaのラムダ式(lambda)
    • 松本人志のドキュメンタルは参加者10名にとってプラスサムゲームである
    • for文で使うlist.size()は毎周呼んでいる
    • オブジェクト指向、エンジンのたとえ
    • 正の整数のリストを与えられたとき、数を並び替えて可能な最大数を返す関数を記述せよ。例えば、[50, 2, 1, 9]が与えられた時、95021が答えとなる
    • JavaのforEachと抽象クラスのコンストラクタ
    • 多次元ベクトル間のユークリッド距離を計算する
    • Javaのコンストラクタはスーパクラスから順に実行される
    • Javaでwebapiからテキスト取得
    • Javaでポリモフィズム動物園(プログラミングの練習)
    • Javaでクイックソート(quicksort)
    • 抽象クラスもコンストラクタを持てる
    • Javaでひさびさのポリモフィズム動物園(多態性動物園)
    • JavaのforEachメソッドの使い方
    • ポリモフィズム動物園(Java)
    • 再帰を利用したフィボナッチ数列(Java)
  • JavaScript
    • JavaScriptのclassとmethodとbindの練習
    • JSのクラスはnewした後にメンバの振る舞いを差し替えられる
    • Node.jsの単体テストで関数が1回だけ呼ばれることの判定方法
    • 代入式の左辺でスプレッド構文を使うやつ
    • イテラブルなオブジェクトの練習
    • promiseのcatchのコールバック関数の戻り値をawaitで受け取る
    • JavaScriptのオブジェクトに使える自作のeach関数の練習
    • dockerでnodejsを実行するコマンド
    • JavaScriptでコールバックの練習
    • JavaScriptでquicksort(ひさびさ)
    • 高階関数に高階関数を渡す
    • 実行順を守りたいが互いに依存しない非同期関数にはPromise.all()を使うべきである
    • GASで特定の行をグレーに塗る
    • JSのfetchのresponse.json()はPromiseを返す!その対処法
    • generator関数をラムダに閉じ込める意味はあるのか不明
    • JSのジェネレータ関数はイテレータオブジェクトを返す
    • JavaScriptのイテレータの練習
    • Promiseと分割代入の練習
    • generatorの練習
    • async関数をコールバック関数として使う
    • JavascriptのPromise.all()が並列処理していることの確認
    • テンキーのないキーボードにテンキーをもたらすスクリプト
    • nodejsでimage-1.jpgから100.jpgにリネームするスクリプト
    • ジェネレータ関数はアロー関数でラップして使える
    • 自作のイテラブルなオブジェクトをジェネレータ関数から返してみる
    • JavaScriptのコンストラクタは、子クラスのインスタンス化を検知できる
    • JSの分割代入の練習
    • 自作のイテレータを自作のジェネレータ関数にかけてみる
    • JavaScriptのGenerator(ジェネレータ)の練習
    • JavaScriptのIterator(イテレータ)の練習
    • スプレッド構文はイテラブルなオブジェクトを展開する構文である
    • イテレータの練習。0から4までの整数を回せるイテラブルなオブジェクト
    • jsで名前付き引数の練習
    • jsでアロー関数またはラムダ式の練習
    • jsでクイックソート
    • twitterで見つけた稼働率の問題のシミュレーション
    • ランダムな値をグラフ化するプログラム
    • 摂氏と華氏を変換するモジュールを作った
    • 7%の確率が85%以上の確率で1回以上成功するのは何回挑戦したときか。27回
    • jsのPromiseの練習
    • クロージャを使った自作の辞書
    • await catchの練習
    • promise catchの練習
    • 63回のうち3の確率に少なくとも1回成功する割合は85パーセントである
    • 成功率4%の事象に1回でも成功する確率が90%を超えるのは、何回挑戦したときか(57回)
    • awaitをPromise変数に使うかPromiseを返却する関数の実行結果に使うかで結果が変わる
    • 5chで見つけた勝負ゲームのシミュレータ
    • JavaScriptのジェネレータの練習
    • イテラブルなオブジェクトを作る練習
    • 世界のナベアツのネタを文字列操作を使わず再帰関数で実装する
    • JavaScriptのイテレータを使ってfor-ofを独自実装する練習
    • async,await,timeout,catchの練習
    • async,await,setTimeout()
    • async/awaitのcatchの戻り値
    • asyncとawait
    • twitterで見かけた問題。トビウオ問題
    • オブジェクト指向オリンピック級タイタニック号のたとえ(JavaScript)
    • node.jsでStreamのpipe
    • JavaScriptのコールバック関数を引数付きで実行する方法
    • 求人5社の言語別の求人数の各平均値を求めた
    • クイックソートとバブルソートを両方やる
    • JavaScriptでquicksort
    • 時間の昇順で指定したディレクトリのファイルパス一覧を取得する
    • filterで引数の配列から偶数の要素に絞った新たな配列を得る
    • JavaScriptのPromise配列とPromise.all()の練習
    • JavaScriptのオブジェクトの比較は不思議である
    • リアルタイムチャット(ajax)
    • 最大公約数を求める
    • □に1から9の数を1回ずつ入れて式を完成させましょう。
    • 寿司打のランキングの平均タイプ数をグラフ化した
    • 5%の確率に挑戦して少なくとも1回成功する割合が85%を超えるのは、何回挑戦したときか→37回
    • 厚さ0.1ミリの新聞紙を37回折ったら地球の直径を超えるみたいなやつ
    • 1000000 以下の素数の個数の計算にかかる時間(ミリ秒)
    • 1000本のワインの中から1本の毒入りワインを見つける問題を解いた
    • bignumber.jsを使った小数点以下の計算
    • 非同期処理も順番守って出力させたい
    • Promise.all()は本当に並列処理しているのか
    • 60%を3回試行と80%を2回試行ではどちらの期待値が高いか
    • indexの宣言がletかvarかで結果が変わる件を難しく書いた
    • ループとコールバックの問題(varとletで結果が変わる)
    • その年最初の落雷が起こった日の統計
    • ループとコールバックの問題(一応解決)
    • ループとコールバックの問題(未解決)
    • keyを保持したままvalueでソート
    • javascriptのコールバックとbind
    • javascript(node.js)のライブラリを作る
    • JavaScriptでカリー化
    • オイラーとかゼータ関数とか
    • JavaScriptで配列の計算とか
    • javascriptでquicksort(プログラミングの練習)
    • 3ケタ毎にカンマ,を入れて表示する関数
    • solidityで素数判定の結果の精度確認
    • JavaScriptで素数判定(高速ver)の時間測定
    • RPGの成長システム
    • JavaScriptの標準入力
    • [DApps]ゆずのは銀行(仮)
    • 素数判定
    • web3とpromiseの組み合わせやっとしっくり来た
    • 素因数分解
    • バブルソート
    • 32bit16進数の文字列をint[32]に変換
    • 告白成功確率 20% の男がひとりの彼女を 80% 以上の確率で獲得できる告白の回数 : 8回
    • きつくないcolor_id一覧を表示する(改善)
    • きつくないcolor_id一覧を表示する
    • きつい色をNGにするアルゴリズム。pythonのコードをjsに書き換えた
    • JavaScriptのクロージャ
    • JavaScriptでサイコロを作った
    • JavaScriptでquicksort(クイックソート)
    • 整数と1byte配列の相互変換(ビッグエンディアン)
    • callback関数は、呼び出し先の関数の中で呼び出される関数
    • JavaScriptでクイックソート
    • JavaScript(ECMAScript2015, ES6)の練習
  • Linux
    • dockerのffmpegで複数のtsファイルをmp4に結合する
    • scpコマンドのメモ
    • ImageMagick(convertコマンド)用のDockerの使い方
    • NextCloud13を入れると最初から管理画面に出るセキュリティ警告を消す方法
  • PHP
    • phpのラムダ式でタイプヒンティングの練習
    • php7.4のアロー関数の練習
    • phpで配列のランダムなキーを取得する関数getRandomIdx
    • cakephpでモデルにフィールドが無いformのエラーメッセージの出し方
    • phpのポインタの変な挙動(再)
    • FizzBuzzをPHPで急いで書いた
    • phpでタイプヒンティングとコールバックの練習
    • phpでマイクロ秒をミリ秒にして時間測定する
    • 12枚のコインがあるが一枚はニセモノで、重いか軽いかは分からない 天秤を3回だけ使ってどのコインがニセモノか特定せよ
    • PHPのtrait(トレイト)はreturn $thisが定義できる
    • メソッドチェーンで流れるように処理する
    • phpでビルダーパターンの練習
    • PHPでメソッドチェーンの練習
    • FizzBuzzの判定は15で割った方が早いことの確認
    • phpのclosureの練習
    • JavaとPHPのメソッドチェーンでnew演算子の優先度が異なる
    • 文字列内で重複しない最初の文字を返却する関数
    • 政令指定都市の人口比較
    • 10%の確率が16回の試行の中で1回以上発生する確率
    • PHPのlcg_value()という0より大1より小のランダムな少数を返す関数
    • PHPで九九を表示
    • リアルタイムチャット(ajax)
    • 摂氏と華氏を反転させる関数
    • PHPでバブルソート
    • NextCloud13を入れると最初から管理画面に出るセキュリティ警告を消す方法
    • 【PHP】Solidityのソースコードから関数定義を抽出するスクリプト
    • お題:リストの内容比較
    • PHPのTRAIT(トレイト)
    • array_walk関数を使って円をドルに変換
    • PHPの関数に変数の参照を渡すと戻り値をたくさん取得できそう
    • cgios.comさんの過去問、DNA問題を解いた
    • エックスサーバーからPHPでメールを送りたい
    • 所持金と購入価格から最適なお釣りを算出するプログラム
    • 幼児が数分で解けるのに大人が解けない算数(?)の問題を解いた(PHP)
    • 文字列置換(PHP)
    • PHPの変な仕様
  • Python
    • Pythonのリスト内包表記の練習
  • Solidity
    • etherbirds
    • cryptochat
    • solidityでクイックソート~フロントエンドを書いてgithubを使った~
    • solidityで任意の長さのuint8の疑似乱数の配列を受け取る関数
    • oraclizeを初めて使った
    • requireの第2引数にエラーメッセージを載せる(contract SimpleBank)
    • solidityでquicksort(使いやすい)
    • truffleでイベント監視
    • solidityで文字列とバイトコードの相互変換
    • ガスコスト比較。Auctions
    • solidityのmappingのvalueは小さくしたほうが安いのか検証2
    • solidityのmappingのvalueは小さくしたほうが安いのか検証
    • solidityで文字列連結して返却
    • storageのstruct型配列とpush時のgasの関係
    • solidityでbubblesort
    • 【PHP】Solidityのソースコードから関数定義を抽出するスクリプト
    • solidityでタプルを個別に受け取るのは本当に代入しているのかテスト
    • 他のコントラクトのstorageのmappingを使用する方法
    • solidityでquicksort
    • solidityで素数判定の結果の精度確認
    • solidityで素数判定
    • solidityで平方根(整数、小数点以下切り捨て)を取得
    • [DApps]ゆずのは銀行(仮)
    • web3とpromiseの組み合わせやっとしっくり来た
    • 32bit16進数の文字列をint[32]に変換
    • solidityでクイックソート
    • 仮想猫ゲームの全猫データ取得作戦
    • solidityで2次元配列を1次元配列にして返却する
    • solidityのgas消費量調査
    • Solidityでクイックソート
  • TypeScript
    • TypeScriptでフィボナッチ数列
    • alertでconsoleの内容が見たい
  • プライバシーポリシー
    • プライバシーポリシー(privacy policy)
  • 日記
    • 16年7月24日(月)01:00
    • 16年7月17日(月)03:05
    • 16年7月15日(土)22:42
    • ユズノハのプログラミング学習サイト
  • 未分類
    • Javaの抽象クラスのコンストラクタとオーバーライドの練習

カテゴリー

  • C#
  • C言語
  • Docker
  • GAS
  • Java
  • JavaScript
  • Linux
  • PHP
  • Python
  • Solidity
  • TypeScript
  • プライバシーポリシー
  • 日記
  • 未分類

アーカイブ

  • 2023年3月
  • 2023年2月
  • 2022年10月
  • 2022年6月
  • 2022年3月
  • 2022年1月
  • 2021年8月
  • 2021年7月
  • 2021年6月
  • 2021年5月
  • 2021年4月
  • 2021年3月
  • 2021年2月
  • 2021年1月
  • 2020年12月
  • 2020年11月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年7月
  • 2020年6月
  • 2020年4月
  • 2020年3月
  • 2020年2月
  • 2020年1月
  • 2019年12月
  • 2019年10月
  • 2019年9月
  • 2019年8月
  • 2019年7月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年11月
  • 2018年10月
  • 2018年9月
  • 2018年8月
  • 2018年7月
  • 2018年6月
  • 2018年5月
  • 2018年4月
  • 2018年3月
  • 2018年2月
  • 2018年1月
  • 2017年12月
  • 2017年11月
  • 2017年9月
  • 2017年8月
  • 2017年7月

人気の投稿とページ

  • 抽象クラスもコンストラクタを持てる
  • for文で使うlist.size()は毎周呼んでいる
  • プライバシーポリシー(privacy policy)
  • c言語でナノ秒時間測定
  • 所持金と購入価格から最適なお釣りを算出するプログラム
  • bignumber.jsを使った小数点以下の計算
  • エックスサーバーからPHPでメールを送りたい
  • c言語で配列の要素数を取得するマクロ
  • 素数判定 高速化
  • solidityで文字列とバイトコードの相互変換

Twitter

Tweets by yuzunoha123

© Copyright 2023 ユズノハのプログラミング学習サイト. All rights reserved.