Bienvenid@ al foro
nonberri.
Lo que planteas es de fácil solución. Lo primero que tienes que hacer, es ordenar de forma ascendente los códigos-descripciones-precios, del libro A (seleccionas todo el rango de datos: 3 columnas x 20000 filas, y seleccionas en el menú Datos, la opción Ordenar).
Luego en el libro D, haz lo mismo.
Ahora, situados en ese libro D, vamos a suponer que en A2 tienes el primer código y en B2 la cantidad. Pon esto en la tercera columna, es decir, en C2 (donde quieres que aparezca la descripción):
Código:
=BUSCARV(A2;[LibroA.xls]Hoja1!A2:B20000;2;0)
El 2 de la fórmula indica que busque el dato de la columna 2 (descripción), y el 0 del final es porque queremos obtener un dato exacto.
PD: He supuesto que el libro A se llama libroA.xls, que la hoja de ese libro A donde tienes los datos a extraer, se llama Hoja1, y que el rango de datos donde tienes el código y la descripción en ese mismo libroA, va desde la celda A2 a la celda B20000.