es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Google Sheets – Realizar un seguimiento y registro del valor más alto y más bajo de otra celda (dinámica)

Estoy tratando de crear una hoja para la simulación de operaciones de acciones y criptomonedas. Los valores en A se actualizan cada 5 minutos. En B, tengo la fecha y hora actual. En este momento, tengo una solución temporal que envía un correo electrónico si un valor cumple ciertos criterios. Pero no es ideal. Otra solución temporal sería guardar cada solicitud de API de un valor como histórico. Pero eso requeriría 2000 filas cada 5 minutos. Me gustaría registrar los valores de algunas filas específicas (operaciones). El valor más alto y el valor más bajo, junto con la marca de tiempo del valor registrado. ¿Existe alguna manera de hacerlo? He incluido una imagen de cómo me gustaría verlo. Intenté buscar en Google y dentro de Stack Overflow sin obtener ningún resultado. La marca de tiempo es un bono, el registro es lo más importante. Creo que se podría hacer utilizando App Script, pero no estoy seguro.

Ejemplo:
Imagen

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, es posible hacer esto utilizando Google Apps Script y fórmulas de Google Sheets.

    Un enfoque sería utilizar un script que se ejecute en un disparador de tiempo cada 5 minutos para verificar los valores en las filas especificadas (operaciones) y compararlos con los valores más altos y más bajos que se hayan registrado anteriormente. Si el valor es más alto que el valor más alto registrado, entonces el script actualizaría el valor más alto y lo registraría junto con la marca de tiempo en una hoja separada. De manera similar, si el valor es más bajo que el valor más bajo registrado, entonces el script actualizaría el valor más bajo y lo registraría junto con la marca de tiempo en la misma hoja.

    Para lograr esto, deberías utilizar las siguientes funciones de Google Apps Script:

    • setInterval() o setTimeOut() para programar el disparador de tiempo.
    • getDataRange() para obtener el rango de celdas que contiene los datos de las operaciones.
    • getValues() para obtener los valores en el rango especificado.
    • Math.max() y Math.min() para encontrar los valores más altos y más bajos respectivamente.
    • getSheetByName() para obtener la hoja donde se almacenarán los registros.
    • appendRow() para agregar una nueva fila con los datos registrados.

    Además, puedes utilizar fórmulas de Google Sheets como MAX() y MIN() para calcular los valores más altos y más bajos a partir de los datos registrados en la hoja separada.

    En general, este enfoque proporciona una forma más eficiente y organizada de registrar los datos de las operaciones sin tener que crear una gran cantidad de filas.

Comments are closed.