Cómo bloquear / proteger celdas en hojas de cálculo de Google

9

Creé una aplicación de hoja de cálculo muy simple en Google Spreadsheet para mi madre. Pero realmente necesito bloquear / proteger la celda con fórmulas para que no pueda editarlas. Cada vez que le decía que probara nuevas versiones, sobrescribía las fórmulas.

¿Alguna idea de cómo abordar eso desde el punto de vista técnico ?

Busqué en la red y me parece que no es factible en este momento en Google Apps.

Radek
fuente

Respuestas:

9

Actualmente no es posible bloquear una celda determinada . Sin embargo, puede crear nuevas hojas en la hoja de cálculo y bloquearlas. Si realmente desea evitar que cambie las fórmulas, puede hacer que todos los resultados / fórmulas estén en una segunda hoja, haciendo referencia a los datos de la primera hoja, luego bloquee la segunda hoja para que sea de solo lectura para ella.

Para hacer referencia a los datos de una hoja en otra, use la sintaxis sheetname!range. Por ejemplo, para tomar el promedio de la columna A de sheet1 en las filas 2 a 10, usaría Average(sheet1!A2:A10).

Para agregar hojas, use el +letrero en la parte inferior derecha de la hoja de cálculo. Puede cambiar y cambiar el nombre de las hojas con las pestañas y las flechas desplegables en la parte inferior izquierda de la hoja de cálculo.

captura de pantalla de Google Docs

nhinkle
fuente
Muy, muy buena explicación. Gracias. No estoy seguro de si es utilizable en caso de que tenga una tabla simple y desee calcular sumas de columnas y filas. El usuario generalmente quiere ver las sumas y los datos en una pantalla. Bueno, si ella sigue eliminando fórmulas, tengo una solución para eso :-)
Radek
Feliz de ser de ayuda. También hay una función llamada importrangeque puede importar una sección completa de una hoja a otra. Con eso, puede importar los datos completos de la primera hoja en la segunda hoja y luego mostrar todas las ecuaciones allí cerca de los datos a los que corresponden. Google tiene documentación para ello , que puede resultarle útil. Todavía no sería una solución perfecta, pero estaría más cerca ya que mostraría todos los resultados en una página con los datos originales al menos.
nhinkle
parece que esta es la única solución en este momento ... gracias
Radek
No hay problema. Si finalmente encuentra una solución mejor, actualice su publicación; Me interesaría saberlo.
nhinkle
4

Descubrí que si crea un comentario adjunto a las celdas que no deberían editarse, puede hacer que le avise a alguien cuando pase el mouse sobre la celda para editarlo. Por supuesto, en realidad no bloquea la celda, pero con suerte, la cantidad de veces que aparece la nota aparece y tal vez tu madre deje de cambiar esos números manualmente.

Creo que solo puede agregar comentarios una celda a la vez, por lo que dependiendo de cuántas celdas sean fórmulas, esta solución puede no ser viable.


fuente
tienes razón en que no puedo usarlo en este caso ya que las fórmulas están en toda la columna, pero será una gran solución en algunos casos ...
Radek
4

La respuesta según hoy es "Rangos con nombre y protegidos" en el menú Datos. Funciona sin problemas

Radek
fuente
3
La limitación de esta solución es que el propietario de la hoja de cálculo no puede bloquear las celdas contra sí misma. Para resolver el problema del OP, el OP también debe ser dueño de la hoja de cálculo y compartirla con mamá.
MetaEd
No puedo ver ninguna limitación a esta solución. ¿Podrías dar más detalles? El cambio de propietario también protege el rango de células contra sí mismo.
Radek
3

Puede usar el script de aplicaciones de Google para escribir su propio mecanismo de bloqueo en javascript.

Por ejemplo:

Digamos que tiene una fórmula en la columna B y es igual al valor en la columna A + 1. Si observamos la celda (B3), debería tener una fórmula de "= A3 + 1"

Para escribir una secuencia de comandos para proteger esto de modificaciones, escribiría algo como esto usando el Editor de secuencias de comandos:

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!");
  }
}

Si lo hace funcionar cada vez que alguien edita una celda en la columna B, el script volverá a colocar automáticamente su fórmula y le dará un mensaje de advertencia.

Yuzhy
fuente
3

Una solución alternativa es utilizar la validación de datos.

Vaya al menú Datos, haga clic en validación ..., luego defina su rango de celdas que necesita "proteger". Ej: SheetA!F2:F9999. Luego seleccione Criterios: Texto, igual. Luego ingrese en el cuadro algo como: "= *" sin las comillas. Desmarca la casilla "permitir datos no válidos ...". Salvar.

Esto solo debería permitir al usuario ingresar un valor que comience con = signo (que es el comienzo de su fórmula para proteger). Si ingresan el signo =, pueden modificar esa celda.

El asterisco permite que cualquier cosa después de = sea válida. Puede especificarlo más para protegerlo más: Ej: Texto, igual =sum(*), o =AVG(B*:D*), etc.

Tu ir
fuente
1

Intente hacer que los cuadros donde se supone que ingrese el texto sean de un color diferente y dígale que escriba solo en los cuadros de colores.

Christine Kwasnicki
fuente
1

Solución simple de cuando Excel tenía el mismo problema:

Otra forma de hacerlo es a través de Validación de datos. Después de tener una celda poblada con el contenido deseado,

Elija Validación de datos y use la opción Personalizada. Para la fórmula ingrese=""

Luego seleccione "Rechazar entrada".

user2330038
fuente
0

En Microsoft Excel puedo bloquear toda la hoja y luego desbloquear selectivamente celdas o rangos individuales.

En las hojas de cálculo de Google, bloqueo todas las celdas en uno o más rangos separados, excepto las celdas que deben estar disponibles para la entrada de otros usuarios. Vea este ejemplo de una hoja de Google que hice hoy: muestra

Una variación de Excel es que todas las celdas bloqueadas en la hoja de Google tienen franjas diagonales grises como fondo.

usuario65321
fuente