【ゆるく始めるGAS】セル値で文字色を設定方法

ブルーカラー人生設計

進捗状況やステータスにより、セルの色を変更するプログラムがあると便利ですよね。

例えば清掃業だと、1ヶ月先の予定表には「未定」「削除」「決定」のステータスがたくさん表記されています。

ステータスにより顧客名ののフォントや背景色が変わると一目瞭然でステータスを確認できます。

  • 未定=赤色
  • 削除=青色
  • 決定=黒色

GASを使ってこのプログラムを作りたいと思います。

GASでセル値の内容次第でフォントの色を変更する

見出しの写真は私のチームのシフト表になります。

丸印箇所がステータスになります。

丸印箇所下のセルが顧客名、この顧客名をステータス次第でフォントカラーを変えたいと思います。

  • 未定=赤色
  • 削除=青色
  • 決定=黒色

コードはこちら

function setConditiona4() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getSheetByName('work schedule');
  処理をしたいシートを定義します。
  
  for (var i = 8; i < 114; i+=8) { // 13回繰り返す
   for (var k = 2; k < 434; k+=14) {
    var cellValue = sheet.getRange(i,k+2).getValue(); // 8行ごとにセル値を取得する
    var cell = sheet.getRange(i+1,k); // 8行ごとにセルの範囲を取得する
    D8(8:2)セルから開始して、行は8行ごとで114行目まで。列は2列目から434列目まで14列毎に取得する。


    if (cellValue == "未定") { // セル(D8)の値が「未定」の場合
      cell.setFontColor("#ff0000"); // セル(B9)のフォント色を赤にする
    } else if (cellValue == "削除") { // セル(D8)の値が「削除」の場合
      cell.setFontColor("#0000ff"); // セル(B9)のフォント色を青にする
      }else if (cellValue == "") { // セル(D8)の値が「延期」の場合
      cell.setFontColor("#000000"); // セル(B9)のフォント色を茶色にする


  }}}}

このコードでは、処理に時間がかかり、全ての作業を実行できません。

そこでチャットGPT最速のコードを出してみました。

チャットGPTに改善してもらった。

早速コードをコピーして貼り付けてみました。

やっぱり便利だチャットGPT

なんていうことでしょうか?

ホント一瞬で処理が終わってしまいました。

今までは424列までの処理が終わらないので、半分の212のスクリプトを作り、半分ずつ処理していました。

それでも結構時間がかかりました。

GASも初歩的なことを理解していれば、チャットGPTと組み合わせることで、自分にはできないと思ってた作業が実現可能になります。

まとめ

いかがでしたでしょうか、超初心者は全て知る必要なし。

よく言う「たたき台」を作ることに専念しましょう。

改善や改良はチャットGPTにお任せしましょう。

とはいえ、「たたき台」を作るには、最低限のGAS知識は必要だと。

超初心者の私と一緒に成長していきましょう。

コメント