例として、A列の2行目から9行目を対象に、重複するデータが無い場合は「1」を、重複するデータがある場合は、順番に「2」「3」...と出てきた回数をB列に入力していきます。
A列が昇順でソートされていないとうまくいかないので、コードの中でソートを行っています。
function word_occurrences() {
var get_range = "A2:A9"; //A列の2行目から9行目
var set_col = 2; //入力するセルはB列
var start_cell = 2; //2行目から入力
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getActiveSheet();
var range = sh.getRange(get_range);
range.sort([{
column: 1,
ascending: true
}]);
var values = range.getValues();
for (var i = 0; i < values.length; i++) {
if (i == 0) {
sh.getRange((i + start_cell), set_col).setValue(1);
} else {
var active_value = values[i].toString();
var prev_value = values[(i - 1)].toString();
if (active_value == prev_value) {
var rank = sh.getRange((i + 1), set_col).getValue();
sh.getRange((i + start_cell), set_col).setValue(parseInt(rank) + 1);
} else {
sh.getRange((i + start_cell), set_col).setValue(1);
}
}
}
}
実行前
実行後

