← Volver al blog

n8n y Google Sheets: buscar coincidencias por ID y actualizar columnas específicas

Crea un flujo de n8n con Google Sheets que compruebe IDs, actualice columnas específicas y envíe a revisión los casos sin coincidencias o con duplicados.

Un bolígrafo rosa apunta a una columna de un registro en papel mientras unas etiquetas con IDs ambiguos esperan en una bandeja de revisión.

Comprobado con las fuentes citadas el .

Prepara tu integración de n8n con Google Sheets

Este tutorial de n8n con Google Sheets propone un flujo de práctica controlado: recibir una solicitud de actualización, contar las coincidencias exactas del ID, actualizar automation_status solo si hay una coincidencia única y añadir las excepciones a una hoja de revisión independiente. Los pasos y el código son una propuesta didáctica, con criterios de aceptación más adelante; no se aportan resultados de una ejecución real.

Empieza con un espacio de trabajo de n8n, una credencial de Google Sheets ya operativa y una copia de una hoja de cálculo para practicar. La creación de credenciales, la programación en producción, el procesamiento por lotes, el escalado y la optimización de cuotas quedan fuera del alcance. Prepara los siguientes datos de prueba antes de construir el flujo. La tabla Records de ejemplo ofrece datos sugeridos para practicar: conserva los IDs como texto. Envía cuatro solicitudes por separado, una por ejecución, con los valores A-001, A-002, A-999 y una cadena vacía en record_id, todas con automation_status establecido en ready. No incluyas A-999 en Records.

Diseño sugerido de las hojas de práctica
UbicaciónCamposFinalidad
Hoja Recordsrecord_id, automation_status, team_notesDatos operativos para practicar
Hoja Reviewrequested_id, proposed_value, classification, match_countRevisión de excepciones
Solicitudrecord_id, automation_statusUna actualización propuesta
Tabla Records de ejemplo: datos sugeridos para practicar
record_idautomation_statusteam_notes
A-001pendingConfirmar la dirección de entrega
A-002pendingA la espera de finanzas
A-002on_holdLlamar antes del envío

Creemos que conviene decidir qué columnas controla la automatización antes de conectar un nodo de escritura: facilita que un compañero revise el cambio previsto.

1. Prepara una solicitud y lee las filas

Una solicitud en papel, un registro y un sobre vacío representan el paso de lectura de n8n con Google Sheets y su ruta para resultados vacíos.
Una sola solicitud y una pequeña hoja de práctica mantienen manejable la etapa de lectura.

Usa identificadores de texto estables en record_id. Este ejercicio compara el texto de forma exacta: sin eliminar espacios, cambiar mayúsculas o minúsculas ni convertir a números. Por ejemplo, A-001 es distinto de a-001. Leer todas las filas permite mantener sencillo este pequeño ejercicio de práctica. Configura los primeros nodos como se indica a continuación.

  1. Añade Manual Trigger y, después, Edit Fields con el nombre Request.
  2. En Request, establece record_id en A-001 y automation_status en ready. Mantén una sola solicitud por ejecución.
  3. Añade el nodo Google Sheets con Get Row(s). Selecciona la credencial existente, el documento y la hoja Records; deja los filtros de lectura sin configurar.
  4. En Settings del nodo de lectura, activa Always Output Data.

La documentación de n8n describe la selección de credenciales existentes y la recuperación predeterminada de todas las filas con Get Row(s). Always Output Data genera un elemento vacío cuando un nodo no devuelve datos; el código de coincidencias debe excluir ese elemento de relleno.

Sources: n8n-docs/docs/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/sheet-operations.md at main · n8n-io/n8n-docs · GitHub, n8n-docs/docs/build/understand-workflows/workflow-components/work-with-nodes.md at main · n8n-io/n8n-docs · GitHub, n8n-docs/docs/integrations/builtin/core-nodes/n8n-nodes-base.set.md at main · n8n-io/n8n-docs · GitHub

2. Cuenta las coincidencias y dirige la solicitud

Unas compuertas de coincidencia separan la solicitud entre una ruta de actualización por coincidencia única y otra de revisión de excepciones.
El enrutamiento sugerido separa las coincidencias únicas de las solicitudes que necesitan revisión.

Añade un nodo Code después de la lectura y selecciona JavaScript, Run Once for All Items. n8n permite acceder a todos los elementos de entrada y hacer referencia al primer elemento de un nodo por su nombre. Introduce este código propuesto para el tutorial:

const request = $('Request').first().json; const id = request.record_id; const valid = typeof id === 'string' && id.trim().length > 0; const rows = $input.all().map(item => item.json).filter(row => Object.prototype.hasOwnProperty.call(row, 'record_id')); const count = valid ? rows.filter(row => typeof row.record_id === 'string' && row.record_id === id).length : 0; return [{ json: { requested_id: id ?? '', proposed_value: request.automation_status, classification: !valid ? 'invalid' : count === 1 ? 'unique' : count === 0 ? 'missing' : 'duplicate', match_count: count } }];

Añade un nodo Switch con reglas para classification igual a unique, missing, duplicate e invalid. Activa Extra Output como salida alternativa. Estas clasificaciones son convenciones de este artículo. Conecta unique a la rama de actualización; conecta las demás salidas y la salida alternativa a la revisión.

Flujo sugerido de actualización y revisión: 1. Leer; 2. Clasificar; 3. Dirigir; 4. Verificar

En nuestra opinión, una clasificación inesperada debe enviarse a revisión en lugar de a una ruta de escritura. Así, la salida alternativa responde a una decisión deliberada.

