Find Excel Cell
Find Excel Cell
Sección titulada «Find Excel Cell»Tipo: excel-find-cell · Paquete: Excel Activities v1.0.6 · Salida: Dictionary
Busca un valor en la hoja y devuelve la ubicación de la primera celda que coincide (dirección, fila y columna). Es el equivalente al “Buscar” de Excel. Útil para localizar un encabezado, encontrar dónde está un dato concreto, o ubicar una fila por su identificador antes de leer o escribir alrededor.
Cómo funciona
Sección titulada «Cómo funciona»Recorre el rango usado de la hoja (o el searchRange indicado) fila por fila, de izquierda a derecha, y devuelve la primera celda que coincide con value según el matchType. Si no encuentra nada, devuelve nulo.
- La comparación es de texto y sin distinguir mayúsculas: se compara
valueconvertido a texto con el contenido de cada celda como texto. - Los números y fechas de las celdas se comparan en el formato regional del robot (
1500,5en un equipo en español). Para números enteros y textos funciona igual en cualquier equipo. - Las fórmulas se comparan por su resultado.
Acepta session o path — ver los dos modos. Solo lee: en modo rápido no modifica el archivo.
Parámetros requeridos
Sección titulada «Parámetros requeridos»| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
value | object | — | El valor a buscar. Se compara como texto. |
Parámetros opcionales
Sección titulada «Parámetros opcionales»| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
session | ZoanExcelSession | — | Sesión de Excel Open (en vez de path). |
path | string | — | Ruta al .xlsx (requerido si no hay sesión). El archivo debe existir. |
sheet | string | int | — | Nombre o índice (desde 1) de la hoja. Si se omite, la primera. |
matchType | string | "exact" | Forma de comparar: exact (la celda es igual al valor) · contains (la celda contiene el valor) · starts-with (la celda empieza por el valor). |
searchRange | string | — | Limitar la búsqueda a un rango, ej. "A1:Z100". Si se omite, todo el rango usado de la hoja. Evita columnas completas ("A:A"): se recorren más de un millón de filas cuando el valor no está. |
Devuelve un Dictionary con estas claves exactas, o nulo si no hay coincidencia (o si la hoja está vacía):
| Clave | Tipo | Descripción |
|---|---|---|
address | string | Dirección de la celda, ej. "B7" (sin $ ni nombre de hoja). |
row | int | Número de fila en la hoja (desde 1), aunque hayas limitado con searchRange. |
column | int | Número de columna en la hoja (desde 1: A = 1). |
value | object | Valor de la celda con su tipo, igual que en Read Excel Cell (número double, fecha DateTime, booleano o texto). |
Errores comunes
Sección titulada «Errores comunes»| Mensaje | Causa y solución |
|---|---|
'value' es obligatorio. | value está vacío o la expresión dio null. |
Indica 'session' o 'path'. | Falta session y path. |
No se encontró el archivo. | path no existe. |
'…' is not A1 address or named range. | searchRange no es una dirección válida. |
There isn't a worksheet named '…'. | No hay una hoja con ese nombre. |
There isn't a worksheet associated with that position. | El índice de hoja no existe (o el nombre es solo un número y se tomó como índice). |
No encontrar el valor no es un error: la actividad devuelve nulo.
Ejemplo
Sección titulada «Ejemplo»Find Excel Cell path = asset("datos.xlsx") value = "Total" → output: celdaIf condition = isNull(celda) ├─ then: │ Log level = warning message = "No se encontró la celda 'Total'" └─ else: Log message = "Encontrada en " + celda["address"] + " (fila " + celda["row"] + ")"Localizar una factura por su número y actualizar su estado en la columna E de la misma fila:
Excel Open path = "C:/facturas/control.xlsx" → output: libroFind Excel Cell session = libro value = numeroFactura → output: celdaIf condition = !isNull(celda) └─ then: Write Excel Cell session = libro cell = "E" + celda["row"] value = "Pagada"Excel Close session = libroActividades relacionadas
Sección titulada «Actividades relacionadas»- Read Excel Cell — leer una celda en una posición conocida.
- Read Excel Sheet — leer toda la hoja y filtrar con Filter DataTable.