質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

Q&A

0回答

1618閲覧

GASで文字色を参照した処理を行いたい

退会済みユーザー

退会済みユーザー

総合スコア0

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

0グッド

1クリップ

投稿2021/11/29 10:00

前提・実現したいこと

縦書きカレンダー調のスプレッドシートでスケジュール管理をし、例えば赤色の背景色は出張、青色は商談といったカテゴリー分けをしています。
その中で文字の色を変えてあり、白文字は直帰やグレー文字は接待など意味を持たせています。

私だけが分かる仕様なので、在宅勤務が続いている内に一目で分かるように直したいのですが、条件付き書式ではセルやフォントの色を参照した処理ができないようで、GASで処理を構築できないか模索しています。

A1 出張 ←ここの文字色は#ffffff A3 商談 ←ここの文字色は#c0c0c0 A5

上記のような状態において行いたい処理は2点です。
1.セルA2が出張直帰となるような、各カラーに対応した文字をベースの後ろに付けたい
2.膨大な量の中から自動で参照して処理するようにしたい

以前にこちらの識者の方から背景色を参照した処理のコードをご教授頂きまして、それをベースに作れないかと試行錯誤しましたが全くうまくいきませんでした。

素人が手を出して良い領域ではないこと重々承知しておりますが、ご助力を賜りたく、何とぞよろしくお願いいたします。

該当のソースコード

特定セルと同じ背景色を範囲内から探し出し、同じ内容に書き換えるコードです。
getBackgroundをFontColorに替えただけでは何も動作しませんでした。

const cltest = () => { q30("特定のセル","A1:A5"); } const q1 = (sourceA1, targetA1, sheetName) => { sourceA1 = sourceA1 || "特定のセル"; targetA1 = targetA1 || "A1:A5"; const workingSheet = sheetName ? SpreadsheetApp.getActive().getSheetByName(sheetName) : SpreadsheetApp.getActiveSheet(); const sourceRange = workingSheet.getRange(sourceA1); const keyColour = sourceRange.getFontColor(); const designatedValue = sourceRange.getValue(); const targetRange = workingSheet.getRange(targetA1); const targetColours = targetRange.getFontColors(); const targetValues = targetRange.getValues(); targetRange.setValues(targetValues.map((r,i)=> r.map((c,j) => targetColours[i][j] === keyColour ?designatedValue:c)));} }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sawa

2021/11/30 04:57

掲載のコードがまったく理解できていないのであればGASでの処理は諦めて、標準機能にテキストの色でフィルタをかける機能があるので、そちらで手作業した方が早いと思います。
退会済みユーザー

退会済みユーザー

2021/12/03 04:33

>>sawa 様 ありがとうございます。 自己解決に努めます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問