Excel- Buscar valor aproximado con dos variable

Buenas, necesito hacer un buscarv/h con dos condiciones..

un ejemplo sería asi... Tengo un llistado con código de productos y distintos precios según la forma de pago.

Ejemplo, tengo una tabla así...

ARTICULO     PRECIO EFT   PRECIO TARJETA   PRECIO C/DESC

ART1                   $15.5                  $20.25                    $14

ART2                   $100                     $150                      $95 

ART3                    $55                        $64                     $50.5

ahora tengo registrada las ventas de tal forma:

COL A    COL B    COL C

ART3        $64     FORMA DE PAGO??

ART1     $15

ART3        $50

Y quiero que en la columna C, me diga la forma de pago!!

REstriccion: Los artículos se nombran de forma alfanumérica

Restriccion 2: Quiero que busque en el cuadro el valor aproximado (porque a veces se redondea) y me diga que forma de pago de usó.

Sé que el buscar V NO admite dos variables, y lo he resuelto con CONCATENAR, pero en este caso, me tiene que devolver un valor aproximado y de un buscar con un valor alfanumérico... No se me ocurre como hacerlo!!! HElpppppppppppppppppp

Muchas gracias!!

1 respuesta

Respuesta
1

No encontré una manera de hacerlo con fórmulas, ya que las fórmulas pueden encontrar un valor aproximado pero cuando estos valores se encuentran ordenados, en este caso los valores no están ordenados.

Pero realicé una función, para que puedas obtener la forma de pago. Puedes utilizar la función en la misma hoja, como se muestra en el ejemplo:

O puedes utilizar la función en diferentes hojas

La función "forma" la puedes utilizar como cualquier otra función de excel,

Los parámetros que le tienes que pasar son:

- El rango de celdas de la tabla,

- La celda del Artículo

- Y la celda del precio de venta

Nota: Procura poner el rango de la tabla con referencias absolutas, ej: $A$1:$D$13, es decir, con los símbolos de pesos, para que cuando arrastres la fórmula el rango no se mueva.

También puedes utilizar la función: forma en otra hoja, revisa el ejemplo que está en la hoja "venta".

Esta es la función:

Function forma(tabla As Range, art As Range, precio As Range)
'Por.Dante Amor
    hoja = tabla.Worksheet.Name
    Set b = tabla.Find(art)
    If Not b Is Nothing Then
        una = True
        f = b.Row
        For i = b.Column + 1 To b.Column + tabla.Columns.Count - 1
            res = Abs(Sheets(hoja).Cells(f, i) - precio.Value)
            If una Then menor = Sheets(hoja).Cells(f, i)
            una = False
            If res = 0 Then
                colres = i
                Exit For
            Else
                If menor > res Then
                    menor = res
                    colres = i
                End If
            End If
        Next
        forma = Sheets(hoja).Cells(tabla.Cells(1, 1).Row, colres)
    End If
End Function

Sigue las Instrucciones para una Función

1. Abre tu libro de excel

2. Para abrir VBa y poder pegar la función, Presiona Alt + F11

3. En el menú elige Insertar / Módulo

4. En el panel del lado derecho copia la función

5. En cualquier celda utiliza la función, como cualquier otra función de excel

También te anexo mi archivo para que veas el funcionamiento y lo adaptes a tus datos. Lo encuentras en el siguiente enlace:

Archivo con la función

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas