Herramientas, aplicaciones y hojas excel y de Google para seguimiento de carteras

si se meten muchos import el sheet acaba dando muchos problemas y todo devuelve error N/A.
Un método sencillo para tener los dividendos actualizados es crearte una cuenta de yahoo, creas una cartera y añades todas las empresas de las que quieras tener el dividendo. Luego adaptas la vista para que muestre los datos que tu quieres.
Una vez por semana, copias toda esa vista en una hoja del sheet y te llevas el importe del dividendo con un vlookup a la hoja que quieras. Mucho más fácil y da menos problemas.

Puedes evitar que se muestre N/A con un iferror(fórmula, “lo que quieras poner en lugar del N/A”)

  • Recuerda que para la versión española las fórmulas se separan con ; y para la yankee con ,
    y los números decimales para la española separan con comas y la yankee con puntos (esto te lo digo, xq en yahoo pudes sacar la info con decimales sacado con coma o con punto.
5 Me gusta

Como te han indicado, en la web de Google Finance han consignado los datos básicos del valor, entre ellos la RPD que tú buscas, fuera del acceso de una tabla, por lo que no es posible obtener el dato con ImportHTML del modo que pretendes.

La sugerencia que te comenta @oafiador es buena, sobre todo si vas cargar muchos valores en la hoja, porque como bien dice cuando se satura la hoja termina dando error.

No obstante, si quieres obtener el dato de RPD desde la web de Yahoo prueba con esta fórmula. Cópiala en tu hoja tal cual, pero con dos detalles, primero recordando lo que ya te ha comentado @oafiador en cuanto a las diferencias en las hojas según se tenga establecida la configuración USA o española.

Y segundo, cuando copies la fórmula hazlo transcribiéndola a mano y no con un copia pega sin más, porque sucede muy a menudo que cuando se hace un copia-pega algunas partes no se transcriben correctamente y suele dar problemas. Sobre todo con símbolos como las comillas.

=iferror(mid(index(ImportHtml("https://finance.yahoo.com/quote/"&A1,"table",2),6,2),7,5),"")

En el ejemplo que te pongo en la casilla A1 es donde está consignado en tu hoja el ticker de la compañía de la que quieres obtener el dato.

Ten en cuenta además que estarás obteniendo el dato de la web de Yahoo y no de Google, por lo tanto refleja los tickers de las compañías con la nomenclatura de Yahoo.

Un saludo.

2 Me gusta

Hola @oafiador, con la fórmula que me indicas ya no sale #N/A pero, le ponga lo que le ponga, devuelve siempre la casilla totalmente en blanco. Muchas gracias por la ayuda.

Hola @ciguatanejo, aun escribiendo la fórmula, no copiándola, siempre me da error. En cuanto al ticker en Yahoo supongo que es el mismo de Google, sin indicar NYSE o NASDAQ por delante, ¿verdad?

Cordiales saludos y muchas gracias

Tanto @ciguatanejo, como yo, te hemos puesto la fórmula en versión USA. Es posible que tengas puesta versión española y tengas que poner los separadores de las fórmulas con ; tal y como te comentaba al final del comentario anterior

Cerciórate de cuál es la configuración de tu hoja. Por lo que he podido ver revisando msjs anteriores tuyos creo que trabajas con la configuración española, por lo tanto tendrás que sustituir las comas por el punto y coma a la hora de separar los distintas partes y caracteres de la fórmula.

En cuanto al ticket, sí, consígnalo sin la referencia del mercado y en mayúsculas.

Si acaso, una vez tengas la fórmula elaborada con las indicaciones que te hemos indicado, si continúa sin funcionarte correctamente copiala aquí literal, tal cual la tengas en tu hoja.

Para ello, al insertar la fórmula en el msj, utiliza la función de insertar texto preformateado que hay en la plantilla de redacción de los mensajes, porque sino es posible que cuando publiques el msj te modifique el contenido de la fórmula.

Un saludo.

1 me gusta

Sigue devolviéndome la celda en blanco. La fórmula que introduzco es la siguiente:

=IFERROR(GOOGLEFINANCE(A7;“PE”;“s/d”))

Funciona perfectamente, eran los ;

Disculpad mi torpeza.

1 me gusta

Edito: funciona con las acciones USA, en las españolas me devuelve la casilla en blanco, igual que con la fórmula de “oafiador”, a pesar de indicar el ticker como creo que es, por ejemplo para Enagás: ENG.MC

Creo que el mercado hay que ponerlo como prefijo, para el caso de Enagás: BME:ENG.

Tampoco funciona con las británicas, ocurre como con las españolas. En este caso he indicado Rio Tinto así: RIO.L

Alex, ten en cuenta que estamos intentando importar de Yahoo, no de Google.

Perdona, entonces es como pones sí.

Le echo un ojo yo también a ver si damos con la tecla.

1 me gusta

Trading view, la app es pareja a la web y va muy bien.

=IMPORTXML("https://www.google.com/finance/quote/"&B2, "//div[@aria-labelledby='key-stats-heading']/div[8]/div")

A ver si te funciona esta. No tengo ni idea de como funciona Google Sheets, así que no he añadido IFERROR cosas varias. Formato normal de Google Finance donde pone “B2” (MA:NYSE)

1 me gusta

Llevo un rato con ello y no encuentro la forma de que funcione.

Según parece hay más personas que se han encontrado con el mismo problema si el ticker tiene un punto:

Antes de leer eso había pensado en que podría ser que Yahoo estuviera limitando las peticiones desde las IPs de Google y que simplemente los valores americanos fuesen los más solicitados y estuvieran cacheados.

1 me gusta

Hasta donde yo sé, funciona solo con el mercado USA. Para mercados externos me temo que no permite acceder, aunque consignes el ticker con toda su extensión tal cual te aparece en la web cuando lo cargas.

De hecho en su día tampoco iba ni tan siquiera para los ADR’s de aquellas que los tenían, que manteniendo un ticker como las USA, sin extensión de mercado, me pareció que podrían ser susceptibles de dar acceso. Pero nop, el invento tan solo pita para las USA.

Un saludo.

1 me gusta

Estás anidando mal las funciones, tienes q cerrar la de googlefinance para continuar con el iferror. Prueba así
=IFERROR(GOOGLEFINANCE(A7;“PE”);“s/d”)

1 me gusta

Se me olvidaba mencionar que tengo la hoja en inglés. Si usas la de Cazadividendos hay que cambiar la “,” por “;” después de B2.

=IMPORTXML("https://www.google.com/finance/quote/"&B2; "//div[@aria-labelledby='key-stats-heading']/div[8]/div")

Lo único malo que en la URL los datos van al revés que en la petición de la API. Así que toca hacer una columna nueva o una fórmula más elaborada.

Para evitar llegar al número máximo de peticiones puede ser buena práctica utilizar la de Yahoo para USA y Google para el resto.

2 Me gusta

Ahora sí funciona perfectamente. Muchísimas gracias :blush: :relaxed: :raised_hands: