Saltar al contenido

Hacer búsqueda en web entre varias opciones


Gnoma

Recommended Posts

A ver, he leído un montón y lo he intentado de unas pocas formas... pero hay algo que no logro hacer.  Quiero hacer una macro que extraiga datos de una web. Hasta ahí todo correcto. Consigo extraer los datos que necesito, excepto 1 de ellos.  Me explico...

https://www.futwiz.com/en//fifa23/player/emmanuel-dennis/16645

Si os vais a esta página, veréis un jugador de futbol. He sido capaz de extraer los datos del jugador, tal como nombre, equipo, liga, nacionalidad, precio PC, precio PS, Rango de precios, etc y que los escriba en diferentes columnas. Todo esto funciona perfecto, un poco lento, pero funciona.  

Lo que me falta es que extraiga el tipo de carta que es. Es decir, hay "platas normales", "platas únicos",  "oros normales" y "oros  únicos". (Hay más clases pero centrémonos en esos 4 tipos). 

Buscando dentro de cada uno de los tipos de jugadores encuentro que existen 4 diferentes "div class" para cada una de ellas, es decir:

<div class="card-23 card-23-silver" ...     Esto seria plata único

<div class="card-23 card-23-silver-nr"... Esto sería plata normal

<div class="card-23 card-23-gold"... Esto seria oro único

<div class="card-23 card-23-gold-nr".... y esto seria oro normal.

Si extraigo datos de la web, de la forma que extraigo las otras celdas obtengo los datos del jugador. Sin embargo en este caso solo quiero saber qué tipo de carta es, no sus stats.  

