Yo utilizo markets.ft y morningstar principalmente, en algunos tambien quefondos.es (muy desactualizados los datos, eso sí), y extraetf.com para ETFs. Con morningstar por ejemplo puedes usar una expresion importXml del tipo (suponiendo que tienes el ID que usa morningstar para cada fondo en la casilla C1):
=VALUE(Mid(importXml(concat("
https://www.morningstar.es/es/funds/snapshot/snapshot.aspx?id=";C1); "//td[@class='line text']");4;7))
No funciona muy bien la extracción de datos de Google Sheets, aunque en la mayoría de ocasiones el problema es que la url que pones en la función ImportXml no es la que trae realmente los datos (la mayoría de páginas de hoy en día son dinámicas y es algún javascript invocado en cascada el que actualiza los datos en realidad).
Lo que hago en mi hoja de Google Sheets es traer la info desde varios sitios y luego componerlo en la casilla definitiva con algo como =IFERROR($F1;$E1) (suponiendo que tienes las cotizaciones de varias fuentes en F1 y E1) , de forma que si falla una, use otra. Pero ni esto te garantiza que en muchas ocasiones tengas un valor para la cotización.