Una lista de supermercado siempre es práctica, útil y sencilla. Si somos planeadores y miramos a futuro en la semana, podemos listar todo lo que necesitaremos ya sea para cocinar o limpiar o reunirnos con los amigos. Hoy, usaremos Google Sheets, casillas de verificación y una simple fórmula, para simplemente agregar lo necesario a una lista principal. Si estás iniciando apenas en hojas de cálculo de Google Sheets, este tutorial es perfecto para ti. No todo tiene que ser código y fórmulas larguísimas. 😉

Preparando la hoja

OK, primero vamos a preparar la hoja de cálculo de Google Sheets en un documento nuevo donde crearemos nuestra lista de supermercado. Para este diseño tendremos dividida la hoja por los días de la semana: de lunes a domingo una lista de artículos, que debe estar acompañada de su columna de checkboxes o casillas de verificación correspondiente.

Para agregar casillas de verificación solamente seleccionamos el rango en donde las queremos y vamos al menú Insertar – Casilla de verificación. Yo agregué unas 10 por día pero puedes agregar todas las que quieras.

Agregar casillas de verificación en sheets

Ahora solo llenamos la semana con cosas que usualmente compramos en el supermercado y el día en que las usaremos. Por ejemplo, si el miércoles desayunamos huevo, lo agregamos para ese día. No importa si repetimos algunas cosas.

Lista de supermercado por semana preliminar

Fórmula para crear lista de súper

Lo que sigue es crear la lista del supermercado dinámicamente a partir de las cosas que tengamos elegidas en la lista dividida por día de la semana. Para lograr esto, usaremos la fórmula FILTER.

FILTER nos permite tomar un rango y aplicarle una condición para solamente obtener los datos que cumplan con esa condición. Tal cual, un filtro. 😃

Entonces en nuestro caso en la celda A2 escribimos FILTER, luego el rango de C2:C como nuestro rango o intervalo original, y B2:B como la condición para aplicar al rango. Esto funciona porque las casillas de verificación solamente tienen valor de TRUE (VERDADERO) o FALSE (FALSO), entonces coincidirá perfectamente cada elemento con su casilla.

=FILTER(C2:C,B2:B)
Lenguaje del código: Excel (excel)
Fórmula FILTER

Eso creará la lista tomando en cuenta solamente el lunes. Para considerar los demás días, debemos agregar los rangos correspondientes a las cosas de cada día de la semana. Como no son rangos contiguos, tenemos que enlistarlos dentro de llaves y separarlos usando ; (punto y coma). Si tus fórmulas no coinciden con lo que ves ahora, puede ser que tu configuración regional y de idioma sea diferente a la mía y los separadores de argumentos de fórmula también usen ; (punto y coma). Si este es el caso no te preocupes, solamente ajusta tu fórmula o tu configuración y sigue adelante. 😉

Entonces, en vez de C2:C, tendremos los rangos de {C2:C;E2:E;G2:G;I2:I;K2:K;M2:M;O2:O} como datos de entrada y {B2:B;D2:D;F2:F;H2:H;J2:J;L2:L;N2:N} como condición para FILTER.

=FILTER({C2:C;E2:E;G2:G;I2:I;K2:K;M2:M;O2:O},{B2:B;D2:D;F2:F;H2:H;J2:J;L2:L;N2:N})
Lenguaje del código: Excel (excel)

Agregar más rangos a fórmula FILTER

Como puedes darte cuenta, esto aunque sí funciona, tiene algunas fallas. Por ejemplo, si no elegimos nada, nos mostrará un error. Eso lo corregimos fácilmente encapsulando la fórmula en IFERROR

=IFERROR(FILTER({C2:C;E2:E;G2:G;I2:I;K2:K;M2:M;O2:O},{B2:B;D2:D;F2:F;H2:H;J2:J;L2:L;N2:N}))
Lenguaje del código: Excel (excel)

Error en FILTER
Solucionar error en FILTER con IFERROR

Por otro lado, si más bien elegimos cosas repetidas dentro de la semana, se mostrarán dos veces. Eso también lo arreglamos fácilmente usando la fórmula UNIQUE

=IFERROR(UNIQUE(FILTER({C2:C;E2:E;G2:G;I2:I;K2:K;M2:M;O2:O},{B2:B;D2:D;F2:F;H2:H;J2:J;L2:L;N2:N})))
Lenguaje del código: Excel (excel)

Solucionar repetidos con UNIQUE

Por último, fíjate cómo si por error elegimos alguna cosa vacía, también se agrega a la lista y esto no lo queremos así. Para corregir eso, hay que volver a pasar el rango original por el filtro pero ahora con la condición de que no estén vacías las celdas. Pero para no tener que repetir ese rango original, usamos la fórmula LET para nombrar temporalmente este rango como “cosas” y el rango de las casillas como “checks”, y así simplificamos un poco la apariencia de la lógica final:

=LET(
    cosas, {C2:C;E2:E;G2:G;I2:I;K2:K;M2:M;O2:O},
    checks, {B2:B;D2:D;F2:F;H2:H;J2:J;L2:L;N2:N},
    IFERROR(UNIQUE(FILTER(cosas,checks,cosas<>"")))
)
Lenguaje del código: Excel (excel)

Error elementos vacíos con FILTER
Solucionar vacíos con FILTER y LET (fórmula final)

Ahora sí, la lista se crea automáticamente dependiendo de lo que tengamos seleccionado o no. ¡Genial, ¿no? 😃

Dando formato a la lista

La funcionalidad ya está lista, entonces de aquí en adelante tu creatividad es el límite para hacer este proyecto un poco más bonito. Puedes, por ejemplo, combinar las celdas de encabezado y cambiarles la fuente, la alineación y la altura de la fila para darle más importancia. Algunos colores por aquí y por allá también se valen. 😏

Lista de supermercado en Google Sheets o Excel (diseño final)

¡Y listo! Ahora ya sabes cómo hacer una práctica lista para el supermercado, que además puedes compartir para editar al mismo tiempo con quien quieras porque al final del día se trata de un documento de Google Drive.

Plantilla terminada para descargar

Guía en video

Si tienes dudas puedes ver esta misma guía explicada en video

¡Espero que te haya sido útil esta guía! No olvides seguirnos en YouTube para más tips, trucos y guías de productividad.

Aprende Sheets: Curso práctico de Hojas de cálculo de Google
Aprende Sheets: Curso práctico de Hojas de cálculo de Google