Jak zablokować / chronić komórki w arkuszach kalkulacyjnych Google

9

Dla mojej mamy stworzyłem bardzo prostą aplikację do obsługi arkuszy kalkulacyjnych w arkuszu kalkulacyjnym Google. Ale naprawdę muszę zablokować / chronić komórkę za pomocą formuł, aby nie mogła ich edytować. Za każdym razem, gdy kazałem jej wypróbować nowe wersje, zastępowała formuły.

Masz pomysł, jak podejść do tego z technicznego punktu widzenia ?

Przeszukałem sieć i wydaje mi się, że obecnie nie jest to możliwe w Google Apps.

Radek
źródło

Odpowiedzi:

9

Obecnie nie można zablokować danej komórki . Można jednak tworzyć nowe arkusze w arkuszu kalkulacyjnym i blokować je. Jeśli naprawdę chcesz uniemożliwić jej zmianę formuł, możesz mieć wszystkie wyniki / formuły w drugim arkuszu, odnoszącym się do danych z pierwszego arkusza, a następnie zablokować drugi arkusz, aby był dla niej tylko do odczytu.

Aby odwoływać się do danych z jednego arkusza na drugim, użyj składni sheetname!range. Na przykład, aby wziąć średnią z kolumny A arkusza 1 w rzędach od 2 do 10, należy użyć Average(sheet1!A2:A10).

Aby dodać arkusze, użyj +znaku w prawym dolnym rogu arkusza kalkulacyjnego. Możesz przełączać się między arkuszami i zmieniać ich nazwy za pomocą kart i strzałek rozwijanych w lewym dolnym rogu arkusza kalkulacyjnego.

zrzut ekranu z Dokumentów Google

nhinkle
źródło
bardzo, bardzo miłe wytłumaczenie. Dziękuję Ci. Nie jestem pewien, czy jest to użyteczne, jeśli masz prostą tabelę i chcesz obliczyć sumy kolumn i wierszy. Użytkownik zwykle chce zobaczyć sumy i dane na jednym ekranie. Cóż, jeśli nadal usuwa formuły, mam na to rozwiązanie :-)
Radek,
Cieszę się, że mogę pomóc. Istnieje również funkcja o nazwie, importrangektóra może importować całą sekcję jednego arkusza do innego. Za pomocą tego możesz zaimportować dane z pierwszego arkusza do drugiego arkusza, a następnie wyświetlić wszystkie równania znajdujące się w pobliżu danych, które odpowiadają. Google posiada dokumentację , która może okazać się przydatna. Nadal nie byłoby to idealne rozwiązanie, ale byłoby bliżej, ponieważ wyświetlałoby wszystkie wyniki na jednej stronie z przynajmniej oryginalnymi danymi.
nhinkle
wygląda na to, że w tej chwili jest to jedyne rozwiązanie .... dziękuję
Radek,
Nie ma problemu. Jeśli w końcu znajdziesz lepsze rozwiązanie, zaktualizuj swój post; Chciałbym o tym usłyszeć.
nhinkle
4

Dowiedziałem się, że jeśli utworzysz komentarz dołączony do komórek, których nie należy edytować, możesz go ostrzec, gdy najedziesz myszką na komórkę, aby go edytować. To oczywiście nie blokuje komórki, ale mam nadzieję, że dostatecznie wiele razy zobaczysz komunikat i może twoja mama przestanie ręcznie zmieniać te liczby.

Myślę, że możesz dodawać komentarze tylko jedną komórkę na raz, więc w zależności od liczby komórek w formułach to rozwiązanie może nie być wykonalne.


źródło
masz rację, że nie mogę go użyć w tym przypadku, ponieważ formuły są w całej kolumnie, ale w niektórych przypadkach będzie to świetne rozwiązanie ...
Radek
4

Na dzień dzisiejszy odpowiedź brzmi „Zakresy nazwane i chronione” w menu Dane. Działa płynnie.

Radek
źródło
3
Ograniczeniem tego rozwiązania jest to, że właściciel arkusza kalkulacyjnego nie może zablokować komórek przed sobą. Aby rozwiązać problem PO, OP musi również posiadać arkusz kalkulacyjny i udostępnić go mamie.
MetaEd
Nie widzę żadnych ograniczeń tego rozwiązania. Czy mógłbyś opracować? Zmiana właściciela chroni także zakres komórek przed sobą.
Radek
3

Możesz użyć skryptu aplikacji Google, aby napisać własny mechanizm blokujący w javascript.

Na przykład:

Powiedzmy, że masz formułę w kolumnie B i jest ona równa wartości w kolumnie A + 1. Jeśli spojrzymy na komórkę (B3), powinna ona zawierać formułę „= A3 + 1”

Aby napisać skrypt chroniący to przed modyfikacją, napisz coś takiego za pomocą edytora skryptów:

function onEdit(event)
{
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = SpreadsheetApp.getActiveSheet();
  var CellRow = SpreadsheetApp.getActiveRange().getRow();
  var CellColumn = SpreadsheetApp.getActiveRange().getColumn();

  if (CellColumn == 2){
    sheet.getRange(CellRow, CellColumn).setFormula("=A"+CellRow+"+1");
    Browser.msgBox("DON'T MESS WITH THE FORMULAS!");
  }
}

Jeśli uruchomisz go za każdym razem, gdy ktoś edytuje dowolną komórkę w kolumnie B, skrypt automatycznie ponownie włączy formułę i wyświetli ostrzeżenie.

Yuzhy
źródło
3

Obejściem tego problemu jest sprawdzanie poprawności danych.

Przejdź do menu Dane, kliknij opcję sprawdzanie poprawności ..., a następnie określ zakres komórek, które chcesz „chronić”. Np SheetA!F2:F9999. : Następnie wybierz Kryteria: Tekst, równa się. Następnie wpisz w polu coś takiego: „= *” bez cudzysłowów. Odznacz pole „zezwalaj na nieprawidłowe dane ...”. Zapisać.

Powinno to pozwolić tylko użytkownikowi wprowadzić wartość zaczynającą się od znaku = (który jest początkiem formuły do ​​ochrony). Jeśli wprowadzą znak =, mogą zmodyfikować tę komórkę.

Gwiazdka pozwala, aby cokolwiek po = było ważne. Możesz podać go dalej, aby go bardziej chronić: Np .: Tekst, równość =sum(*)lub =AVG(B*:D*)itd.

Tu Go
źródło
1

Postaraj się, aby pola, w których ma ona wprowadzać tekst, miały inny kolor i powiedz jej, aby pisała tylko w kolorowych polach.

Christine Kwasnicki
źródło
1

Proste rozwiązanie z powrotem, gdy Excel miał ten sam problem:

Innym sposobem na to jest weryfikacja danych. Po zapełnieniu komórki żądaną zawartością

Wybierz opcję Sprawdzanie poprawności danych i użyj opcji Niestandardowa. Aby wprowadzić formułę, wprowadź=""

Następnie wybierz „Reject input”.

użytkownik2330038
źródło
0

W programie Microsoft Excel mogę zablokować cały arkusz, a następnie selektywnie odblokować poszczególne komórki lub zakresy.

W Arkuszach kalkulacyjnych Google blokuję wszystkie komórki w co najmniej jednym oddzielnym zakresie, z wyjątkiem komórek, które mają być dostępne do wprowadzania przez innych użytkowników. Zobacz ten przykład arkusza Google, który dzisiaj utworzyłem: próbka

Jedną z odmian programu Excel jest to, że wszystkie w arkuszu Google wszystkie zablokowane komórki mają szare ukośne paski jako tło.

użytkownik65321
źródło