Using IF function with multiple conditions - excel

I have an Excel report where I have to convert money (Column O in the picture) into EUR currency:
So far I have been using the IF function, but here the pattern is a bit different. Instead of
=IF(Condition;"true";"false")
I need rather
=IF(P2='EUR';O2);IF(P2='USD';O2*0,78);IF(P2='GBP';O2*1,25);
Just it does not work as it's not a correct Excel expression.
Any help ?

Something like this...
=IF(P2='EUR';O2;IF(P2='USD';O2*0,78;IF(P2='GBP';O2*1,25;NA())))

You'll have to nest the IF function calls, i.e.
IF(Condition1;Result1;IF(Condition2;Result2;If(Condition3;Result3;SomeDefault)))
Example here:

First arrange a currency values table versus euro for example I did that in sheet 2 on below image
then you can use the formula:
=IF(ISNA(VLOOKUP(P2,Sheet2!$A$1:$B$4,2,0)*O2),"Incorrect urrency",VLOOKUP(P2,Sheet2!$A$1:$B$4,2,0)*O2)

Right. I don't have excel, but I did it on Google Spreadsheets, and it works.
So what you have to do is to nest the conditions, such as:
=IF(B1="EUR";A1;IF(B1="GBP";A1*1,25;A2*0,78))
So you will get something like:
Hope this helps!

Related

Creating a two way lookup Price Matrix in Excel using VBA (Index/Match/SumProduct)

I'm trying to create a pricing matrix for products but using Index/Match or SumProduct formulas are proving to be a nightmare for me, I'm wondering if VBA would be easier?
Essentially if a product width or height is in between two figures, I need the price quoted to take on the next pricing bracket. (NB: Rounding up or using Ceiling functions within the formula doesn't work for me either)
Examples of the code I've tried using are:
=SUMPRODUCT(--(HeightRange=CEILING(Height,1000))*--(WidthRange=CEILING(Width,10))*PriceRange)
=INDEX(PriceRange,MATCH(MIN(ABS(HeightRange-Height)),ABS(HeightRange-Height),-1),MATCH(MIN(ABS(WidthRange-Width)),ABS(WidthRange-Width),-1))
Example Table:
Use:
=INDEX(B:J,MATCH(N3,A:A),MATCH(M3,B$3:J$3))
You could make use of =AGGREGATE() like so:
=INDEX(A:E,AGGREGATE(15,3,(($A$4:$A$11>=N3)/($A$4:$A$11>=N3))*ROW($A$4:$A$11),1),AGGREGATE(15,3,(($B$3:$J$3>=M3)/($B$3:$J$3>=M3))*COLUMN($B$3:$J$3),1))
You can use directly formulas just like both guys said above...
Mine here:
=INDEX($A:$J,MATCH($N3,$A:$A,0),MATCH($M3,B$3:J$3,0))

Looking at multiple values with one statement w/o OR statement

Say I have multiple tasks: quoting, binding, rating that have same response time of 3 hours... I was wondering if there was a way to make an IF statement such that I could just say for example:
=IF(B2="*Quoting,Binding,Rating", C2+3, NA)
I haven't been able to get it to work, and I'm trying to avoid using an OR statement with the IF statement to get the values, but is it possible to do it this way? It sounds simple, "If it's task x,y,z then add 3 hours to the start time column (C2)". Any advice guys? Thanks!
This may achieve what you're after
=IF(NOT(ISERROR(SEARCH(B2,"Quoting,Binding,Rating"))), C2+3, "NA")
Hope that helps
Use the OR statement: =(IF(OR(B2="Quoting",B2="Binding",B2="Rating"),C3+3,NA()))
If you're looking to shorten the formula, you can put the values you want to check into a named range (I used "List" to reference "I:I" but you could put the list on another sheet) and use SUMPRODUCT.
=IF(SUMPRODUCT(--(B2=List))>0,C3+3,NA())

Select filtering and applying quantity amount to listed percentages

I tried to search but didn't find anything that was exact to what I was looking for. Let's say that I have the Investment$$ and I want to allocate that amount to only Items = to Toy Story and where Character begins with TS. The Investment $$ should only be applied to "Toy Story" and where character begins with "TS".
Apologies on not being able to embed the pictorial example to this message.
I need to write this in VBA. My questions is, is the best way to do this through a vlookup (programmed via VBA)? I want to avoid having the $1000 applied to the wrong movie title and even when it is applied to the right one (Toy Story) I want to make sure it's applied to the right ("TS") ones.
I'll also experiment on my end as well.
Pixar Movie Example
No need for VBA here. You can go with a plain vanilla Excel formula.
What you need in this situation is a key/ID item for your VLOOKUP - how you make that key is up to you, but with it you can easily utilize VLOOKUP. See my below example:

Combining IF and RIGHT functions in excel

I'm a super novice, trying to navigate data analysis in Excel, so be kind! I need to combine the IF and RIGHT functions.
So it's a sales dataset with different products, I need to use the IF function to filter the products so it only applies to "Bikes". Then I need the last 2 characters of the Product Name column which represents the size of the bike.
I've got the RIGHT function to work by itself but I can't combine it with the IF function so it only applies to the bike products.
=RIGHT(L2,2)
If this makes sense to anyone please help!
=IF(LEFT(A1, 5) = "Bikes", RIGHT(A1, 2), "")
Then just copy this down the range of your data.
Here's how you do it when working within a table:
=IF([Product Category]="Bikes",RIGHT([Product],2))
Try this. It worked for me.
=IF([#[Product Category]]="Bikes", RIGHT([#Product],2),"")

Month, Year and Countif

I am trying to develop a query which should pick out and count the data from a data pool corresponding to the year/month in the given (A106) cell.
While such (array) construct works:
COUNTIF(IF(MONTH(INDEX(Data.$A$1463:$A$1827))=MONTH(A106);Data.$B$1463:$B$1827);">0");
such one - does not:
COUNTIF(IF( MONTH(INDEX(Data.$A$1463:$A$1827))=MONTH(A106) and YEAR(INDEX(Data.$A$1463:$A$1827))=YEAR(A106));Data.$B$1463:$B$1827);">0")
It there anything to be done about it or it is impossible?
I believe that you might want to use a sumproduct for this (though there are certainly other ways to achieve the same result). This might do the trick:
SUMPRODUCT((MONTH(INDEX(Data.$A$1463:$A$1827))=MONTH($A$106))*(YEAR(INDEX(Data.$A$1463:$A$1827))=YEAR($A$106)))

Resources