Proteger Rangos en Google Sheets

Proteger rangos en Google Sheets
— by

En este artículo vemos todo lo que se puede y no se puede hacer en cuanto a proteger rangos en Google Sheets así como celdas individuales, pestañas y archivos enteros.

Aquí pueden ver el tutorial en video

Que es «proteger» rangos

Es importante tener clara la definición a la que nos referimos, porque de esto dependen los métodos o herramientas que podemos usar. Aquí algunas de las cosas a las que nos podemos referir:

  1. No poder editar nada (cambiar los datos, o las formulas de ninguna celda de ninguna pestaña)
  2. No poder editar ciertos datos.
  3. No poder ver la fórmula
  4. No poder copiar el valor.

Como la dos y la 3 son más avanzadas, yo diría que la 1 es la que buscamos en la mayoría de los casos, por lo que vamos a empezar por esa, y vamos a ver varias formas de hacerlo.

Pero antes de entrar en los detalles, es importante entender que Sheets es muy diferente a Excel y lo digo porque muchos de ustedes vienen de Excel y esperan poder hacer las cosas iguales o parecidas a Excel, y en muchas funcionalidades es así.

Pero a la hora de proteger datos hay que entender primero una de las funcionalidades básicas de Sheets: la habilidad de compartir, y más específicamente la habilidad de compartir en modo lectura o comentarios.

Aquí pueden ver todo acerca de compartir en Sheets

Ahora si podemos ver las diferentes maneras de proteger nuestros datos.

Evitar la edición de los datos totales

Hay varias maneras en que podemos evitar la edición de los datos, pero la más fácil de todas es simplemente quitando el modo «Edición» a la hora de compartir. Con esto las personas con las que comparto pueden ver todos los valores y las formulas.

Si damos permiso de «lector», nuestro usuario podrá:

  • Ver los resultados
  • Ver las fórmulas
  • Copiar y pegar
  • Imprimir

Si adicionalmente le damos permiso de «Comentador» el usuario podrá hacer comentarios adicional a lo anterior

Con este método protegemos todas las pestañas y todas las celdas

Evitar la edición de algunos rangos o celdas, o algunas pestañas

A veces podemos querer dar permiso de edición, para que los usuarios puedan ingresar ciertos datos, pero no queremos que puedan modificar las fórmulas por ejemplo.

Aquí vamos a usar la opción de «Proteger datos».

Para esto, escogemos los datos que queremos proteger y hacemos alguna de las siguientes alternativas.

Clic derecho: Proteger intervalo

Clic en la pestaña actual > Proteger Hoja

Datos > Hojas e Intervalos protegidos

Con esto nos aparece el panel de «Hojas e Intervalos Protegidos» donde podemos darle un título a nuestro intervalo, verificar nuestro intervalo y dar clic en «proteger»

Al hacer esto la primera vez me va a llevar al cuadro de permisos, y aquí puedo definir quien si puede editar esas celdas, si solo yo, o algún otro «administrador»

Al igual que al compartir como lector, el usuario puede ver las fórmulas, copiarlas y demás.

Proteger las fórmulas

A veces queremos no solo que no puedan modificar las fórmulas sino que no las puedan ver los usuarios, ni copiarlas.

La verdad es que a diferencia de Excel no hay forma de hacerlo directamente.

Pero podemos hacer un truco

El truco es tener una base fantasma

Básicamente hacer otro archivo que sea igual al original.

Esto no solo nos quitaría el problema de que puedan modificar sino que también podríamos asegurarnos que los usuarios no vean el «know-how» o el «detrás de cámaras» de nuestro archivo original. Así mismo podríamos no solo ocultar sino «eliminar» para el usuario ciertas pestañas, columnas o filas

Esto lo podemos hacer copiando y pegando como valores, pero es un problema porque cuando el original se actualice tendríamos que estar actualizando la copia. Y si tenemos muchos datos y muchas pestañas es una labor dispendiosa.

Lo que podemos hacer es hacer una copia dinámica, es decir usar formulas para que siempre esté trayendo los datos actualizados

Esto lo podemos hacer de varias maneras:

Opción 1: Referencia celda por celda

