Do you know any way to write a formula for vlookup/indexmatch which will look for first result other than "null" for "aaaa", and then for bbb etc?
I was trying to do that with using multiple if/offsets etc, but its not working.
Is it even possible (there can be one row with "aaa" but also 10 on even more).
The following array formula returns the first entry in column B where it is not null and also where column A has cell value aaaaa.
= IFERROR(INDEX(B1:B6,MATCH(1,(A1:A6="aaaaa")*(B1:B6<>"null"),0)),"no match")
Note this is an array formula, so you must press Ctrl+Shift+Enter on the keyboard after typing the formula rather than just pressing Enter.
To return a similar result except for bbbbb, just replace aaaaa in the above formula with bbbbb.
Related
Hello I will have table going from C7 to the AG7, that will have values like: G20 B34 P55 O33. I need to sum those numbers, but i don't know how to Ignore Letters G B P and O, also I have empty cells with no value. The end result should be 142.
Id like to Sum those numbers in AI7 column.
Is this possible I've looked everywhere couldn't find what I need.
Use this array formula:
=SUM(IFERROR(--MID(C7:AG7,2,5),0))
Being an array formula it must be confirmed with Ctrl-Shift-Enter instead of Enter when exiting edit mode.
If you wish to use a helper row, then you could consider this, which extracts the numbers by avoiding the first character :
So I have two lists in excel.
The first list is made up of large strings.
The second list is made up of smaller strings.
I need to check the first list, to see if any of the strings in the second list are contained in each cell.
Is there an excel formula for that?
I can look up each one individually with an isnumber formula
=IF(ISNUMBER(SEARCH("*dog*",A1)),"dog","No Dog")
but I have a few hundred to go through, so if I can do something like a VLOOKUP that would be better.
For example if one cell in 1st list contacts "Bored" and the second list contains the first 4 letters of the alphabet (a,b,c,d) then a "true" value" of some such would be fine. Then I'd want to check the second cell in the list, and if that was "Tempest" than a "False" value is what I would need, and so on and so on down the list.
With phrases in column A and keywords in column B, in D1 enter the array formula:
=LEN(TEXTJOIN(",",TRUE,IF(ISNUMBER(SEARCH(B$1:B$10,A1)),B$1:B$10,"")))>0
Array formulas must be entered with Ctrl + Shift + Enter rather than just the Enter key. If this is done correctly, the formula will appear with curly braces around it in the Formula Bar.
NOTE:
the core of this formula:
=TEXTJOIN(",",TRUE,IF(ISNUMBER(SEARCH(B$1:B$10,A1)),B$1:B$10,""))
actually lists the key words:
EDIT#1:
If your version of Excel does not support TEXTJOIN() then use this array formula:
=LEN(IFERROR(INDEX(B:B,MATCH(TRUE,ISNUMBER(SEARCH($B$1:$B$10,A1)),0)),""))>0
or this non-array formula:
=SUMPRODUCT(--ISNUMBER(SEARCH($B$1:$B$10,A1)))>0
Personally I prefer to do a COUNTIF against the range + a cell concatenated with wildcards:
=COUNTIF(A1:A6,CONCATENATE("*"&B1&"*"))
If you need it to return a boolean then you can use:
=IF(COUNTIF(A1:A6,CONCATENATE("*"&B1&"*")) > 0, TRUE, FALSE)
On tab 1, I have data down column B that contains string values like this:
\\ABC\VOL1\DATA\Dan\Personal Folders
\\ABC\VOL1\DATA\Mike\My Stuff\Docs\Support
\\ABC\VOL1\DATA\Mike\My Stuff\Photos
\\ABC\VOL1\DATA\Bob\Plans
On tab 2, I have data down column C that I want to use as a lookup table like this:
\\ABC\VOL1\DATA\Adam
\\ABC\VOL1\DATA\Steve
\\ABC\VOL1\DATA\Mike
\\ABC\VOL1\DATA\Ronnie
I need a formula I can put on tab 1 down column C to see if any part of each text string from tab 1, column B matches any complete text string from tab 2, column C. So for example, I would place this formula to show Yes or No like this:
Column B......................................................................Column C
\\ABC\VOL1\DATA\Dan\Personal Folders....................No
\\ABC\VOL1\DATA\Mike\My Stuff\Docs\Support..........Yes
\\ABC\VOL1\DATA\Mike\My Stuff\Photos.....................Yes
\\ABC\VOL1\DATA\Bob\Plans.......................................No
I have tried VLOOKUP, INDEX/MATCH, ISNUMBER/SEARCH, and COUNTIF as an array with wildcards, but I just cannot seem to figure it out. Currently, with COUNTIF as array, I have this:
=COUNTIF(B2,"*" & 'Tab 2'!$C$2:$C$1000 & "*")
This is the start to return the array results, but the results aren't as I would expect as I get "0" when I should get "1" for certain rows.
If anyone can help me out with a formula (not VBA) using any of the functions mentioned above or any others, I would greatly appreciate it. Thanks.
use this array formula:
=IF(COUNT(SEARCH('Tab 2'!$C$2:INDEX('Tab 2'!$C:$C,MATCH("zzz",'Tab 2'!$C:$C)),B2)),"Yes","No")
Being an array formula it needs to be confirmed with Ctrl-Shift-Enter instead of Enter when exiting edit mode.
This will search the cell for any of your criteria and return the number of matches if there is a match (which unless you have duplicates in the criteria it will be a 1).
Enter as array.
{=COUNT(SEARCH($C$1:$C$4,B1))}
I'm trying to find in a list the lowest unique value.
I tried to find out a way on google, but nothing seem to work like I want.
What i have :
John;5
Leon;7
Mark;5
Bob;3
Peter;3
Louis:4
Desired result: "4" because it's the lower unique value.
Suppose I add in the original list:
Alex;4
The new result is about to be "7" because it's the new lowest unique value.
my excel sheet :
Assuming your data is setup so that names are in column A and values are in column B so that it looks like this:
In cell D2 (or wherever you want the result), use this array formula (Note that array formulas must be confirmed with CTRLSHIFTENTER and not just ENTER):
=MIN(IF(COUNTIF(B2:B20,B2:B20)=1,B2:B20))
You'll know you've entered it as an array formula correctly because you'll see it surrounded by curly braces {=formula}in the formula bar. Do NOT add the curly braces manually.
You'll also notice that I have extra rows in there than just the used rows. Normally I'd suggest using a dynamic named range, but this works for now. So when you add the new line of Alex; 4, you get this:
And you can see the formula now has the new correct value of 7.
With data in columns A and B, in C1 enter:
=COUNTIF(B:B,B1)
and copy down. Then in another cell enter the array formula:
=MIN(IF(C:C=1,B:B))
Array formulas must be entered with Ctrl + Shift + Enter rather than just the Enter key.
To avoid speed problems, make the limits on the ranges as small as possible:
=MIN(IF(C1:C6=1,B1:B6))
I am a novice excel user so I'll explain this the best I can. I need to track Returns, Returns/Exchanges and who processed each...
Cell column A Contains employee Names
Cell column B is where return information will go
Cell column C is where exchange information will go
In B2 I want a formula that will say, if A11:A300 contains 'Ben', and F11:F300 contains 'return', then E11:E300
Does this make sense?
Thanks in advance!
I can't tell if you're attempting to "count" all instances of "Ben" and "return" and collect the total in B2, or if you want to return the value of E11:E300 in B11:B300 when the condition that each row that containing "Ben" and "return" is met.
If it's the former, the this should do it:
=SUM(($A11:$A300="Ben")*($F11:$F300="return"))
Just enter that formula into cell B2 and hold "Ctrl + Shift" while you hit "Enter." That will create an array formula that will count all instances of "Ben" and "return" for each row. You'll know you did it right if the formula is surrounded by curly braces {}. And, no, you cannot manually add them. You must use the entry combination: Ctrl + Shift + Enter.
If it's the latter, then this should do it:
=IF(AND($A11="Ben", $F11="return"),$E11,"")
You could do this more efficiently with an array formula (as specified above), but it's a bit more complicated and I don't want to confuse you since you're an admitted "novice."
Just enter that formula into cell B11 and then drag and copy it down to the remaining 299 rows. This will return the value of E11:E300 in B11:B300 as you requested in your question.
If it's something other than that, then you need to rephrase your question.