Si estÔs programando en Google Sheets, con Google Apps Script, y necesitas automatizar una búsqueda tipo Vlook up / BuscarV, usando un script, te vas a encontrar un pequeño problema, el mismo que tuve yo cuando empecé.
Si has programado en Excel con Vba, hacer una búsqueda es muy fÔcil, ya que podes usar la fórmula vlook up / buscarv en tus algoritmos; sin embargo Google Apps Script no permite hacer esto, por lo que seguro estÔs sacÔndote canas buscando en los métodos y/o en la documentación de Apps Script, incluso en Stack Overflow.
Debido a esta necesidad tuve que auto-fabricarme una solución, y la quiero compartir con el que la necesite. Es algo sencillo.
Código:
function look(hoja,Dbusq,fil,col,fil2,col2){
var sheet = SpreadsheetApp.getActive().getSheetByName(hoja);
var compar;
var result;
while(sheet.getRange(fil, col).getValue() != ""){
compar = sheet.getRange(fil, col).getValue();
result = sheet.getRange(fil2, col2).getValue();
if(Dbusq != compar){
}
else if(Dbusq == compar){
return result;
}
fil++
fil2++
}
return "no resultados";
}
Explicando el Script.var sheet = SpreadsheetApp.getActive().getSheetByName(hoja);
var compar;
var result;
while(sheet.getRange(fil, col).getValue() != ""){
compar = sheet.getRange(fil, col).getValue();
result = sheet.getRange(fil2, col2).getValue();
if(Dbusq != compar){
}
else if(Dbusq == compar){
return result;
}
fil++
fil2++
}
return "no resultados";
}
Los parÔmetros que recibe la función son:
- Hoja = Es igual al nombre de la hoja donde se buscarĆ” el dato.
- Dbusq = Es igual al dato buscado.
- Fil & Col = Es igual a Fila-Columna donde se empezarĆ” buscar el dato.
- Fila2 & Col2 = Es igual a Fila-Columna donde se encuentra el resultado a devolver.
El bucle irÔ recorriendo desde la fila indicada, obteniendo los valores de las celdas y comparÔndolos con el dato a buscar, y regresarÔ el dato que se encuentra en la misma fila de la columna indicada para regresar el resultado. Teniendo el mismo método de búsqueda en L como la fórmula BuscarV / Vlook Up.
Hagamos un ejemplo:
Supongamos que en la siguiente tabla quiero obtener la ubicación del Producto Camisa.
Hagamos un ejemplo:
Supongamos que en la siguiente tabla quiero obtener la ubicación del Producto Camisa.
Completando los parĆ”metros de la función, serĆa asĆ:
- Hoja = LlamarƩ BD a la hoja.
- Dbusq = "Camisa"
- Fil & Col = Fil:1, Col:1, para buscar en toda la fila A, de la A1 en adelante.
- Fila2 & Col2 = Fil2: 1, Col:3, para buscar de la C1 en adelante.
=look("BD","Camisa",1,1,1,3)
El resultado serĆa Estante 1
Para utilizar el script, solo deberÔs modificar las filas y las columnas según la tabla donde deseas buscar.
NOTA: La bĆŗsqueda del dato es Case Sensitive.
Código Github:Github
Seguime en Youtbe:
Youtube
Mi grupo de Whatsapp:
var grupo = "Help code";




0 Comentarios