Necesito generar una función si con macros que devuelva un numero

Necesito que haga lo siguiente
Si la celda dice "bulldog" entonces devolver 1200 en caso de que no si la celda dice "pug" entonces 2000 en caso de que no sea si es "chihuahua" entonces 200 en caso de que no sea ninguna 3000
No entiendo como usar macros y eh investigado pero no puedo, ¿me pueden ayudar?

1 respuesta

Respuesta

.15.12.16

Hola,

Había empezado a ensayar alguna solución en Visual Basic que hiciera esa búsqueda pero MS Excel cuenta con una función que lo hace más eficientemente.

Me parece que es la típica aplicación de la función BUSCARV(), sobre todo por la existencia de un identificador común y único que es la raza.

Para hacerlo simple, vamos a suponer que armas un listado de valores en el rango D9:E27. Puede ser en la misma hoja o en otra

Algo así como esto:

Y si el primer elemento a buscar estuviera en la celda A4 de escribe ésta fórmula en la celda b4 :

=BUSCARV($A4;$D$9:$E$27;2;0)

Ten en cuenta si usas comas o punto y coma para separar los argumentos. Yo usé ";" en este ejemplo.

Pero en caso de que no encuentre una determinada raza, obtendrás #N/A. En ese caso, habías pedido que colocara 3.000.

Entonces tu fórmula final será la siguiente:

=SI(ESNOD(BUSCARV($A4;$D$9:$E$27;2;0));3000;BUSCARV($A4;$D$9:$E$27;2;0))

Asígnale el formato deseado y, luego, copia esta celda y pégala en las restantes de esta misma columna.

Entonces, la función Buscarv necesita tres argumentos más un cuarto opcional.

El primero es el valor que se busca en la base (raza).
Esta, a su vez, es el segundo argumento de la fórmula. El uso del signo $ es para que siempre se refiera a ese rango aún copiando la fórmula a otras celdas/hojas. Notarás que excede la cantidad de elemento para que considere futuras incorporaciones. Desde luego puede estar en la misma hoja o en otra, pero en este caso deberás indicarle el nombre en la dirección de la base. Por ejemplo: Hoja1!$D$9:$E$27

El tercer argumento indica qué columna de la base indicada debe ser mostrada donde está la fórmula. Cómo intento mostrar el valor asignado, indiqué la columna 2.

Finalmente el cuarto argumento opcional, cuando está en 0 (Falso) obliga a una búsqueda exacta de lo que está en la celda A4. Si no encuentra ese código, la fórmula devolverá #N/A! (No disponible)

Eso se evita con ESNOD() que es una función que devuelve verdadero si encuentra un error del tipo #N/A (NO Disponible) es decir que el dato no fue encontrado en la base de búsqueda. El condicional SI() es el encargado de mostrar uno u otro valor según el caso.

Bien, más largo de explicar que de hacer, pero creo que vale la pena.

Espero que te haya ayudado.

Noté que eres nuevo por aquí. Te comento, entonces, que si mi colaboración te hubiese ayudado tendrías a bien, calificarla según tu criterio para que quede finalizada. Si no, preguntame de nuevo.

Saludos

Fernando

(Buenos Aires, Argentina)

.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas