У меня есть следующий скрипт, который хорошо работает в документах google ->. Это не работает с множеством строк. Я угадываю из-за того, что массив продолжает увеличиваться, что отслеживает значения.Удалите повторяющиеся строки на основе значения ячейки в столбце
Мне нужен сценарий, который я могу запустить в MS EXCEL, который удалит строки, имеющие дублирующее значение в столбце. (Если столбец не является "")
Google скрипт Docs, который работает для небольших файлов:
function removeDuplicates()
{
var s = SpreadsheetApp.getActiveSheet();
var c = Browser.inputBox("Please", "Type in the column name (e.g.: A, B, etc.)", Browser.Buttons.OK_CANCEL);
var r, v;
var aValues = [];
try
{
if(c != "cancel")
{
r = 2; // first row is row two
while (r <= s.getLastRow())
{
v = s.getRange(c + r).getValue();
if(v != "")
{
if(aValues.indexOf(v) == -1)
{
aValues.push(v);
}
else
{
s.deleteRow(r);
continue;
}
}
r++;
}
Browser.msgBox("Duplicates removed!");
}
} catch (e) {Browser.msgBox("Error Alert:", e.message, Browser.Buttons.OK);}
}
Любая помощь будет оценена.
Вы пробовали данные команды ленты ► Инструменты данных ► Удалить дубликаты или у вас есть более ранняя версия Excel? Является ли это частью более широкой программы VBA? – Jeeped
Кажется, удаленные дубликаты также удаляют повторяющиеся пустые строки (что мне нужно сохранить). Это просто простая процедура, которую мне нужно иметь на нескольких листах. –
Вы, конечно, правы. Я вводил в заблуждение две операции, которые не отвечали друг на друга. (Автофильтр для непустого, а затем Удалить дубликаты не дедуплируются только для видимых ячеек) – Jeeped