Google スプレッドシートをカスタマイズするなら、Google Apps Script(GAS)は避けて通れんばい。今回は、その中でもセルの垂直配置を取得する getVerticalAlignments()
について深掘りしていくけんね!
getVerticalAlignments() って何ばい?
このメソッドは、指定した範囲内のセルの垂直配置を取得できる便利な関数たい。スプレッドシートでデータをきれいに整理するには欠かせんとよ。
垂直配置の種類は以下の3つ:
top
:セルの上側に寄せるmiddle
:セルの中央に配置(デフォルト)bottom
:セルの下側に寄せる
スプレッドシートのデフォルト設定は bottom
になっとるけん、Excelとは違うとこに注意せんといかんばい。
getVerticalAlignments() の基本構文
range.getVerticalAlignments();
戻り値
メソッドを実行すると、対象範囲のセルの垂直配置が二次元配列で返ってくるばい!
例えば、3行2列のセル範囲で getVerticalAlignments()
を実行すると、こんな感じの配列が返ってくる
[
['top', 'middle'],
['bottom', 'top'],
['middle', 'bottom']
]
getVerticalAlignments() の活用例
1. セルの垂直配置を取得する基本的なスクリプト
function fetchVerticalAlignments() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheetByName('データシート');
const targetRange = sheet.getRange('B2:D4');
const alignments = targetRange.getVerticalAlignments();
console.log('垂直配置データ:', alignments);
}
2. 配列データを整理して表示する
alignments.forEach((row, rowIndex) => {
row.forEach((alignment, colIndex) => {
console.log(`行 ${rowIndex+1}, 列 ${colIndex+1}: ${alignment}`);
});
});
3. すべてのセルの垂直配置を中央寄せに変更
function standardizeVerticalAlignment() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getActiveSheet();
const range = sheet.getDataRange();
const alignments = range.getVerticalAlignments().map(row => row.map(() => 'middle'));
range.setVerticalAlignments(alignments);
}
getVerticalAlignments() の応用シナリオ
条件付き書式設定と連携
たとえば、bottom
になっているセルを middle
に変更するといった動的書式設定もできるばい!
function applyConditionalFormatting() {
const range = SpreadsheetApp.getActiveRange();
const alignments = range.getVerticalAlignments();
const updatedAlignments = alignments.map(row =>
row.map(alignment => alignment === 'bottom' ? 'middle' : alignment)
);
range.setVerticalAlignments(updatedAlignments);
}
編集履歴を記録するシステム
変更前後の垂直配置をログに保存する仕組みも簡単に作れるっちゃ!
function monitorAlignmentChanges() {
const sheet = SpreadsheetApp.getActiveSheet();
const historySheet = SpreadsheetApp.openById('履歴シートID').getSheetByName('ログ');
const currentAlignments = sheet.getRange('A1:C10').getVerticalAlignments();
const timestamp = new Date();
historySheet.appendRow([timestamp, JSON.stringify(currentAlignments)]);
}
まとめ
getVerticalAlignments()
を使えば、セルの垂直配置を簡単に取得できる!- データを整理するのに役立つし、動的な書式設定にも活用できる!
setVerticalAlignments()
と組み合わせることで、配置変更も自由自在!
GAS を使いこなせば、スプレッドシートがもっと便利になるばい!

Class Range | Apps Script | Google for Developers
Just a moment...
セル範囲の垂直方向の配置(上寄せ、中央寄せ、下寄せ)をセルごとに取得する:getVerticalAlignments()【GAS】 | G Suite ガイド - G Suite ガイド:G Suite の導入方法や使い方を徹底解説!
getVerticalAlignments() セル範囲の垂直方向の配置(上寄せ、中央寄せ、下寄せ)をセルごとに取得する。 サンプルコード // 現在アクティブなスプレッドシートを取得 var ss = SpreadsheetApp.get...
コメント