Como siempre lo he dicho. Tus vídeos son un aporte social a la educación y autoaprendizaje, además que buscas dejar tu sello y explicar todo lo que conoces o métodos que sabes. Hay grandeza y bondad en tu ❤️ Gracias hermano!
Creo que esta idea del script es grandiosa. Hace poco tuve que hacer un script largo porque el sistema de arrastre de formulas no me convenia y el arrayFormula no funcionaba, pero con esta propuesta la cosa cambia
Hola! Así es. BUSCARX nos hace la vida un poco más fácil que el BUSCARV pero la mayoría de cosas siguen igual, sobre todo las avanzadas. Pronto vendrá el video Saludos!
Hola Juan, gran aporte Tengo una base de datos que la alimenta respuestas de google forms y trabajo con Autocrat para generar reportes, a la hora de arrastrar una formula el Arrayformula no me funciona, tambien intente con este script pero nada, la formula se borra de la celda donde se genero el reporte y no arrastra, las demas si funcionan, pero al mover o modificar una celda de la columna donde esta la formula el script si se aplica a esa celda, pero solo cuando agrego un dato a una celda opuesta a donde esta dicha formula
Hola, Juan. Un gusto, quería saber si de alguna forma se puede ejecutar 2 o más secuencia de comandos de manera ordenada. En OnEdit() llamo a las funciones solamente, pero cuando se ejecuta la primera funcion, pasa a las otras mientras se ejecuta la primera todavía y a veces ocurre errores, me gustaria que se termine de ejecutar la primera para que recién pase a la siguiente, es posible? Traté de usar Spreadsheet.flush(), pero no soluciona ello.
En javascript hay algo que se llaman las promesas. No lo manejo muy bien pero seria algo asi function fun1(){ return new Promise(function(resolve, reject) { setTimeout(function() { //Aqui va todo lo de mi primera función Logger.log("Mi primera función") resolve(); }, 3000); //Estos 3000 son milisegundos. Si tu función es mas compleja puedes subirle a 5000, 10000 o mas }) } function fun2(){ // La segunda función va normal Logger.log("Mi segunda función ") } function funcionesConsecutivas(){ Aquí va la clave fun1().then(fun2) } Pruebalo y me cuentas Saludos!
Buen video! Hay manera de arrastrar la fórmula sin el formato? En excel lo hacía facilmente con F2 + control + enter, pero en sheets no encuentro la manera y debo corregir el formato cntinuamente... gracias!
Saludos Prof. Juan, espero que se encuentre bien Una pregunta: Si tenemos varias formulas que queremos arrastrar ¿Cómo podemos hacerlo con la función que enseño en AppScript? o ¿Tenemos que crear varias funciones, una para cada formula que tengamos? De antemano, gracias por el apoyo que me pudiera brindar
Hola! Sería una sola función, pero dependiendo de si son columnas seguidas o no, tendrias que repetir varias veces las lineas de copiar y pegar Saludos!
Buen día, vengo viendo sus tutoriales y me ayudan mucho. Sin embargo, quisiera que me ayude a solucionar un problema. Tengo un documento con varias hojas (INVENTARIO DE PRODUCTOS: CANT. INICIAL, ENTRADAS, SALIDAS,ETC) He realizado la siguiente formula: =SUMAR.SI('REGISTRO_VENTAS📗'!$C2:$C,B2,'REGISTRO_VENTAS📗'!$F2:$F). Lo que deseo es que la misma formula y su contenido se mantenga a la hora de arrastrar. Porque cuando yo arrastro se va cambiando por ejemplo, C2, C3,C4...de acuerdo a la fila. Y eso no deseo. Yo quiero que para toda la columna mantenga por ejemplo: C2:C.....F2:F. Por favor si me ayuda. Gracias.
Tengo una duda desde hace bastante: veo que Juan implementa la función onEdit(), guarda el script y de una comienza a surtir efecto en la hoja. En mi caso no pasa eso, yo tengo que ir a registrar el onEdit en los activadores, de otra suerte, el OnEdit() no arranca. Alguien sabe que estoy haciendo mal?
Tú vídeo me ha servido de mucho, pero presento un problema al querer usar el código para el mismo documento con otra hoja. Me sale un error al usar getRange. La verdad no sé mucho sobre esto, por favor ayudame 😢 (En la primera hoja me funciona de maravilla, pero si quiero usarlo en la 2da hoja, me salta ese error)
@@JuanSGuzman Las dos codigos los como en hojas diferentes (no se como se dice). Para la primera hoja, use este y funcionó muy bien: function arrastrarFormulaautomaticamente() { var libro=SpreadsheetApp.getActiveSpreadsheet(); var hoja=libro.getSheetByName("PRECIO DE PRODUCTOS"); var miFormula=hoja.getRange("G5").getFormula() hoja.getRange(5,7,hoja.getLastRow()-4).setFormula(miFormula) } function onEdit(){ arrastrarFormulaautomaticamente(); } Para el segundo este, y me salta TypeError: Cannot read properties of null (reading 'getRange'): function arrastrarFormulaautomaticamente3() { var libro=SpreadsheetApp.getActiveSpreadsheet(); var hoja=libro.getSheetByName("PRECIO DE TRABAJO"); var miFormula=hoja.getRange("G5").getFormula() hoja.getRange(5,7,hoja.getLastRow()-4).setFormula(miFormula) } function onEdit(){ arrastrarFormulaautomaticamente3(); } De verdad muchas gracias, este es el mayor problema que tengo, casi todo me las he ingeniado con tus videos! Gracias
Buenas, Y si por ejemplo tienes fórmulas desde C2:Z en varias hojas dentro del mismo libro, ¿como podríamos hacer para que no tarde demasiado tiempo en arrastrar las fórmulas en todas las hojas?
@@JuanSGuzman tengo lo último del final del video pero yo tengo por ejemplo en la columna B2 hasta la Z2 fórmulas que se extienden hasta donde hay datos, ¿como puedo hacer ese rango con la función que pones al final del video? En vez de copiar solo una celda necesito coger varias sin hacerlo una a una.
Recuerdo que había una extensión o complemento de google que te arrastra las formulas automáticamente cada vez que agregabas nuevos datos, ahora no la encuentro u.u
Gracias Juan S Guzman por tus valiosos aportes a la comunidad de aprendices .!!
Hola!
Gracias a ti por tomarte el trabajo de comentar!
Saludos!
Como siempre lo he dicho. Tus vídeos son un aporte social a la educación y autoaprendizaje, además que buscas dejar tu sello y explicar todo lo que conoces o métodos que sabes. Hay grandeza y bondad en tu ❤️ Gracias hermano!
Que palabras tan amables! Muchas gracias!!
Creo que esta idea del script es grandiosa. Hace poco tuve que hacer un script largo porque el sistema de arrastre de formulas no me convenia y el arrayFormula no funcionaba, pero con esta propuesta la cosa cambia
Excelente!
Paso a dejar el like y, como siempre, las gracias por compartir tus conocimientos. Feliz año Juan.
Gracias! Siempre firme! Jaja
Muchas gracias, un video muy útil y práctico! Saludos
Hola!
Que amables palabras! Mil gracias!
Saludos!
Buenos datos, con Juan 👍
Mil gracias!
Excelente vídeo Juan! Muy bueno el recorderis y el último método con GAS no lo conocía, ahora las hojas son cada vez más pro :D Muchas gracias bro!
Hola!
Gracias a ti por tomarte el trabajo de comentar!
Saludos!
Buen día con la función buscar X también tenemos que utilizar import range para buscar en otros archivos ? Saludos
Hola!
Así es. BUSCARX nos hace la vida un poco más fácil que el BUSCARV pero la mayoría de cosas siguen igual, sobre todo las avanzadas.
Pronto vendrá el video
Saludos!
Hola Juan, gran aporte
Tengo una base de datos que la alimenta respuestas de google forms y trabajo con Autocrat para generar reportes, a la hora de arrastrar una formula el Arrayformula no me funciona, tambien intente con este script pero nada, la formula se borra de la celda donde se genero el reporte y no arrastra, las demas si funcionan, pero al mover o modificar una celda de la columna donde esta la formula el script si se aplica a esa celda, pero solo cuando agrego un dato a una celda opuesta a donde esta dicha formula
Pero, en definitiva, te funcionó el script?
Saludos!
@@JuanSGuzman si pero cuando se genera unas nueva respuesta se borra la fórmula, así tenga on edit
@@dam2135 Habria que revisar lo que hace autocrat
Pero el array si te deberia funcionar
Saludos!
Hola, Juan. Un gusto, quería saber si de alguna forma se puede ejecutar 2 o más secuencia de comandos de manera ordenada. En OnEdit() llamo a las funciones solamente, pero cuando se ejecuta la primera funcion, pasa a las otras mientras se ejecuta la primera todavía y a veces ocurre errores, me gustaria que se termine de ejecutar la primera para que recién pase a la siguiente, es posible? Traté de usar Spreadsheet.flush(), pero no soluciona ello.
En javascript hay algo que se llaman las promesas. No lo manejo muy bien pero seria algo asi
function fun1(){
return new Promise(function(resolve, reject) {
setTimeout(function() {
//Aqui va todo lo de mi primera función
Logger.log("Mi primera función")
resolve();
}, 3000); //Estos 3000 son milisegundos. Si tu función es mas compleja puedes subirle a 5000, 10000 o mas
})
}
function fun2(){
// La segunda función va normal
Logger.log("Mi segunda función ")
}
function funcionesConsecutivas(){
Aquí va la clave
fun1().then(fun2)
}
Pruebalo y me cuentas
Saludos!
Buen video! Hay manera de arrastrar la fórmula sin el formato? En excel lo hacía facilmente con F2 + control + enter, pero en sheets no encuentro la manera y debo corregir el formato cntinuamente... gracias!
Saludos Prof. Juan, espero que se encuentre bien
Una pregunta: Si tenemos varias formulas que queremos arrastrar ¿Cómo podemos hacerlo con la función que enseño en AppScript? o ¿Tenemos que crear varias funciones, una para cada formula que tengamos?
De antemano, gracias por el apoyo que me pudiera brindar
Hola!
Sería una sola función, pero dependiendo de si son columnas seguidas o no, tendrias que repetir varias veces las lineas de copiar y pegar
Saludos!
@@JuanSGuzman Gracias por la pronta respuesta. Me ayudo
No me sale el cuadrado para darle doble click
Muy extraño!
Saludos!
A mí tampoco, y no sé porqué, ni sé cómo buscar la solución porque a nadie más le surge. Es super frustrante.
Buen día, vengo viendo sus tutoriales y me ayudan mucho. Sin embargo, quisiera que me ayude a solucionar un problema. Tengo un documento con varias hojas (INVENTARIO DE PRODUCTOS: CANT. INICIAL, ENTRADAS, SALIDAS,ETC) He realizado la siguiente formula: =SUMAR.SI('REGISTRO_VENTAS📗'!$C2:$C,B2,'REGISTRO_VENTAS📗'!$F2:$F). Lo que deseo es que la misma formula y su contenido se mantenga a la hora de arrastrar. Porque cuando yo arrastro se va cambiando por ejemplo, C2, C3,C4...de acuerdo a la fila. Y eso no deseo. Yo quiero que para toda la columna mantenga por ejemplo: C2:C.....F2:F. Por favor si me ayuda. Gracias.
Te falto un $
En vez de
'REGISTRO_VENTAS📗'!$C2:$C
es
'REGISTRO_VENTAS📗'!$C$2:$C
Saludos!
Tengo una duda desde hace bastante: veo que Juan implementa la función onEdit(), guarda el script y de una comienza a surtir efecto en la hoja. En mi caso no pasa eso, yo tengo que ir a registrar el onEdit en los activadores, de otra suerte, el OnEdit() no arranca. Alguien sabe que estoy haciendo mal?
A veces, solo actualizando la hoja, te funciona
Saludos!
@@JuanSGuzman solucionado: hay que correr al menos una vez la función, depende de que pueda requerir permisos previos. Ya me funciona. Gracias
@@hmro2007 Que bueno que lo hayas encontrado
Saludos!
no encuentro como arrastro la formula de forma vertical pero con los valores de celdas horizontales. me explico?
Como un transponer?
Sería que al arrastrar en lugar de cambiar A1, A2, A3, etc lo hiciera en vertical a A1, B1, B2, etc. ¿Como se haría?
Perdón A1, B1, C1, etc
16:34 Arrastrar fórmulas automáticamente en Google SHEETS con GAS (Sin ArrayFormula) ---------> th-cam.com/video/TqgLVszdRPQ/w-d-xo.html
Saludos y Feliz inicio de año Juan!
Gracias como siempre!
Feliz año para ti tambien!
Tú vídeo me ha servido de mucho, pero presento un problema al querer usar el código para el mismo documento con otra hoja. Me sale un error al usar getRange.
La verdad no sé mucho sobre esto, por favor ayudame 😢
(En la primera hoja me funciona de maravilla, pero si quiero usarlo en la 2da hoja, me salta ese error)
Dejame ver el código
Saludos!
@@JuanSGuzman
Las dos codigos los como en hojas diferentes (no se como se dice).
Para la primera hoja, use este y funcionó muy bien:
function arrastrarFormulaautomaticamente() {
var libro=SpreadsheetApp.getActiveSpreadsheet();
var hoja=libro.getSheetByName("PRECIO DE PRODUCTOS");
var miFormula=hoja.getRange("G5").getFormula()
hoja.getRange(5,7,hoja.getLastRow()-4).setFormula(miFormula)
}
function onEdit(){
arrastrarFormulaautomaticamente();
}
Para el segundo este, y me salta TypeError: Cannot read properties of null (reading 'getRange'):
function arrastrarFormulaautomaticamente3() {
var libro=SpreadsheetApp.getActiveSpreadsheet();
var hoja=libro.getSheetByName("PRECIO DE TRABAJO");
var miFormula=hoja.getRange("G5").getFormula()
hoja.getRange(5,7,hoja.getLastRow()-4).setFormula(miFormula)
}
function onEdit(){
arrastrarFormulaautomaticamente3();
}
De verdad muchas gracias, este es el mayor problema que tengo, casi todo me las he ingeniado con tus videos! Gracias
Buenas,
Y si por ejemplo tienes fórmulas desde C2:Z en varias hojas dentro del mismo libro, ¿como podríamos hacer para que no tarde demasiado tiempo en arrastrar las fórmulas en todas las hojas?
Hola!
Te refieres al último método con código?
Saludos!
@@JuanSGuzman Si, eso es, como podría hacer eso para lo que te digo?, gracias!! Saludos!
@@AlbertoCuervoMallada Como tienes el código
@@JuanSGuzman tengo lo último del final del video pero yo tengo por ejemplo en la columna B2 hasta la Z2 fórmulas que se extienden hasta donde hay datos, ¿como puedo hacer ese rango con la función que pones al final del video? En vez de copiar solo una celda necesito coger varias sin hacerlo una a una.
@@AlbertoCuervoMallada Estoy preparando la parte 2 para hacer esos casos especiales
Saludos!
No soy capaz de arrastrar la fórmula sin mouse desde la tablet😢
Y que hago cuando se copia la fórmula pero no se mueve el número de fila ? Tengo que cambiar a automático mi hoja de cálculo pero no sé cómo hacerlo.
Recuerdo que había una extensión o complemento de google que te arrastra las formulas automáticamente cada vez que agregabas nuevos datos, ahora no la encuentro u.u
Hola!
No, ni idea, pero si la recuerdas, me cuentas que a muchos le puede servir
Saludos!