Utwórz bibliotekę Apps Script, której możesz używać do usuwania zduplikowanych wierszy w danych arkusza kalkulacyjnego.
Cele
- Skonfiguruj skrypt.
- Uruchom skrypt.
Wymagania wstępne
Aby użyć tego przykładu, musisz spełnić te wymagania wstępne:
- Konto Google (w przypadku kont Google Workspace może być wymagana zgoda administratora).
- przeglądarkę internetową z dostępem do internetu,
Konfigurowanie skryptu
Aby utworzyć bibliotekę, wykonaj te czynności:
- Zaloguj się na konto Google.
- Aby otworzyć edytor skryptów, wejdź na stronę script.google.com.
- W lewym górnym rogu kliknij Nowy projekt.
Usuń cały kod z edytora skryptów i wklej poniższy kod.
Kliknij Zapisz
.
W lewym górnym rogu kliknij Projekt bez tytułu.
Nazwij skrypt Usuń zduplikowane wiersze i kliknij Zmień nazwę.
Kliknij Wdróż > Nowe wdrożenie.
Obok pozycji Wybierz typ kliknij Włącz typy wdrożenia
> Biblioteka.
Wpisz opis biblioteki, np. Usuń zduplikowane wiersze. Każda osoba, która ma dostęp do biblioteki, może wyświetlić ten opis.
Kliknij Wdróż.
Po lewej stronie kliknij Ustawienia projektu
.
W sekcji Identyfikatory skopiuj identyfikator skryptu, aby użyć go w kolejnym kroku.
Uruchamianie skryptu
Aby używać biblioteki, musisz mieć co najmniej uprawnienia do wyświetlania jej projektu Apps Script. Jako twórca biblioteki masz wymagane uprawnienia do korzystania z niej. Jeśli chcesz umożliwić innym osobom korzystanie z biblioteki, przyznaj im uprawnienia do wyświetlania projektu Apps Script.
Aby korzystać z biblioteki, wykonaj te czynności:
- Otwórz arkusz kalkulacyjny w Arkuszach Google zawierający dane z duplikatami wierszy. Aby użyć przykładowego arkusza kalkulacyjnego, utwórz kopię arkusza Sample duplicate rows.
- Kliknij Rozszerzenia > Apps Script.
- Obok opcji Biblioteki kliknij Dodaj bibliotekę .
- W sekcji Identyfikator skryptu wklej identyfikator skryptu z projektu biblioteki Apps Script skopiowany w poprzedniej sekcji.
- Kliknij Wyszukaj.
- W sekcji Wersja wybierz 1.
- Kliknij Dodaj.
Usuń cały kod z edytora skryptów i wklej poniższy kod.
function runLibrary() { Removeduplicaterows.removeDuplicates(); }
W menu funkcji wybierz runLibrary.
Kliknij Wykonaj.
Wróć do arkusza, aby wyświetlić zaktualizowane dane bez zduplikowanych wierszy.
Sprawdź kod
Aby sprawdzić kod Apps Script tego rozwiązania, kliknij Wyświetl kod źródłowy poniżej:
Wyświetl kod źródłowy
Najpierw skrypt wykonuje jedno wywołanie arkusza kalkulacyjnego, aby pobrać wszystkie dane. Możesz odczytywać arkusz wiersz po wierszu, ale operacje JavaScriptu są znacznie szybsze niż komunikacja z innymi usługami, takimi jak Arkusze. Im mniej połączeń wykonasz, tym szybciej to zrobisz. Jest to ważne, ponieważ każde wykonanie skryptu ma maksymalny czas działania wynoszący 6 minut.
Zmienna data
to dwuwymiarowa tablica JavaScript, która zawiera wszystkie wartości w arkuszu. newData
to pusta tablica, w której skrypt umieszcza wszystkie niepowtarzające się wiersze.
Pierwsza pętla for
iteruje po każdym wierszu w data
dwuwymiarowej tablicy. W przypadku każdego wiersza druga pętla sprawdza, czy w tablicy newData
istnieje już inny wiersz z pasującymi danymi. Jeśli nie jest duplikatem, wiersz jest umieszczany w tablicy newData
.
Na koniec skrypt usuwa dotychczasową zawartość arkusza i wstawia zawartość tablicy newData
.
Reguły przekształcania
Możesz dowolnie edytować bibliotekę, aby dostosować ją do swoich potrzeb. Poniżej znajdziesz opcjonalną modyfikację.
Usuwanie wierszy z pasującymi danymi w niektórych kolumnach
Zamiast usuwać wiersze, które w całości pasują do siebie, możesz usunąć wiersze z pasującymi danymi tylko w jednej lub dwóch kolumnach. Aby to zrobić, możesz zmienić instrukcję warunkową.
W przykładowym kodzie zaktualizuj ten wiersz:
if(row.join() == newData[j].join()){ duplicate = true; }
Zastąp ten wiersz tym kodem:
if(row[0] == newData[j][0] && row[1] == newData[j][1]){ duplicate = true; }
Powyższy warunek znajduje duplikaty za każdym razem, gdy 2 wiersze mają te same dane w pierwszej i drugiej kolumnie arkusza.
Współtwórcy
Ten przykład został utworzony przez Romaina Vialarda, eksperta Google ds. deweloperów. Obserwuj Romaina na Twitterze: @romain_vialard.
Ten przykład jest obsługiwany przez Google przy pomocy ekspertów Google ds. programowania.