Sources: Using the Code node, n8n-docs/docs/build/work-with-data/transform-data/expression-reference/nodeinputdata.md at main · n8n-io/n8n-docs · GitHub, n8n-docs/docs/build/work-with-data/reference-data/reference-previous-nodes.md at main · n8n-io/n8n-docs · GitHub, n8n-docs/docs/integrations/builtin/core-nodes/n8n-nodes-base.switch.md at main · n8n-io/n8n-docs · GitHub

3. Limita la escritura y añade las excepciones

Un rodillo ancho y un bolígrafo fino contrastan la escritura sin restricciones con las actualizaciones de columnas específicas.
Los mapeos explícitos indican qué columnas debe cambiar la automatización.

En la rama unique, configura el nodo Google Sheets de n8n siguiendo los pasos de abajo. Update Row actualiza filas existentes y el mapeo manual especifica columnas individuales. Edit Fields puede descartar los campos que no se hayan establecido explícitamente.

  1. Añade Edit Fields a la rama unique. Establece record_id a partir de requested_id y automation_status a partir de proposed_value.
  2. Activa la opción que descarta los demás campos de entrada.
  3. Añade Google Sheets Update Row para la hoja Records y selecciona record_id como columna de coincidencia.
  4. Elige Map Each Column Manually. Mapea solo record_id y automation_status; no uses Append or Update Row.

Omite team_notes por completo; elimina su mapeo en lugar de dejarlo vacío. Las pruebas de implementación aportadas de la rama master muestran que el mapeo manual de las versiones 4 y posteriores del nodo Google Sheets convierte los valores mapeados null o undefined en cadenas vacías. Otra función auxiliar omite las propiedades null o undefined que recibe, por lo que el mapeo previo importa. La documentación no tiene fecha y la implementación no está fijada a una versión concreta; las versiones instaladas y las etiquetas de la interfaz pueden variar.

Para la rama de revisión, usa Google Sheets Append Row en la hoja Review. Mapea manualmente requested_id, proposed_value, classification y match_count desde la salida de clasificación. Append Row añade una fila al final; este procedimiento de revisión es nuestro diseño sugerido, no una función integrada de revisión de excepciones.

Sources: n8n-docs/docs/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/sheet-operations.md at main · n8n-io/n8n-docs · GitHub, n8n-docs/docs/integrations/builtin/core-nodes/n8n-nodes-base.set.md at main · n8n-io/n8n-docs · GitHub, n8n/packages/nodes-base/nodes/Google/Sheet/v2/helpers/GoogleSheet.ts at master · n8n-io/n8n · GitHub, n8n/packages/nodes-base/nodes/Google/Sheet/v2/actions/sheet/update.operation.ts at master · n8n-io/n8n · GitHub

4. Verifica los cambios y resuelve problemas

Dos tiras de registro y cuatro bandejas de datos de prueba ayudan a comprobar las actualizaciones y la conservación de las notas del equipo.
Compara el contenido anterior y posterior en los casos de aceptación sugeridos.

Anota team_notes antes de cada ejecución, ejecuta el flujo y vuelve a leer la hoja. Usa estos criterios de aceptación sugeridos para tu flujo de n8n con Google Sheets.

Criterios de aceptación sugeridos, no resultados observados
SolicitudHoja RecordsHoja Review
ID únicoSolo cambia automation_status; team_notes se conservaSin entrada
ID sin coincidenciasSin cambiosEntrada missing, recuento 0
ID duplicadoAmbas filas coincidentes permanecen sin cambiosEntrada duplicate, recuento de coincidencias
ID vacíoSin cambiosEntrada invalid, recuento 0

Si obtienes resultados inesperados, revisa Executions y usa Execute step para inspeccionar nodos individuales. Comprueba el documento y la hoja seleccionados, la ubicación de los encabezados y los datos, los tipos de los IDs, la salida de clasificación y los mapeos de escritura. Si sustituyes la lectura de todas las filas por una lectura filtrada, selecciona explícitamente Return All Matches: de lo contrario, la documentación de n8n indica que solo se devuelve el primer resultado coincidente.

Definir qué columnas controla la automatización reduce el alcance de la escritura, pero las fuentes aportadas no acreditan garantías transaccionales de unicidad, bloqueo ni detección de conflictos entre la búsqueda y la actualización. Por tanto, las ediciones simultáneas de celdas controladas por la automatización pueden quedar fuera de la protección de este flujo de práctica.

Sources: Sheet Within Document operations | Nodes | n8n Docs, n8n-docs/docs/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/sheet-operations.md at main · n8n-io/n8n-docs · GitHub, n8n-docs/docs/build/understand-workflows/workflow-components/work-with-nodes.md at main · n8n-io/n8n-docs · GitHub, n8n-docs/docs/build/flow-logic/handle-errors-gracefully.md at main · n8n-io/n8n-docs · GitHub

Ponlo en práctica

Retos prácticos de n8n

Elige un reto y construye un workflow que funcione en tu propio entorno de n8n, con cinco pistas progresivas por reto.

Prueba un reto práctico

Para tu equipo

Programas de formación en n8n a medida para un equipo o departamento, en tu propia instancia de n8n y con tus herramientas y datos.

Formación para tu equipo

Evaluación de habilidades de n8n

Un cuestionario gratuito de unos 20 minutos, en inglés: 30 preguntas en 10 áreas y un nivel de principiante a experto. En AI Adoption Score, otro proyecto del autor de este sitio.

Descubre tu nivel de n8n