1行目の数値データの平均を自動計算できます。
横方向に並んだデータの集計に便利です。
GAS初心者でもコピペですぐ利用できます。
このコードでできること
・1行目の数値の平均を計算
・文字列を除外して集計
・平均値をB2セルへ自動出力
GASコード
function calculateAverageOfFirstRow() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
// シート名を指定して取得
const sheet = ss.getSheetByName("横計算");
// シートが存在するか確認(存在しない場合は処理を終了)
if (!sheet) {
Browser.msgBox("エラー: 「横計算」という名前のシートが見つかりません。");
return;
}
// 1行目のデータを取得
const lastColumn = sheet.getLastColumn();
// 1行目のデータを取得(列が0の場合は処理しない)
if (lastColumn === 0) {
sheet.getRange("B2").setValue("データなし");
return;
}
const range = sheet.getRange(1, 1, 1, lastColumn);
const values = range.getValues()[0];
// 数値のみを抽出して合計と件数を計算
let sum = 0;
let count = 0;
for (let i = 0; i < values.length; i++) {
// 値が数値であるかを確認
if (typeof values[i] === 'number') {
sum += values[i];
count++;
}
}
// 平均値を計算してB2セルに書き込み
if (count > 0) {
const average = sum / count;
sheet.getRange("B2").setValue(average);
} else {
sheet.getRange("B2").setValue("データなし");
}
}
カスタマイズ例
パターン①
平均値の出力先をD5セルへ変更
sheet.getRange("D5").setValue(average);
パターン②
2行目の平均を計算
const range = sheet.getRange(2, 1, 1, lastColumn);
関数名
下記が実行する関数名です。
calculateAverageOfFirstRow
関数名についてはこちらをご覧ください。
▶ GASの関数名を確認する方法|function ○○○() が実行する名前です
よくあるエラー
症状
「横計算」という名前のシートが見つかりません。
対処法
・シート名を確認する
・全角半角の違いを確認する
症状
データなしと表示される
対処法
・1行目に数値が入力されているか確認する
・数値以外しか入力されていないか確認する
サンプルファイル
このコードを試せるGoogleスプレッドシートを配布しています。
▶ 【完成】AVERAGE_スプレッドシート(GASコードあり)
関連記事
▶ GASコードの貼り付け方法
▶ GASコードの実行方法
▶ GASの関数名を確認する方法
▶ 【GAS】このアプリは Google で確認されていません|原因と解決方法
▶ GASで合計を計算するコード|SUM計算を自動化する方法

コメント