top of page

Realizar operación solicitada

Actualizado: 26 nov 2023

Tenemos una serie de productos, junto con una cantidad, vemos que cada cantidad separado por una coma, hay un signo de operación, después, tenemos una ultima columna con el precio para cada producto.















Debemos de realizar la operación entre cantidad y precio que indica el signo que hay después de cada cantidad.


Para aspiradora, debemos de sumar, para frigorífico, debemos de restar, y, para home cinema, debemos de multiplicar.


En la celda D2, usamos MAP, como argumento array, seleccionamos el rango B2:B24, como argumento array2, seleccionamos el rango C2:C24.


=MAP(B2:B24;C2:C24

 

Ponemos LAMBDA, y, declaramos dos variables, la primera variable almacena la columna de cantidad, y, la segunda variable, almacena la columna de precio.


=MAP(B2:B24;C2:C24;LAMBDA(x;y

 

Como argumento cálculo de LAMBDA, usamos la funcion CAMBIAR, como argumento expresión, usamos la funcion DERECHA, como argumento texto, ponemos la variable “x”, omitimos el argumento número de caracteres, por lo que nos va a extraer un carácter por la derecha, vamos a obtener el signo de operación.


=MAP(B2:B24;C2:C24;LAMBDA(x;y;CAMBIAR(DERECHA(x)

 

Como argumento valor1, entre comillas dobles, ponemos “+”, como argumento resultado1, usamos la funcion TEXTOANTES, como argumento texto, ponemos la variable “x”, como argumento delimitador, entre comillas dobles, ponemos coma, y, sumamos con la variable “y”, es decir, si el ultimo carácter de cada valor de la columna cantidad es igual a “+”, va a sumar cantidad y precio.


=MAP(B2:B24;C2:C24;LAMBDA(x;y;CAMBIAR(DERECHA(x);"+";TEXTOANTES(x;",")+y

 

Como argumento valor2, entre comillas dobles, ponemos “-“, como argumento resultado2, volvemos a usar TEXTOANTES, como argumento texto, ponemos la variable “x”, como argumento delimitador, entre comillas dobles, ponemos coma, y, restamos con la variable “y”.


Nos va a devolver cantidades negativas, porque restamos una cantidad menor con una cantidad mayor, pues, encerramos entre paréntesis la operación, y, multiplicamos por -1.


=MAP(B2:B24;C2:C24;LAMBDA(x;y;CAMBIAR(DERECHA(x);"+";TEXTOANTES(x;",")+y;"-";(TEXTOANTES(x;",")-y)*-1

 

Como argumento valor3, entre comillas dobles, ponemos el signo de multiplicación, como argumento resultado3, usamos TEXTOANTES, como argumento texto, ponemos la variable “x”, como argumento delimitador, entre comillas dobles, ponemos coma, y, multiplicamos por la variable “y”.


=MAP(B2:B24;C2:C24;LAMBDA(x;y;CAMBIAR(DERECHA(x);"+";TEXTOANTES(x;",")+y;"-";(TEXTOANTES(x;",")-y)*-1;"*";TEXTOANTES(x;",")*y

 

Cerramos paréntesis.


=MAP(B2:B24;C2:C24;LAMBDA(x;y;CAMBIAR(DERECHA(x);"+";TEXTOANTES(x;",")+y;"-";(TEXTOANTES(x;",")-y)*-1;"*";TEXTOANTES(x;",")*y)))

 

Aceptamos, y, lo tenemos.














Miguel Angel Franco

 
 
 

Comentarios


© 2019 Miguel Ángel Franco García

bottom of page