Прошу помощи. Есть гугл таблица https://docs.google.com/spreads....2cER6WM Мне нужно если в столбеце "Хэштег новый" есть запись, то перенести ее в столбец Хэштег через ';' и удалить из столбца Хэштег новый. Затем проверить на дубли, например по имени и удалить если они (дубли) есть. Часть скрипта, который копирует данные с другого листа на лист "Архив" в первую пустую строку я сделала, а далее никак. Буду благодарна за любую помощь.
Прошу помощи. Есть гугл таблица https://docs.google.com/spreads....2cER6WM Мне нужно если в столбеце "Хэштег новый" есть запись, то перенести ее в столбец Хэштег через ';' и удалить из столбца Хэштег новый. Затем проверить на дубли, например по имени и удалить если они (дубли) есть. Часть скрипта, который копирует данные с другого листа на лист "Архив" в первую пустую строку я сделала, а далее никак. Буду благодарна за любую помощь.Marisa
По примеру не понятно что вы хотите (все хэштеги должны в итоге оказаться в одной ячейке за все время или же только за один день - одна ячейка, как хэштеги соотносятся с другими колонками и т.д. много вопросов по примеру), задайте конкретный вопрос , или создайте пример с тем "как есть" и "что вы хотите". Редактор скриптов у вас пуст, оценить ваше решение по примеру не предстаёт возможным. Да и вообще ваш вопрос больше похож на заказ, раздел Работа / Фриланс, может вам больше подойдет.
По примеру не понятно что вы хотите (все хэштеги должны в итоге оказаться в одной ячейке за все время или же только за один день - одна ячейка, как хэштеги соотносятся с другими колонками и т.д. много вопросов по примеру), задайте конкретный вопрос , или создайте пример с тем "как есть" и "что вы хотите". Редактор скриптов у вас пуст, оценить ваше решение по примеру не предстаёт возможным. Да и вообще ваш вопрос больше похож на заказ, раздел Работа / Фриланс, может вам больше подойдет.Kashimirush
Файл поправила, помогите хотя бы сцепить 2 столбца, по датам ничего не нужно. Я пробовала сделать столбец с формулой и его копировать, с помощью copyto, но значения не копируются, наверно из-за формулы. Соединить эти столбцы с помощью кода - не хватает знаний и опыта
Файл поправила, помогите хотя бы сцепить 2 столбца, по датам ничего не нужно. Я пробовала сделать столбец с формулой и его копировать, с помощью copyto, но значения не копируются, наверно из-за формулы. Соединить эти столбцы с помощью кода - не хватает знаний и опыта Marisa
Сообщение отредактировал Marisa - Четверг, 01.10.2020, 14:03
очень странно, CTRL+C CTRL+V всегда должны работать, если вставлять данные как значения а не формулы
Я же изначально писала, что ищу решение через скрипт. Вопрос снят. Нашла решение. Я пыталась использовать [vba]
Код
rang1.copyTo(rang2,{contentsOnly:true});
[/vba] но у меня формула массива в столбце который я хотела копировать, значения не копировались, поэтому искала решение (в том числе и на этом форуме). Получилось скопировать с помощью [vba]
Код
var valuesToCopy = ss.getRange(3,9,10,1).getValues(); ss.getRange(3,5,10,1).setValues(valuesToCopy);
очень странно, CTRL+C CTRL+V всегда должны работать, если вставлять данные как значения а не формулы
Я же изначально писала, что ищу решение через скрипт. Вопрос снят. Нашла решение. Я пыталась использовать [vba]
Код
rang1.copyTo(rang2,{contentsOnly:true});
[/vba] но у меня формула массива в столбце который я хотела копировать, значения не копировались, поэтому искала решение (в том числе и на этом форуме). Получилось скопировать с помощью [vba]
Код
var valuesToCopy = ss.getRange(3,9,10,1).getValues(); ss.getRange(3,5,10,1).setValues(valuesToCopy);
Набросал реализацию для встроенного простого триггера onEdit. Общее поведение такое: в ячейку колонки "Хэштег новый" вводим значение тэга и нажимаем Enter - тэг добавляется в список колонки "Хэштег" (в ячейку слева от редактируемой), а редактируемая ячейка очищается. Дополнительные нюансы описаны в комментариях к коду. Никаких формульных вычислений и последующего промежуточного копирования "только значений" из результатов формул.
[vba]
Код
function onEdit(e) {
// если находимся на нужном листе if(e.range.getSheet().getName() == 'Архив') { var rngNew = e.range;
// если редактируем ячейку в нужной колонке "Хэштег новый" if(e.range.getSheet().getRange('E:E').getColumn() == rngNew.getColumn()) { var rngTag = rngNew.offset(0,-1);
// считываем исходные значения ячеек в колонках "Хэштег" и "Хэштег новый" var valTag = rngTag.getValue(); var valNew = rngNew.getValue();
// в колонке "Хэштег новый" можно перечислить несколько значений через ; // - все они по очереди будут добавлены в колонку "Хэштег" с попутной // проверкой на уже присутствие в списке колонки "Хэштег" valNew.split(';').forEach(function(v) {
// добавляем новое значение в список колонки "Хэштег" только в случае, если его там еще нет if(!~valTag.split(';').indexOf(v)) valTag += (valTag ? ';' : '') + v; });
// обновляем значение "Хэштег" и стираем обработанное значение "Хэштег новый" rngTag.setValue(valTag); rngNew.clearContent(); } } }
[/vba]
Набросал реализацию для встроенного простого триггера onEdit. Общее поведение такое: в ячейку колонки "Хэштег новый" вводим значение тэга и нажимаем Enter - тэг добавляется в список колонки "Хэштег" (в ячейку слева от редактируемой), а редактируемая ячейка очищается. Дополнительные нюансы описаны в комментариях к коду. Никаких формульных вычислений и последующего промежуточного копирования "только значений" из результатов формул.
[vba]
Код
function onEdit(e) {
// если находимся на нужном листе if(e.range.getSheet().getName() == 'Архив') { var rngNew = e.range;
// если редактируем ячейку в нужной колонке "Хэштег новый" if(e.range.getSheet().getRange('E:E').getColumn() == rngNew.getColumn()) { var rngTag = rngNew.offset(0,-1);
// считываем исходные значения ячеек в колонках "Хэштег" и "Хэштег новый" var valTag = rngTag.getValue(); var valNew = rngNew.getValue();
// в колонке "Хэштег новый" можно перечислить несколько значений через ; // - все они по очереди будут добавлены в колонку "Хэштег" с попутной // проверкой на уже присутствие в списке колонки "Хэштег" valNew.split(';').forEach(function(v) {
// добавляем новое значение в список колонки "Хэштег" только в случае, если его там еще нет if(!~valTag.split(';').indexOf(v)) valTag += (valTag ? ';' : '') + v; });
// обновляем значение "Хэштег" и стираем обработанное значение "Хэштег новый" rngTag.setValue(valTag); rngNew.clearContent(); } } }