Google Apps Script(GAS)って知っとる? スプレッドシートを自動化できる強力なツールじゃけ、これを使いこなせば作業効率が爆上がりするばい!
今回紹介するのは、getFontWeights()
メソッド。 これを使うと、セル範囲のフォントの太字設定をまとめて取得できるっちゃ。
getFontWeights()って何すると?
getFontWeights()
は指定したセル範囲の太字情報を取得するメソッド。 戻り値は二次元配列になっとって、
"bold"
(太字)"normal"
(通常)
のどちらかが返ってくる仕組みたい。
例えば、スプレッドシートのB2:D4
のセル範囲を対象にすると、
const range = SpreadsheetApp.getActiveSpreadsheet().getRange('B2:D4');
const fontWeights = range.getFontWeights();
こんな感じで、セルの太字設定を一気に取得できるけ。
getFontWeight()との違い
getFontWeight()
っていう似たメソッドもあるんやけど、 こっちは「単一セルのみ」のフォント太字設定を取得するもの。
一方、getFontWeights()
なら「複数セルをまとめて」取得できるとばい。 大規模なデータを扱うときは断然こっちが便利さ。
実践!セル範囲の太字情報を取得してみる
次のサンプルコードでは、指定した範囲の太字設定をコンソールに表示するばい。
function sampleGetFontWeights() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheetByName('データシート');
const range = sheet.getRange('B2:D4');
const weights = range.getFontWeights();
weights.forEach((row, rowIndex) => {
row.forEach((cellValue, colIndex) => {
console.log(`セル ${String.fromCharCode(66 + colIndex)}${rowIndex + 2}: ${cellValue}`);
});
});
}
このコードを実行すると、セルのフォント状態がbold
かnormal
か分かるばい。
太字のセルだけ色を変えてみる
例えば、太字になっとるセルの背景色を黄色にするなら、こんなコードを書けばよかばい。
function highlightBoldCells() {
const range = SpreadsheetApp.getActiveSheet().getRange('A1:C10');
const weights = range.getFontWeights();
const backgrounds = weights.map(row =>
row.map(cell => cell === 'bold' ? '#FFFF00' : null)
);
range.setBackgrounds(backgrounds);
}
このスクリプトを実行すると、太字のセルだけ黄色になるっちゃ。
大量のデータを扱うときの注意点
スプレッドシートには「1シートあたり500万セルまで」という制限があるっちゃ。 データが増えてくると処理が遅くなるけ、
- 必要な範囲だけ取得する
getValues()
と組み合わせて効率化する
みたいな工夫が必要じゃ。
例えば、500行ずつ処理するときはこんな感じで書くとよかばい。
function processLargeData() {
const sheet = SpreadsheetApp.getActiveSheet();
const totalRows = sheet.getLastRow();
const batchSize = 500;
for (let i = 1; i <= totalRows; i += batchSize) {
const range = sheet.getRange(i, 1, Math.min(batchSize, totalRows - i + 1), 10);
const weights = range.getFontWeights();
console.log(weights);
}
}
これで、スプレッドシートのデータを少しずつ処理できるけ、 動作がスムーズになるばい。
まとめ
getFontWeights()
メソッドを使えば、
- スプレッドシートの太字設定を一括取得できる
getFontWeight()
よりも効率的- 背景色変更やデータ分析にも応用できる
といったメリットがあるっちゃ。
大規模データを扱うときは、処理速度を意識しながら工夫して使ってみてね!
コメント