¿Cómo puedo configurar Numbers para copiar automáticamente una fila de datos de una hoja a otra hoja?

Tengo una hoja de cálculo de Numbers que contiene años de datos. Me gustaría llamar filas específicas en la hoja de cálculo y copiar solo esas filas en una nueva hoja en el mismo archivo donde me gustaría recopilar los datos. Las filas que quiero que se mencionen contienen dos palabras específicas en la misma columna.

Entonces, idealmente, me gustaría una función que pueda hacer coincidir una búsqueda de "john doe" en la hoja 1-tabla 1-columna G, seleccione toda la fila de datos, cópiela y péguela en la hoja 2.

¿Qué función, o varias funciones, puede usar para lograr esto?

¿Quiere copiar una fila o filas por número, o hacer algún tipo de búsqueda? Esa segunda frase me desconcertó.
Cualquier fila que tenga la frase "john doe" en la columna G.

Respuestas (2)

No sé si es posible hacer esto con funciones, pero podría serlo. Hay una función llamada VLOOKUPque parece que haría lo que usted quiere, pero no pude hacer que funcionara bien mientras experimentaba con ella: una función que existe dentro de una celda tiene dificultades para devolver múltiples valores para múltiples celdas.

Lo que creo que funciona, aunque quizás no sea tan conveniente como podría desear, es la vista de filtro. En el lado derecho de la ventana, si selecciona la vista que dice "Ordenar y filtrar" y la pestaña Filtro, puede "Agregar un filtro" que coincidirá con un valor en una columna específica. Alternar ese filtro usando la casilla de verificación en la esquina del cuadro de ese Filtro ocultará todas las filas que no coincidan con ese criterio, luego es una simple cuestión de resaltar todas las celdas, copiar y pegar en otra hoja.

Desafortunadamente, esto no continuará agregando filas a medida que agrega filas en la primera hoja, por lo que si esa funcionalidad es algo que necesita, esto no responderá su pregunta. Sin embargo, si solo necesita una copia única, creo que esta es la opción más fácil (y la única que conozco, pero no estoy muy familiarizado con Numbers).

Parece que no puedo hacer que VLOOKUP haga lo que quiero, pero está muy cerca. Pero el filtro es una sugerencia fantástica, simplemente no contiene la automatización que mencionaste. Si no puedo encontrar una buena alternativa, esto será lo que tengo que hacer.
Parecía que podría funcionar, pero no puede manejar múltiples coincidencias. Si lo resuelve, definitivamente publique una respuesta propia. Tengo curiosidad por saber cómo funcionaría.

Obviamente, esta es una vieja pregunta, pero me apareció y es algo que ocasionalmente quería hacer, así que pensé en publicar una respuesta tardía.

Anticipa que el documento 1 tendrá dos tablas en la hoja 1 y que el tamaño de la tabla 2 puede abarcar los datos copiados. Si la columna clave tiene un formato especial (p. ej., fecha), entonces no funcionará porque las fechas requieren un manejo especial, así que cambie su formato a texto. Y obviamente, no tiene manejo de errores.

tell application "Numbers"
    tell table 1 of sheet 1 of document 1
        -- because of the indecent and desperate need for Numbers to wrap text
        set text wrap of cell range to false 

        set kc to column "C" -- key column
        set rp to (cells of kc whose value contains "September") -- matching rows
        set hr to {} -- Get headings to copy to table 2
        copy value of cells of row 1 to hr
        set db to {} -- get cell values from matching rows
        repeat with rs in rp
            copy value of cells of row of rs to end of db
        end repeat
        -- each row's data will appear like this: {3.0, "Sun", "September 24", "W", "Denver Broncos"}
    end tell
        -- set db to rest of db -- If heading row contains match then uncomment

    tell table 2 of sheet 1 of document 1
        clear cell range
        set rc to count of db -- row count
        set cc to count of item 1 of db -- column count
        repeat with y4 from 1 to rc -- for every row
            repeat with x8 from 1 to cc -- for every column
                set value of cell x8 of row (y4 + 1) to item x8 of item y4 of db
            end repeat
        end repeat
        tell row 1 -- Set table headings to match table 1
            repeat with j from 1 to count of columns
                set value of cell j to item j of hr
            end repeat
        end tell
        set text wrap of cell range to false -- see above
    end tell
end tell

Esto no es parte de la respuesta, pero carga datos de muestra en la tabla 1 (min 5x5)

tell application "Numbers"
    tell table 1 of sheet 1 of document 1
        set column count to 5
        set row count to 5
        set ev to {{"Week", "Day", "Date", "WL", "Opponent"}, {2.0, "Sun", "September 17", "L", "Carolina Panthers"}, {3.0, "Sun", "September 24", "W", "Denver Broncos"}, {4.0, "Sun", "October 1", "W", "Atlanta Falcons"}, {5.0, "Sun", "October 8", "L", "Cincinnati Bengals"}}
        set evy to count of ev
        set evx to count of item evy of ev
        repeat with y from 1 to (evy)
            repeat with x from 1 to evx
                set value of cell x of row y to item x of item (y) of ev
            end repeat
        end repeat
    set format of column "C" to text -- date format requires special handling
    set text wrap of cell range to false
    end tell
end tell

Nota sobre el formato de fecha: no puede comparar una cadena con el mes de un objeto de fecha. Probablemente podría fabricar un método desglosando las celdas de fecha: set x to value of cell "C2", set y to month of x, set z to x as textpero debería ser más fácil convertirlo a texto, ejecutar el script normalmente y, si es necesario, volver a convertirlo a la fecha.