Tengo una hoja de cálculo de Google donde estoy rastreando las estadísticas de béisbol de mi equipo de béisbol de la escuela secundaria. Tengo la configuración del script para cada vez que se registra un Hit Error o Run, tengo una casilla de verificación que está en Editar (e) para agregar +1 a la estadística total.
//Away Run function increment1() { SpreadsheetApp.getActiveSheet().getRange('X3').setValue(SpreadsheetApp.getActiveSheet().getRange('X3').getValue() + 1); } function onEdit(e) { if (e.range.getA1Notation() == 'G10') SpreadsheetApp.getActiveSheet().getRange('X3').setValue(SpreadsheetApp.getActiveSheet().getRange('X3').getValue() + 1); }Tengo una sección de marcador y un menú desplegable con todas las entradas enumeradas; Quiero asociar la casilla de verificación con un rango específico para las ejecuciones totales y también con cada rango asociado al menú desplegable actual que está seleccionado.
Imagen del marcador de Google Sheet
Solo para desglosarlo un poco más para mayor claridad. Actualmente, cuando se edita "G10" (casilla de verificación seleccionada o deseleccionada), "X3" tiene +1 al valor actual, además, quiero que se agregue +1 a un rango diferente según lo que se seleccione en el menú desplegable en "I2 ". Entonces, si se selecciona "Top 1" en el menú desplegable, "P3" tendría +1 al valor cuando se edita "G10" y así sucesivamente según la entrada seleccionada
Si se selecciona "Bot 1", luego en la edición de "G10" +1 a "P4" "Top 2" +1 a "Q3", "Top 3" +1 "R3", "Bot 3" +1 "R4" todo el camino a "Bot 7" +1 "V4"
Enlace a una versión de copia en vivo de la Hoja
[What Happens] [3] [What I want on one click][4] [Change of dropdown menu what happens][5] [Change of Dropdown what I want to happen][6] [What I want to happen][7]De su siguiente respuesta,
He simplificado todo lo que quiero hacer es hacer clic en la casilla de verificación y tener un menú desplegable que apunta a un rango para agregar 1 dígito al rango seleccionado - Fotos en orden
En este caso, ¿qué tal el siguiente script de muestra?
Desafortunadamente, no pude entender las coordenadas de celda de la casilla de verificación y la lista desplegable. Entonces, en esta muestra, la casilla de verificación y la lista desplegable se colocan en las celdas "A1" y "B1", respectivamente.
function onEdit(e) { const obj = { checkbox: "A1", // Please set the cell coordinate of checkbox. dropdownlist: "B1", // Please set the cell coordinate of dropdown list. values: { "K2": "K2", "K3": "K3", "L2": "L2", "L3": "L3" } // Please set the values and the cell coordinates in the dropdownlist. }; const sheetName = "Sheet2"; const range = e.range; const sheet = range.getSheet(); if (sheet.getSheetName() != sheetName || range.getA1Notation() != obj.checkbox) return; const checkboxValue = sheet.getRange(obj.dropdownlist).getValue(); if (!obj.values[checkboxValue]) return; const editCell = sheet.getRange(obj.values[checkboxValue]); const value = editCell.getValue(); editCell.setValue(value ? value + 1 : 1); }1 a la celda "K5" bajo el valor de "K2", modifique los values: { "K2": "K2", "K3": "K3", "L2": "L2", "L3": "L3" } a values: { "K2": "K5", "K3": "K3", "L2": "L2", "L3": "L3" } .Cuando se ejecuta este script, se obtiene el siguiente resultado.