Я ищу входные данные для небольшого проекта генератора случайных строк.
Я пытаюсь создать генератор случайных строк, который объединяет три слова, где я могу затем сохранить строки, которые мне нравятся, в другойпростынь.
Я использую базовый сценарий для назначения формулы RANDBETWEEN 3 конкретным ячейкам, которая прекрасно работает для генерации строк, но продолжает пересчитываться с каждым дополнительным шагом в сценарии, который кажется.Тогда я хотел бы запустить одну функцию, если мне нравится строка, я бы запустил другую функцию для хранения строки.Тем не менее, когда я пытаюсь, что он уже пересчитал формулы RANDBETWEEN, и он сохраняет что-то совершенно другое.
У меня есть пример листа здесь:
https://docs.google.com/spreadsheets/d/1TWziyjjLQJJApkHCqrLzNGMFU0sf-vNEOOSatuhHURo/edit?usp=sharing
И вот кодЯ использую для кнопок «Перейти» и «Сохранить» соответственно:
function generateString() {
var ss = SpreadsheetApp.openById('1b9rP39sgZDOZqu7AmZhOxX9J8CMukmUw7NPY3Qzuq78');
var sheet = ss.getSheetByName('Randomizer');
var cell = sheet.getRange('D4');
var cell2 = sheet.getRange('E4');
var cell3 = sheet.getRange('F4');
cell.setValue('=INDEX(A:A,RANDBETWEEN(1,counta(A:A)))');
cell2.setValue('=INDEX(A:A,RANDBETWEEN(1,counta(A:A)))');
cell3.setValue('=INDEX(A:A,RANDBETWEEN(1,counta(A:A)))');
var cell4 = sheet.getRange('P4');
cell4.copyTo (sheet.getRange ('P5'), {contentsOnly: true}); //an attempt to paste values to record the random string
}
function saveString() {
var ss = SpreadsheetApp.openById('1b9rP39sgZDOZqu7AmZhOxX9J8CMukmUw7NPY3Qzuq78');
var sheet = ss.getSheetByName('Randomizer'); //replace with source Sheet tab name
var range = sheet.getRange('P4'); //assign the range you want to copy
var data = range.getValues();
var tss = SpreadsheetApp.openById('1b9rP39sgZDOZqu7AmZhOxX9J8CMukmUw7NPY3Qzuq78');
var tsheet = tss.getSheetByName('Saved Strings'); //replace with destination Sheet tab name
tsheet.getRange(tsheet.getLastRow()+1, 1, 1, 1).setValues(data);
}
Пожалуйста, дайте мне знать, если у кого-то есть идеи о том, как заставить это работать должным образом.Спасибо!