I have an Excel formula where I check if the value is above or below a certain threshold. My list contains both numbers and text.
Example:
Column A
10
20
30
No value
40
50
I want to group all the values >=30 "Above 30",the ones between 30 and 10 "Between 30 and 10" and "No value" and 10 in "Below 10".
This is the formula that I use:
=if(A1>=30,"Above 30", IF(A1<10,"Below 10","Between 30 and 10))
Everything is okay with the numbers but "No value" is marked as "Above 30".
What could be the reason for that?
Thank you!
I think you want (a) another double quote and (b) to combine (OR) the case where under 10 or Text:
=IF(OR(ISTEXT(A1),A1<10),"Below 10",IF(A1>=30,"Above 30","Between 30 and 10"))
The OR needs to be first to take advantage of IF's short circuiting.
Excel sorts (ascending) any Text after any Number.
Related
I have a few hundred rows of data, and each has a number between 1 and 200, and I'd like to put them in categories of 1-5 depending on where that number is.
The categories look like this:
Zones Min Max
1 0 35
2 35 60
3 60 85
4 85 110
5 110 200
I want to assign it a Zone if it is greater than the Min, but less than the Max.
I have 2 formulas I've been working with to solve it. One is a nested IF AND statement:
=IF(A1<=35,1,IF(AND(A1<=60,A1>35),2,IF(AND(A1<=85,A1>60),3,IF(AND(A1<=110,A1>85),4,IF(AND(A1<=200,A1>110),2,"TOO BIG")))))
The 2nd formula attempts to use a SUMPRODUCT function:
=INDEX($C$2:$C$6,SUMPRODUCT(--(A1<=$E$2:$E$6),-- (A1>$D2:$D$6),ROW($2:$6)))
Rather than have to continue to adjust the numeric values manually, I set them as absolutes, which is why this formula is slightly different. The E column is the Max value set, and the D is the Min value set.
Any help would be appreciated!
Use this:
=MATCH(A1,{0,35,60,85,110})
Another way is to use VLOOKUP and you just need to set the min number:
=VLOOKUP(D2,$A$2:$B$6,2,1)
The key is the 4th parameter needs to set to 1 which means TRUE. It will find the closest value and return the zone for you.
But noticed that you have overlaps like 35 or 60 etc. that you will need to adjust your value column.
i have some data like below in one column.
Value
-----
A#show
20
20
B#show
20
25
30
C#show
10
10
10
10
D#show
10
E#show
10
20
I want to compare the values between the cell where the last string is "show" and if there is only one then no comparison.
Value Comparison
----------------------
A#show Same
20
20
B#show different
20
25
30
C#show same
10
10
10
10
D#show only one
10
E#show different
10
20
I think it's can be possible using a VBA script
It's a bit unclear what you're trying to compare between values. However, there is a way to do this without VBA.
1) In the Second Column, create a "Header" column which names which header each value belongs to. The first entry would just be A#show, but then the following would be:
=IFERROR(IF(A2*1>0,B1),B2)
2) In the third column, you can utilize countif to see if the header has more than 2 entries (indicating it has a comparison). Here is where you can apply whatever comparative metric you'd like. If it's something unformulaic, just use a pivot table with the 3 columns.
I am making a task sheet for my students and I have written the following code:
=IF(J35-K35>5,"Task 1",IF(J35-K35>3,"Task 2",IF(J35-K35>2,"Task 3", IF(J35-K35>0,"Task 4",IF(K35-J35<1,"Task 5",IF(K35-J35<3,"task 6",IF(K35-J35>3,"Task 7")))))))
The cell K35 contains "Total hours worked" and
The cell J35 contains "Total hours required".
Their format is in [h]:mm
The problem I am facing here is that it is showing me output for only 2 conditions - for the one which is greater than 0 (Task 4) and the other which is less than 1 (task 5). None of the other conditions are getting executed. I need a way in which I can compare hours with numbers.
How can I solve this problem?
If the cells contain times, the calculation J35-K35 will return a number between 0 and 1 for a positive value, between -1 and 0 for a negative value. The formula will use the underlying values, not what they will look like if formatted as time.
The value of one hour, formatted as general is 0.041666667. You can either use that and its multiples in your formula or multiply the result of the subtraction by 24 to arrive at numbers where the part before the decimal point is the number of hours, so your formula could be
=IF((J35-K35)*24>5,"Task 1",IF((J35-K35)*24>3,"Task 2",IF((J35-K35)*24>2,"Task 3", IF((J35-K35)*24>0,"Task 4",IF((K35-J35)*24<1,"Task 5",IF((K35-J35)*24<3,"task 6",IF((K35-J35)*24>3,"Task 7")))))))
I have a data set something like this
Units Price
1 15
100 10
150 9
200 8
50000 7
I need the output as Price with respect to quantity.
Example- If Input value is 90 it should give price as 15
If input is 210 it should give value as 8.
However,sadly I cannot use IF statement.
Thanks in advance.
You can use a combination of INDEX and MATCH
=INDEX(B1:B5,MATCH(lookup_value,A1:A5,1))
This assumes Units are in column A and Price is in column B
Make sure you understand both functions:
INDEX
MATCH - particularly the reason for the ,1) at the end
You can also use VLOOKUP. This is probably a bit easier although INDEX/MATCH is more versatile:-
=VLOOKUP(Lookup_value,$A$2:$B$6,2,TRUE)
I am trying to report "Number of Elapsed Seconds" in these breaks: Less than 15 minutes, 15 to 19 min, 20 to 24 min, 25 to 29 min, 30 to 45 min, 45 to 60 min, and 60 min or more.
I have a field that shows elapsed seconds and I am able to get the breaks I want -- In Total -- by using the following formula:
=SUMPRODUCT((ABS(TestTable!$AF$2:$AF$50)>=0)*(ABS(TestTable!$AF$2:$AF$)<=899))
(where 'TestTable' is the sheet where the data is located and Col AF is where elapsed seconds is stored). The problem?
I need to cut each break down by another field. Also in 'TestTable' is a field with either PRODx or PRODz in it (it's Col H).
So I need to say "If Col H = PRODx, then count how many records are less than 15 min and put it in a certain cell ---THEN--- if Col H = PRODz then count how many records are less than 15 min and put that result in a different cell".
Anybody know a way to write this?
if you have excel 2007 or later, COUNTIFS should work out for you.
=COUNIFS(H:H,AF:AF,"<900",H:H,"PRODx") for less than 15 mins, and PRODx
=COUNIFS(H:H,AF:AF,"<900",H:H,"PRODz") for less than 15 mins, and PRODz
then for the ranges you expand the selection
=COUNIFS(H:H,AF:AF,">=900",AF:AF,"<1200",H:H,"PRODx") for 15-19 mins, and PRODx
=COUNIFS(H:H,AF:AF,">=900",AF:AF,"<1200",H:H,"PRODz") for 15-19 mins, and PRODz
keep repeating this for all the ranges of time/PRODs that you need
In cell A1, type:
=COUNT(IF(H:H="PRODx",IF(AF:AF="Less Than 15 Seconds",M1:M5)))
M is just another random column
In cell A2, type the same, but change PRODx to PRODz.
Make sure to enter all formulas as an array formula, by hitting CTRL + SHIFT + ENTER after typing, instead of just enter.
See this link for more: Count If WIth Multiple Criteria
EDIT
If you must have a VBA solution, let me know. Otherwise, you don't need VBA. Also, if you are running Excel 2007 or above, you can use the CountIfs function, which will be cleaner and less resource intensive than the Array formula above.