моя компания перешла на управление генерацией потенциальных клиентов в Google Sheets, и мы пытаемся сделать процесс In-Sheets более эффективным.Вот пример листа: https://docs.google.com/spreadsheets/d/1MrJiHDd7MUXp9eWspMR8gqjA_fBIv9w5vfos3oJqDxI/edit?usp=sharing.
Цель - это скрипт, который можно запустить из меню, которое выполняет следующее:
- Копирование данных из Данные
- Вставить только значения в Пункт назначения в строке после последнего с данными
- Очистить Данные набор данных (в Data есть некоторые формулы, использующие сторонний API, который я хочу запускать только один раз.
- В Destination объедините строки, чтобы удалить дубликаты, но сохраняя уникальные значения, используя ","в качестве разделителя
Re: 4, вот пример:
amomsvillage.com A Mom's Village Frank test@amomsvillage.com test2@amomsvillage.com
amomsvillage.com A Mom's Village Gary test@amomsvillage.com test3@amomsvillage.com
Становится:
amomsvillage.com A Mom's Village Frank,Gary test@amomsvillage.com test2@amomsvillage.com,test3@amomsvillage.com
Ниже приведена формула, которую я использую для 1-3, который в основном работает (единственная проблема в том, что он не получает фактическую последнюю строку данных, т. Е. Там, где А начинает иметь пробелы).Тем не менее, мне нужно отдельно запустить Combine Rows PowerTools для достижения 4, когда было бы здорово сделать за один шаг. [Цель] показывает, как должны выглядеть данные после 1-4.
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('Functions')
.addItem('Copy Paste', 'moveValuesOnly')
.addToUi();
}
function moveValuesOnly() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var source = ss.getRange('Data!A2:E');
var destSheet = ss.getSheetByName("Destination");
var lastRow = destSheet.getLastRow();
destSheet.insertRowAfter(lastRow);
source.copyTo(destSheet.getRange(lastRow + 1,1),{contentsOnly: true});
source.clear();
}
Есть некоторые дополнительные улучшения, которые я хотел бы сделать, но сначала я хочу получить приведенное выше!