Rellenar celdas en base al contenido de otras

Hola! Esta es mi primera pregunta en este foro, así que me disculpo de antemano si accidentalmente incumplo algunas de las reglas. También he de decir que soy relativamente nuevo en programas de hojas de cálculos, pero llevo unos días buscando una solución tanto en este foro como en otros y no he conseguido encontrarla.

Estoy intentando automatizar una hoja para presupuestos. Tengo una lista de productos (un “catálogo”) en la columna A, y su correspondiente precio en la columna B. El presupuesto lo estoy haciendo en las columnas D, E y F. Necesito que, al escribir el nombre del producto en la columna D, la correspondiente celda en la columna E se rellene con el precio del producto (que figura en la columna B). Aquí una foto del ejemplo (el documento real es más complejo y el catálogo mucho más largo)

Al ser una lista de productos muy larga, las formulas del estilo “=SI(D3=“Table”;“10”;”") no me sirven. No se si lo que busco se puede hacer, pero he visto soluciones a problemas parecidos, aunque no específicamente para lo que busco. Dicho esto, no es necesario que los datos del “catálogo” estén en la misma hoja. Si hay un modo de conseguir lo que busco de otra manera, me vale. Mil gracias!

https://help.libreoffice.org/latest/es/text/scalc/01/04060109.html?DbPAR=CALC#bm_id3153152

1 Like

Muchas gracias! En principio esa sería la solución, pero por alguna razón que no consigo encontrar, algunos de los productos, al meterlos en la columna D, muestran un resultado erróneo, ya sea #N/D o un precio que no corresponde con el que debería. En el ejemplo de la foto, todos los productos por debajo de la fila 8 dan ese error:
image

La fórmula que estoy usando es =BUSCARV(D3,$A$3:$B$13,2) (cambiando el D3 a la correspondiente celda, por supuesto)

Seguramente el problema te lo está dando porque te falta un parámetro. Si la lista no está ordenada (que parece que es tu caso) el parámetro tiene que ser FALSO. Si no se se pone ese parámetro o se pone VERDADERO, piensa que la lista está ordenada y finaliza antes de tiempo.

Otra opción puede ser la de usar una formulación un poco más robusta, como es el caso de INDICE y COINCIDIR. Para tu caso podría funcionar =INDICE($A$3:$B$13,COINCIDIR(D3,$A$3:$A$13,0),2).

1 Like