Osea en realidad lo que quiero es que busque "card-23 card-23-silver" si existe, que lo escriba en la fila que está el jugador, en una columna nueva sino que busque el siguiente tipo "card-23 card-23-silver-nr" si existe, que lo escriba en la misma celda. Y así hasta completar los 4 tipos (o más que añada más adelante".

Os adjunto el fichero con las macros a ver si me podéis echar una manilla porfa.

 

Como información adicional. La macro actualiza solo las líneas indicadas entre los valores de "S1" y "U1".

Gracias por adelantado a quien me ayude :D

 

 

FICHERO CON MACROS (6).xlsm

Enlace a comentario
Compartir con otras webs

He probado con este trozo de código, pero no funciona bien.

Set curcell = Worksheets("Hoja1").Cells(Counter, 14)
    Dim MyObject1 As Object                  ' Create object variable.
    Set MyObject1 = [G2]                     ' Create valid object reference.

        On Error Resume Next


If IE.document.getElementsByClassName("card-23 card-23-silver-nr") = True Then
curcell.Value = "silver-nr"


ElseIf IE.document.getElementsByClassName("card-23 card-23-silver") = True Then
curcell.Value = "silver"


ElseIf IE.document.getElementsByClassName("card-23 card-23-gold-nr") = True Then
curcell.Value = "gold-nr"


ElseIf IE.document.getElementsByClassName("card-23 card-23-gold") = True Then
curcell.Value = "gold"
Else: curcell.Value = 0
End If

 

Ayuda please :_(

Enlace a comentario
Compartir con otras webs

Hola Abraham,

Lo primero gracias por contestar. Te explico de nuevo lo que estoy buscando... Empiezo de 0 para explicarme mejor.

Quiero hacer un Excel para tener actualizados los precios de jugadores de futbol del FIFA. En dicho Excel quiero meter un  link de futwiz y que la macro de Excel que he creado actualice sus datos. La mayoría de estos datos son fijos. Es decir,  no cambian. Como por ejemplo el nombre, la posición que ocupan,  nacionalidad, etc.  Otros valores sin embargo, como el precio si van cambiando.  

La mayoría de las cosas ya he conseguido que se actualicen con la macro. Es decir, si pongo un link y hago correr la macro Excel indicando las líneas a actualizar, me actualiza bien las columnas con los datos del jugador. 

La pregunta que ayer hacía era para obtener el tipo de carta. Como explicaba en el primer post, hay muchos tipos de carta. Los más importantes son oro común, oro único, plata común y plata único. Hay más tipos pero para empezar vamos con esos 4 tipos de carta.

Ayer finalmente conseguí que al menos me diga si es una carta única o no. 

Pero sinceramente no entiendo porqué funciona o como.... Ya que me daba el resultado contrario al que yo esperaba.

Esta es la parte de la macro que conseguí que funcionara sin saber aún como lo hace...

 

Set curcell = Worksheets("Hoja1").Cells(Counter, 14)      'Con este comando decimos que se coloque en la columna 14 y fila "Counter" que es una variable definida anteriormente para que vaya cambiado para que cambie de fila.
    Dim MyObject As Object    ' Create object variable.        'Este comando lo copie aunque no termino de entender para qué es necesario crear esta variable
    Set MyObject = [G2]    ' Create valid object reference.    'Este comando lo copie excepto lo de [G2] Simplemente fijo ese valor en la variable.
        On Error Resume Next 'Este comando lo copie con la idea de 

If IE.document.getElementsByClassName("card-23 card-23-gold-nr") = True Then 'Con este comando decimos que si encuentra el elemento de clase "card-23 card-23-gold-nr" entonces...
curcell.Value = "Único"   'Con este comando decimos que si ha encontrado el elemento de clase anterior escriba en la celda actual "Único". Pero en mi opinión hay algo que no entiendo aquí. Ya que debería ser al contrario, si encuentra "card-23 card-23-gold-nr" eso seria una carta oro normal, no única.

Else: curcell.Value = "Normal" 'Con este comando decimos que NO ha encontrado el elemento de clase anterior escriba en la celda actual "Normal"

End If

 

Resumen: 

Quiero que actualice el tipo de carta. Existen al menos 4 tipos. Pero no consigo saber como hacerlo. Lo único que he conseguido es que me diga si es único o no. Y en mi opinión hace lo contrario de lo que yo creo que le pido.

A ver si esta vez me he explicado mejor... Si hay algo que no se entiende no dudes en preguntarme.

Enlace a comentario
Compartir con otras webs

En 30/11/2022 at 20:22 , Abraham Valencia dijo:

No me entendiste, me refiero a que, esos valores que te faltan ¿En qué parte de la web están? Indícalo, nosotros no conocemos esa web, la podemos ver, para al ser tú quien requiere ayuda debes dar detalles. 

Hola Abraham, 

El tipo de carta viene en el código de la página de cada jugador. Si hago click derecho sobre la carta y le digo "inspeccionar" se puede ver como a cada carta la nombran de una forma u otra.

En el código de las paginas de cada jugador (en el primer post tienes el link de 1 jugador) puedes encontrar que el "elemento de clase" (<div class="*****") de una carta plata única, es nombrada "card-23 card-23-silver", que una carta oro única es nombrada como "card-23 card-23-gold" o también "card-23 card-23-silver-nr" o "card-23 card-23-gold" si son platas u oros "normales".

Solo hay un tipo de carta en cada página. Es decir, NO puede haber 2 tipos para el mismo jugador.

De esa forma es como he obtenido todos los demás datos de cada jugador. Sin embargo, como puedes ver en la macro del excel... es diferente. Me explico...

En el código de la macro por ejemplo tengo este comando:

curcell.Value = IE.document.getElementsByClassName("pname-h1")(0).innerText

Lo que haría ese comando es obtener el elemento de clase "pname-h1" (nombre del jugador) y ponerlo en la celda seleccionada justo antes. El elemento de clase se llama "pname-h1" y la respuesta a ese comando sería el nombre del jugador.

Ahora lo que realmente quiero es hacer una búsqueda en ese código. Y buscar los 4 tipos de carta descritos anteriormente. Si encuentra uno de esos 4 tipos que lo escriba en la celda. Si no encuentra ninguno de esos 4 tipos que escriba en la celda "Otro" o "especial".

Según la respuesta de Sergio no puedo subir archivos a otras páginas para explicar mejor lo que necesito. Y el archivo que puedo subir aquí me dice que máximo de 32,16kB. Solo una imagen ya pesa 900kB y ayer subí 4.

A ver si esto explica mejor lo que necesito y donde encontrarlo.  

Por último me dices en el mensaje que iexplorer no es lo mejor. Y estoy de acuerdo. Pero no tengo mucha idea de programar. Simplemente intento leer de un lado y de otro. A base de prueba y error... aprendiendo poco a poco. Como sería el código si quisiera que abriese chrome?

Si me animé a registrarme aquí es porque me he quedado ya bloqueado, no sé qué mas probar. A ver si me puedes echar una mano en mejorar esa macro por favor.

Gracias por adelantado

Alex

Enlace a comentario
Compartir con otras webs

En 2/12/2022 at 8:26 , Gnoma dijo:

Hola Abraham, 

El tipo de carta viene en el código de la página de cada jugador. Si hago click derecho sobre la carta y le digo "inspeccionar" se puede ver como a cada carta la nombran de una forma u otra.

Ya lo puse en el primer post y en el anterior. Te digo como lo obtengo, a ver si así se entiende. 

Voy a futwiz, miro cualquier jugador. No importa cual.  Por ejemplo este mismo  https://www.futwiz.com/en/fifa23/player/andre-ramalho/16818

Aparece una carta a la izquierda arriba con la foto del jugador con sus stats. Hago click derecho en la carta y le digo al navegador "inspeccionar". De esa forma me abre el código de la pagina. Ahí puedo ver todo lo que contiene la carta. Su cara, equipo, nacionalidad, posición, etc.

<div class="card-23 card-23-gold-nr
">
<div class="card-23-face"><div class="card-23-face-inner"><img src="https://cdn.futwiz.com/assets/img/fifa23/faces/210007.png" alt="Andre Ramalho 76 Rated"></div></div>
 <div class="card-23-badge"><img src="https://cdn.futwiz.com/assets/img/fifa23/badges/247.png" alt="Badge"></div>
<div class="card-23-flag"><img src="https://cdn.futwiz.com/assets/img/fifa23/flags/54.png" alt="Nation"></div>
<div class="card-23-name">André Ramalho</div>
<div class="card-23-rating">76</div>
<div class="card-23-position">CB</div>
<div class="card-23-atts">
<div class="card-23-atts1">
<div class="card-23-attnum card-23-attnum1">50</div><div class="card-23-attlabel card-23-attlabel1">PAC</div>
<div class="card-23-attnum card-23-attnum4">66</div><div class="card-23-attlabel card-23-attlabel4">DRI</div>
</div>
<div class="card-23-atts2">
<div class="card-23-attnum card-23-attnum2">59</div><div class="card-23-attlabel card-23-attlabel2">SHO</div>
<div class="card-23-attnum card-23-attnum5">77</div><div class="card-23-attlabel card-23-attlabel5">DEF</div>
</div>
<div class="card-23-atts3">
<div class="card-23-attnum card-23-attnum3">67</div><div class="card-23-attlabel card-23-attlabel3">PAS</div>
<div class="card-23-attnum card-23-attnum6">77</div><div class="card-23-attlabel card-23-attlabel6">PHY</div>
</div>
</div>
<div class="card-23-headeroverlay"></div>
<div class="card-23-split card-23-flag-split"></div>
<div class="card-23-split card-23-name-split"></div>
<div class="card-23-split card-23-atts-split"></div>
<div class="card-23-split card-23-chem-split"></div>
<div class="card-23-chemstyleimg"></div>
</div>

En la primera de las líneas de código, dice el tipo de jugador. En este caso es "card-23 card-23-gold-nr" y eso significa que es un "oro normal".  Así es como miro que tipo de jugador es.

A ver si esta vez me expliqué bien.

Enlace a comentario
Compartir con otras webs

En 3/12/2022 at 3:46 , Abraham Valencia dijo:

Nuevamente, era tan fácil como indicar en qué parte de la web está el valor que no logras extraer.  Si lo indicaste con una imagen y era muy grande ¿Por qué no reducirla? Suerte.

Te sirvió con lo que puse en el último post  para saber lo que busco y donde lo busco?

Enlace a comentario
Compartir con otras webs

  • 2 weeks later...

:(

Veo que es complicado recibir una respuesta que me ayude ...

Hace casi 2 semanas desde que puse mi última respuesta sin ninguna posible solución. No sé... no me parece que lo que busco sea tan complicado...  Agradezco si algún alma caritativa puede echarme un cable.

Enlace a comentario
Compartir con otras webs

Hola

Un ejemplo que, creo, podría ayudarte. Ojo, trata de entenderlo y adaptarlo a lo que necesitas:

Sub BuecarenWeb()

Dim ie As Object
Dim Textoabuscar$
Set ie = CreateObject("InternetExplorer.Application")

ie.Navigate "https://www.futwiz.com/en/fifa23/player/andre-ramalho/16818"

Do Until ie.ReadyState = 4
     DoEvents
Loop

ie.Visible = True

Application.Wait (Now + TimeValue("00:00:01"))

Textoabuscar = InStr(1, ie.Document.body.innerhtml, "card-23 card-23-gold-nr")

If Textoabuscar > 0 Then
  MsgBox "Existe"
Else
    MsgBox "No existe"
End If

'ie.Quit
'
'Set ie = Nothing

End Sub

 

Enlace a comentario
Compartir con otras webs

Genial! Con ese código que pusiste modificándolo a mis necesidades y variables ya he conseguido lo que quería! Muchas gracias!

Al conseguir que funcione con los 4 tipos que dije anteriormente (Oro, plata, normal y único) al final he metido todos los tipos que hay (que son como 20 o 30 tipos en total).

Solo me falta una cosa por obtener... Voy a investigar primero a ver si lo consigo yo solo. Si quieres te pongo el código que he usado para que detecte el tipo de carta.

De nuevo, gracias!

 

Enlace a comentario
Compartir con otras webs

En 30/11/2022 at 3:13 , Abraham Valencia dijo:

Hola

Tú sabes dónde está cada cosa que te interesa en esa web, pero ¿Y nosotros? Indícalo para entenderte mejor. Ah, ojo, hoy en día usar el objeto Internet Explorer no es lo más recomendable.

Hola Abraham,

He intentado hacer esto que dices y que abra el navegador chrome. 

A la hora de navegar no sé como tengo que hacer para que navegue a a donde quiero. Tengo una columna que son links. Y luego una variable que va desde un numero hasta otro (Counter). Pongamos que va desde la 10 hasta la 15. De esa forma hago un loop que mira esas 6 urls. Todo esto con internet explorer va bien. Pero con chrome no lo consigo hacer.

Así como seria en Internet Explorer y funciona bien

Sub Abrir_ie()

' Abre internet explorer
Dim IE
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
' Crea la variable Counter
For Counter = [S1] To [U1]
Set curcell = Worksheets("Hoja1").Cells(Counter, 36)
IE.Navigate curcell.Value
' Espera un tiempo determinado
Application.Wait (Now + TimeValue("00:00:03"))
Next

End Sub

Como puedes ver Counter va desde los números que habrá en las celdas [S1] y U1. De esa forma es fácil cambiar las filas que quiero actualizar. 

Así sería para abrir Chrome. Consigo que se abra. Pero no que navegue a "curcell" que sería la celda actual. 

Sub Abrir_chrome()

Dim chromePath As String
' Crea la variable Counter
For Counter = [S1] To [U1]
Set curcell = Worksheets("Hoja1").Cells(Counter, 3)
chromePath = """C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"""
Shell (chromePath & " -url curcell")
' Espera un tiempo determinado
Application.Wait (Now + TimeValue("00:00:03"))

Next

End Sub

Los links están en la columna 3, por eso .Cells(Counter, 3).

Si en lugar de eso pongo....

Shell (chromePath & " -url http:www.google.com")

...Abre chrome y navega a donde le digo. Pero no sé como hacer para que con el comando Shell navegue a la celda en la que se encuentra como sí hacia con Internet Explorer. Puedes echarme una mano?

 

Enlace a comentario
Compartir con otras webs

Hola de nuevo @Abraham Valencia,

He intentado por todos los medios hacer la busqueda con chrome. Pero no lo consigo.

Este código que sigue a continuación funciona bien con Internet Explorer

Sub Actualizar_precio_unicamente()

' Abre internet explorer
Dim ie
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = True
' Crea la variable Counter
For Counter = [S1] To [U1]
Set curcell = Worksheets("Hoja1").Cells(Counter, 36)
ie.Navigate curcell.Value

' Espera un tiempo determinado
Application.Wait (Now + TimeValue("00:00:10"))

' Añade el precio PS en la columna 4
Set curcell = Worksheets("Hoja1").Cells(Counter, 4)
curcell.Value = ie.document.getElementsByClassName("price-num")(0).innertext

        On Error Resume Next

Next
End Sub

Sin embargo cuando he querido que haga la búsqueda en Chrome no lo he conseguido. He leído algo de las librerias Selenium. Y he probado algunos códigos que he encontrado... Sin exito.

Aquí el código que tengo ahora para intentar hacer búsquedas con Chrome.

Sub Abrir_chrome()

Dim chromePath As String
Dim ie

For Counter = [S1] To [U1]
Set curcell = Worksheets("Hoja1").Cells(Counter, 3)

' Crea la variable Counter

chromePath = """C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"""
Shell (chromePath & " -url " & curcell)
Set ie = CreateObject("Shell.Application")

' Espera un tiempo determinado
Application.Wait (Now + TimeValue("00:00:03"))
    
'Añade el precio PS en la columna 4
Set curcell = Worksheets("Hoja1").Cells(Counter, 4)
curcell.Value = ie.document.getElementsByClassName("price-num")(0).innertext

'MsgBox ie.document.findElementsByClassName("price-num").Text(0)

    
        On Error Resume Next

Next
End Sub

Se abre Chrome, entre los links indicados en las celdas S1 y U1. Hasta ahí todo bien. Lo que no hace es la búsqueda...

curcell.Value = ie.document.getElementsByClassName("price-num")(0).innertext

Ese comando no sé como debería ser usando Chrome. ¿Me podéis echar otro cable por favor?

Gracias por adelantado 

Enlace a comentario
Compartir con otras webs

Hola

Para hacer Web Scraping como el que necesitas a través de Chrome, como ya viste, necesariamente tienes que usar el complemento Selenium, no hay otra forma de controlar dicho navegador con VBA. Particularmente yo no lo uso ni lo usaré, por lo que no podría ayudarte con ello, si decides instalarlo.

Enlace a comentario
Compartir con otras webs

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

  • 96 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Archivos

  • Estadísticas de descargas

    • Archivos
      177
    • Comentarios
      90
    • Revisiones
      27

  • Crear macros Excel

  • Mensajes

    • Prueba este código. Sin el archivo no te puedo ajustar más. Private Sub btnCargaBancos_Click() 'El tipo de dato debe especificase para cada variable Dim TasaCompra As Double, TasaVenta As Double, InvBanesco As Double, InvVzla As Double Dim MontoBanesco As Double, MontoVzla As Double, TasaDiaBan As Double, TasaDiaVzla As Double Dim TasaActual As Double 'Hay que comprobar que los textbox tienen contenido numérico 'Los datos numéricos solo pueden contener números y el separador decimal, cualquier otro caracter dará error al convertir If Not IsNumeric(txtInverBanesco) Or _ Not IsNumeric(txtInverVzla) Or _ Not IsNumeric(txtTasaCompra) Or _ Not IsNumeric(txtTasaVenta) Then MsgBox "Los datos deben ser numéricos", vbCritical Exit Sub End If InvBanesco = CDbl(txtInverBanesco) InvVzla = CDbl(txtInverVzla) TasaCompra = CDbl(txtTasaCompra) TasaVenta = CDbl(txtTasaVenta) 'Los datos de los divisores no pueden ser 0 (Indeterminación matemática) If TasaCompra = 0 Or _ InvBanesco = 0 Or _ InvVzla = 0 Then MsgBox "Los datos no admiten valor cero", vbCritical Exit Sub End If MontoBanesco = (InvBanesco / TasaCompra) * (1 - 0.18 / 100) * (TasaVenta * (1 - 0.18 / 100)) MontoVzla = (InvVzla / TasaCompra) * (1 - 0.18 / 100) * (TasaVenta * (1 - 0.18 / 100)) TasaDiaBan = (MontoBanesco / InvBanesco) * (1 - 0.055) TasaDiaVzla = (MontoVzla / InvVzla) * (1 - 0.055) If TasaDiaBan < TasaDiaVzla Then TasaActual = TasaDiaBan Else TasaActual = TasaDiaVzla End If 'En VBA, los datos numéricos no admiten ser formateados, formatear directamente en las celdas, 'MontoBanesco = FormatNumber(MontoBanesco, 2, True, vbFalse) 'MontoVzla = FormatNumber(MontoVzla, 2, True, vbFalse) 'TasaActual = FormatNumber(TasaActual, 5, True, False) txtBcoBanesco = MontoBanesco txtBcoVenezuela = MontoVzla txtTasaDiaria = TasaActual End Sub  
    • Hola a ambos, @MarianoCruz, si con la respuesta de @Israel Cassales ya tienes resuelto el problema, perfecto. Punto final y a otra cosa. Pero piensa que tu archivo lleva vínculos externos, así que se hace difícil (prácticamente imposible) comprobar si las propuestas dadas ofrecen el resultado esperado. A tal efecto, te sugiero que vuelvas a subir otro archivo, esta vez insertando nuevas hojas que contengan los datos existentes en esos archivos externos.  Tal vez así se vea claro qué es lo que buscas conseguir, y se puedan hacer pruebas que verifiquen la bondad de el/los resultado/s. Tampoco iría mal que insertaras a mano qué resultado debe aparecer en la celda C3 en cada uno de los 3 casos: cuando se inserte 'XI', 'XL' o unos u otros números en los lugares apropiados. Así iremos totalmente sobre seguro acerca del método a emplear. Saludos,
    • Hi Trate de ver que hacían las fórmulas en cuestión pero a su libro le falta o le faltan hojas, por lo que solo podría participar con un par de ideas en general. Lo que entiendo es que según el valor de B3 en C3 debe poner una fórmula u otra, así que es posible que si combina DIRECCION() con INDIRECTO() pueda intercambiar de una fórmula a otra. =SI(B3="Xl",INDIRECTO(DIRECCION(3,5)),SI(O(B3=1,B3=2,B3=3),INDIRECTO(DIRECCION(4,5)),"")) Otra forma sería poner nombre a esas fórmulas en el cuadro de nombres para que las pueda mandar llamar a una o a la otra según el resultado de B3. Por favor tome en cuenta, es solo una idea.
    • Buenas tardes! Tengo el siguiente código: Private Sub btnCargaBancos_Click() Dim TasaCompra, TasaVenta As Double Dim InvBanesco, InvVzla, MontoBanesco, MontoVzla As Double Dim TasaDiaBan, TasaDiaVzla, TasaActual As Double 'Inversion = Val(txtInversion.Text) InvBanesco = Val(CDbl(txtInverBanesco.Text)) InvVzla = Val(CDbl(txtInverVzla.Text)) TasaCompra = Val(CDbl(txtTasaCompra.Text)) TasaVenta = Val(CDbl(txtTasaVenta.Text)) MontoBanesco = (InvBanesco / TasaCompra) * (1 - 0.18 / 100) * (TasaVenta * (1 - 0.18 / 100)) MontoVzla = (InvVzla / TasaCompra) * (1 - 0.18 / 100) * (TasaVenta * (1 - 0.18 / 100)) TasaDiaBan = (MontoBanesco / InvBanesco) * (1 - 0.055)      TasaDiaVzla = (MontoVzla / InvVzla) * (1 - 0.055) If TasaDiaBan < TasaDiaVzla Then     TasaActual = TasaDiaBan Else     TasaActual = TasaDiaVzla End If MontoBanesco = FormatNumber(MontoBanesco, 2, True, vbFalse) MontoVzla = FormatNumber(MontoVzla, 2, True, vbFalse) TasaActual = FormatNumber(TasaActual, 5, True, False) txtBcoBanesco.Value = MontoBanesco txtBcoVenezuela.Value = MontoVzla txtTasaDiaria.Value = TasaActual End Sub   Como se puede apreciar InvBanesco ,  InvVzla , TasaCompra y TasaVenta, son valores que introduce el usuario a través de los respectivos cuadros de texto. Tengo los siguientes problemas: a. Las fórmulas no se ejecutan correctamente (pareciese que no reconociese los números entrados vía cuadros de texto). b. Al darle valor cero (0) a cualquiera de los valores de InvBanesco o  InvVzla, me genera un error en TasaDiaBan o TasaDiaVzla (según sea el caso), aunque, como se puede apreciar, debería generar un valor cero (0). Como dije en mi presentación estoy empezando en esto de la codificación...y quiero aprender de Uds! Agradezco su ayuda! Nota: lamentablemente el fichero es mas grande de lo permitido y no pude anexarlo.  
    • Hola buenas tardes. En una hoja plantilla donde realizo diferentes consultas de datos. tengo ya establecido dos formulas diferentes con función SI y buscar. estos buscan diferentes rangos de datos y recibendiferentes resultados. Cada formula varia según una palabra o numero  ejemplo si pongo Xl pone la formula 1 y si pongo cualquier numero entre 1 y 3 pone la segunda formula. Lo que necesito hacer es que si en una celda de la columna B3 pongo XL debería de considerar la formula 1 y si pusiera el numero 1 me pondría la segunda formula, dentro de la misma formula. Ya agregue la función SI($C3="Xl",Formula1.. Pero no me funciona, espero me puedan ayudar.   Muchas gracias Mariano   Formula doble si en celda existe.xlsx
  • Visualizado recientemente

    • No hay usuarios registrado para ver esta página.
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.