Esta es la primera que se nos ocurre. Que la celda A1 de nuestra copia referencia la celda A1 del original y después arrastrar.

El problema de esto es que Sheets no funciona como Excel en el sentido de poder vincular de manera directa archivos. En Sheets usamos la función IMPORTRANGE la cual usa la referencia como una cadena de texto, lo que quiere decir que no se podría arrastrar. Nos tocaría una por una.

Se puede hacer pero nos requiere mucho tiempo. Seria algo así:

=IMPORTRANGE(«jklsfdjklasfk»;»‘Hoja 1’!A1″)

Opción 2: Arreglo

Otra opción más sencilla es con un arreglo. También necesitamos IMPORTRANGE, pero solo necesitamos una fórmula

Un arreglo en su forma más sencilla es:

={IMPORTRANGE(«jklsfdjklasfk»;»‘Hoja 1’!A1:K»)}

Opción 3: Query

Al igual que e arreglo, solo necesitamos una fórmula, pero la ventaja adicional de Query es que podemos hacer opciones adicionales, como por ejemplo ocultar ciertas columnas, y hasta ciertas filas que cumplan con algunas condiciones.

Query en su versión más sencilla sería así:

=QUERY(IMPORTRANGE(«jklsfdjklasfk»;»‘Hoja 1’!A1:K»))

Puede que estas metodologías suenen complejas pero en realidad son una muy buena manera de mostrar información sin revelar lo que no queramos revelar.

Y si queremos que no puedan ver las fórmulas, pero al mismo tiempo puedan ingresar datos, sería más complicado. Mi recomendación sería usar formularios.

Protección para archivos de Excel

Tengan cuidado cuando estén trabajando con archivos de Excel desde Sheets porque ni les va a funcionar la protección nativa de Excel ni tampoco les permitirá acceder al menú de proteger intervalos y hojas de Sheets.

Para poder hacer esto tienen que obligatoriamente convertir el archivo a Sheets

Opciones avanzadas

Desafortunadamente Sheets no tiene tantas opciones de protección como las tiene Excel. Entre las cosas que no se pueden hacer en Sheets están;

  • Impedir imprimir
  • Protección por código
  • Protección de funcionalidades específicas como formatos, columnas

Conclusión

Como pueden ver hay varias maneras de proteger nuestros datos en Sheets. Todo depende de su objetivo final. Puede que la versatilidad no sea la misma de Excel, pero en el 0% de los casos lo podemos hacer.

Suscríbete para acceder al curso «Descubriendo el poder de Google Sheets» y empezar tu camino a la maestría de Sheets, Forms y Apps Script

Boletín

Nuestras últimas noticias en tu correo electrónico

Respuestas

  1. Avatar de Omar
    Omar

    Es posible que los valores introducidos en una celda en una fecha determinada, luego sea imposible modificarlo? Digamos que un vendedor edite una celda para reflejar que vendió 10 artículos un día determinado. Se quiere evitar que ese mismo vendedor pueda editar ésa celda en otra fecha y poner que ese día vendió más o menos de la cantidad de artículos que ya declaró que había vendido

    1. Avatar de jsguzmanb
      jsguzmanb

      Si se podría, que una vez se escriba algo, se proteja y solo el editor principal propietario lo pudiera modificar.
      Lo encuentras en detalle en el curso de proteeción en la academia
      Saludos!

  2. Avatar de M@C
    M@C

    Hay un complemento o macro que pueda generar una macro con todos los bloqueos/proteccion que tiene una sheet? para luego poder editar esa macro. Saludos

    1. Avatar de jsguzmanb
      jsguzmanb

      Hola!

      Si hay una forma de acceder a todas las protecciones para editarlas o borrarlas. Pronto sale un curso de este tema

      Saludos!

  3. Avatar de Miguel
    Miguel

    Hola.

    ¿Es posible importar protecciones de un archivo y aplicarlas en otro?

    1. Avatar de jsguzmanb
      jsguzmanb

      Hola!
      Interesante!
      Se podría intentar. Guardando las direcciones y las hojas, y pasarselas a otras
      Claramente tocaría con código
      Saludos!

  4. Avatar de Jorge
    Jorge

    Hola como estás? Gracias por tu explicación. Pero tengo un caso que no puedo resolver y tal vez con tu basta experiencia puedas sugerirme algo.
    Tengo una planilla que tiene los 365 días del año en columnas, cada columna representa un día, lunes, martes, miércoles y así hasta domingo y cada fila representa un cliente. En la celda de intersección entre el día y el cliente se pone un valor. Pero según el día hay clientes que trabajan y clientes que no. Cuando un cliente no trabaja en un día particular el color de relleno de la celda es negro, de forma tal que quién cargue la planilla sepa que ese día no habrá información del cliente.
    Me gustaría proteger los rangos de celdas negras. Por ejemplo un lunes que no hay que verificar nada el rango a bloquear es D3:D37, el martes E11:E13; E15; 17, el miércoles F4; F8; F13; F18 y así cada día tiene un rango diferente. Luego estos rangos bloqueados se repite exactamente igual todas las semanas.
    Cuando trabajaba en Excel esto era más fácil porque la propiedad de bloqueado era propia de la celda, entonces al copiarla y pegarla mantenía su bloqueo. En el caso de Sheets, la única opción que encuentro es bloquear rango por rango día por día. Algo interminable y sumamente cansador.
    Lo que estoy buscando es definir una semana «modelo» a nivel bloqueos definiendo los bloqueos del lunes, martes, miércoles, etc y luego replicar esa info por cada semana del año.
    Se te ocurre como podría hacer esto?

    Muchas gracias de antemano.

    1. Avatar de jsguzmanb
      jsguzmanb

      Hola!
      Disculpa la demora
      No se si ya resolviste, pero acabo de sacar un curso de Protecciones en la academia para automatizar este tipo de problemas
      Saludos!

  5. Avatar de Paola
    Paola

    Hola, necesito lo que pregunta el primer comentario, tengo un archivo compartido con 2 personas mas y ellos son editores tienen ese permiso, pero no les deja bloquear, como hago para que tambien puedan bloquear ya que soy la unica que puedo bloquear, siempre que intentan sale un avisito que dice que ponerse en contacto con el propietario pero yo no tengo ninguna opcion donde me deje darle permiso para bloquear celdas o columnas a algun usuario especifico asi como me deja a mi.

    1. Avatar de jsguzmanb
      jsguzmanb

      Hola!

      A que te refieres con bloquear?

      Saludos!

  6. Avatar de Nancy
    Nancy

    Hola, quisiera crear un documento en Drive en donde todos los usuarios puedan editar y cada quien pueda proteger las celdas y filas que necesiten, (serían sólo las que ellos crean y sin intentar proteger las que los demás usuarios crearon) es esto posible? Vi tu video en YouTube pero me quedó la duda. Muchas gracias.

    1. Avatar de jsguzmanb
      jsguzmanb

      Hola Nancy

      Si todos tienen permiso de edición si se podrían hacer estos rangos individuales de protección

      No le vería problema

      Saludos!

  7. Avatar de Tatiana
    Tatiana

    Hola, necesito que un grupo de celdas sólo sea editable a través de una macro y que sino se ejecuta la misma los editores no puedan editarlas ¿es esto posible?

    1. Avatar de jsguzmanb
      jsguzmanb

      Hola Tatiana

      Si es posible

      Simplemente cuando empiece tu función desproteges la hoja o el intervalo, y cuando se acabe la función la vuelves a proteger

      Pronto haré un video sobre esto.

      Un gran saludo!

  8. Avatar de Joe gaona
    Joe gaona

    Como protejo un rango si tengo una macro para guardar BD y que la macro solicite permisos para guardar desde otro usuario

    1. Avatar de jsguzmanb
      jsguzmanb

      Hola Joe

      Desafortunadamente las macros no tienen permisos per se.

      Pero estuve haciendo unas pruebas y si proteges las celdas o pestañas no va a dejar que la macro escriba cosas encima.

      La otra opción es dar permiso de lector a los otros usuarios.

      Me cuentas.

      Saludos!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Pin It on Pinterest

Share This