Saltar al contenido

Secuencia de comandos de formato condicional de hoja de cálculo de Google

Solución:

Aquí hay un script que puede usar para hacer lo que describió:

function formatting() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
  var columnO = sheet.getRange(2, 15, sheet.getLastRow()-1, 1);
  var oValues = columnO.getValues();

  for (var i = 0; i < oValues.length; i++) {
    if (oValues[i][0] == 'X') {
      sheet.getRange(i + 2, 1, 1, 1).setBackgroundColor('green');
    }
  }
}

En las nuevas hojas de Google, esto ya no requiere un script.

En su lugar, en formato condicional, seleccione la opción “fórmula personalizada” e ingrese un valor como =O2="X" – o de hecho cualquier expresión que devuelva un valor booleano verdadero / falso.

Por lo que puedo decir, las referencias enumeradas en estos scripts personalizados son un poco extrañas y se aplican de la siguiente manera …

Si es una celda dentro de su rango seleccionado, entonces se cambia a “la celda que se está resaltando”.

Si es una celda fuera de su rango seleccionado, entonces se cambia a “esa posición, más un desplazamiento igual al desplazamiento de la celda actual a la parte superior izquierda del rango seleccionado”.

Es decir, si tu rango fuera A1:B2, entonces lo anterior sería lo mismo que configurar el formato individual en cada celda de la siguiente manera:

A1 =O2="X"
A2 =O3="X"
B1 =P2="X"
B2 =P3="X"

También puede especificar referencias fijas, como =$O$2="X" – que verificará la celda específica O2 para todas las celdas en su rango seleccionado.

(Febrero de 2017) Como se mencionó en otra respuesta, Google Sheets ahora permite a los usuarios agregar formato condicional directamente desde la interfaz de usuario, ya sea en una computadora de escritorio / computadora portátil, dispositivos Android o iOS.

De manera similar, con la API de Google Sheets v4 (y más reciente), los desarrolladores ahora pueden escribir aplicaciones que cumplan las reglas de formato condicional CRUD. Consulte la guía y las páginas de muestra para obtener más detalles, así como los documentos de referencia (busque {add,update,delete}ConditionalFormatRule). La guía presenta este fragmento de Python (asumiendo un ID de archivo de SHEET_ID y SHEETS como el punto final del servicio API):

myRange = {
    'sheetId': 0,
    'startRowIndex': 1,
    'endRowIndex': 11,
    'startColumnIndex': 0,
    'endColumnIndex': 4,
}

reqs = [
    {'addConditionalFormatRule': {
        'index': 0,
        'rule': {
            'ranges': [ myRange ],
            'booleanRule': {
                'format': {'textFormat': {'foregroundColor': {'red': 0.8}}}
                'condition': {
                    'type': 'CUSTOM_FORMULA',
                    'values':
                        [{'userEnteredValue': '=GT($D2,median($D$2:$D$11))'}]
                },
            },
        },
    }},
    {'addConditionalFormatRule': {
        'index': 0,
        'rule': {
            'ranges': [ myRange ],
            'booleanRule': {
                'format': {
                    'backgroundColor': {'red': 1, 'green': 0.4, 'blue': 0.4}
                },
                'condition': {
                    'type': 'CUSTOM_FORMULA',
                    'values':
                        [{'userEnteredValue': '=LT($D2,median($D$2:$D$11))'}]
                },
            },
        },
    }},
]

SHEETS.spreadsheets().batchUpdate(spreadsheetId=SHEET_ID,
        body={'requests': reqs}).execute()

Además de Python, las API de Google admiten una variedad de idiomas, por lo que tiene opciones. De todos modos, esa muestra de código formatea una Hoja (vea la imagen a continuación) de modo que las personas más jóvenes que la edad media se resaltan en rojo claro, mientras que las que superan la mediana tienen sus datos en color rojo.

Ejemplo de formato condicional


ANUNCIO DE SERVICIO PUBLICO

La última API de Hojas de cálculo proporciona funciones que no están disponibles en versiones anteriores, es decir, dar a los desarrolladores acceso programático a una Hoja como si estuviera utilizando la interfaz de usuario (formato condicional[!], filas congeladas, formato de celda, cambio de tamaño de filas / columnas, adición de tablas dinámicas, creación de gráficos, etc.).

Si es nuevo en la API y desea ver ejemplos del “mundo real” un poco más largos y generales sobre el uso de la API, he creado varios videos y publicaciones de blog relacionadas:

  • Migración de datos SQL a una publicación de análisis en profundidad de hoja más código
  • Aplicar formato al texto con la API de Hojas de cálculo más una publicación de análisis en profundidad de código
  • Generación de diapositivas a partir de datos de hoja de cálculo más publicación de inmersión profunda de código

Como puede ver, la API de Hojas de cálculo es principalmente para documento-funcionalidad orientada como se describe arriba, pero para realizar expediente-Acceso de nivel como cargas y descargas, importaciones y exportaciones (igual que cargas y descargas pero conversión a / desde varios formatos), use la API de Google Drive en su lugar. Ejemplos de uso de la API de Drive:

  • Exportación de una hoja de Google como CSV (solo publicación de blog)
  • Conversor de “texto sin formato para personas pobres a PDF” (solo publicación de blog)

– TL; DR: cargue un archivo de texto sin formato en Drive, importe / convierta al formato de Google Docs y luego exporte ese documento como PDF. La publicación anterior usa Drive API v2; esta publicación de seguimiento describe la migración a Drive API v3, y aquí hay un video que combina las dos publicaciones del “convertidor de pobres”.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *