How to search and combine several sheets in Excel? - excel

I am trying to do an Excel sheet to do some statistics about athletes in world cup competitions.
I have a worksheet on excel for every competition, plus one for the overall result after the season (which thus has a list of every athlete that competed at least once).
The worksheets have the name of the location where the competition happened. Eg: PARIS.
I have one more sheet, named "Athletes". what I want to do there is:
for every athlete appearing in the "overall" list, I want the columns after the name to be filled with the results in every location the athlete completed in.
For example
Name Paris London LA Berlin
Amoros 1 5 / 7
Bilboni 2 43 3 12
To find "1", I want excel to search the sheet "Paris" for "Amoros" and extract the ranking in the row it finds "Amoros".
Let's say it finds "Amoros" in cell L57, then the corresponding ranking to extract will be in K57. "/" indicates Amoros didn't compete in LA.
I am using Excel 2016 on a Mac.
Thanks a lot in advance!
Ben

If you data is set up starting in A1 you would use INDEX/MATCH with INDIRECT to set the sheet:
=IFERROR(INDEX(INDIRECT("'" & B$1 & "'!$K:$K"),MATCH($A1,INDIRECT("'" & B$1 & "'!$L:$L"),0)),"/")
This formula would go in B2 and be copied over and down the dataset.

Related

Count number of rows in which value occurs in any column

Sample Data:
Desired result:
Name Number Handled
Bill 1
Erica 1
James 2
Jimmy 1
John 1
Kory 1
Setup:
Column W is "Incident Number", Column X is "Created by", Column Y is "Resolved By", and Column Z is "Updated By". The same person can create, resolve and update or can be multiple people. The boss is asking for each person in the team, how many tickets are they touching each day. So if "James" is opened, resolved, and updated ticket 22, he did one ticket. If James opened ticket 22 but Tony resolved it, they each touched ticket 22 so both get credit. Same with Updated. Could be same person, or 3 different. For each tech I need a formula to find the total number of tickets they touched, regardless of how many actions they did on the ticket.
Add another column (I used AA) that concatenates the three columns. You'll need to replace "Sheet1" with whatever the sheet name is
=CONCATENATE(",",Sheet1!X1,",",Sheet1!Y1,",",Sheet1!Z1,",")
Then your formula is a simple countif with search
=COUNTIF(AA:AA,"*,"&A2&",*")
You can use either of the following formulas to get the result (assuming your names are in column A of another sheet. Use the first formula if calculation speed isn't an issue and your number of rows varies a lot. Use the second formula for faster calculation if you can be confident that the number of rows won't go above some number. Just replace 1000 with your own number.
=SUMPRODUCT(SIGN((Sheet1!$X:$X=$A2)+(Sheet1!$Y:$Y=$A2)+(Sheet1!$Z:$Z=$A2)))
=SUMPRODUCT(SIGN((Sheet1!$X$2:$X$1000=$A2)+(Sheet1!$Y$2:$Y$1000=$A2)+(Sheet1!$Z$2:$Z$1000=$A2)))

vlookup values from other sheets disappear when file closed

I've got a group of registers that I created for our volunteers and youth club members. Each register spreadsheet is from Sept to July. More and more volunteers and young people are staying with us for longer so I have been trying to create a vlookup that takes the total hours they volunteered from the previous years and add it to the current year total. This chains about 3-4 previous years of registers together. ie, 2014-15 adds to 2015-16 total, 2015-16 adds to 2016-17 total, 2016-17 adds to 2017-18 total, etc. The vlookup works great when all the previous years registers are open, but once I close one I get a #n/a error. How can I prevent the error msg and keep my formula working without opening all the documents?
Have you tried to specify the complete workbook path in your vlookup formula?
I.e. something like this:
=VLOOKUP(B1,'C:\School Projects\University\[Assignment.xlsx]DataYear'!$A3:$D10,3,FALSE)
Where:
Assignment.xlsx - is the name of workbook
DataYear - is the name of the worksheet
EDIT:
Since you mention you have tables when you are using your VLOOKUP you should use the Index + Match, is way more flexible. [#Data] won't work and VLOOKUP works best only if the return column is next to the search column, i.e. Column 1 is search and Column 2 is return values.
Example of applying INDEX + MATCH in table:
If I have an table in Book2.xlsx
And my table is named table 15:
Let's assume I have another woorkbook (Book1.xlsx). I want to check how many Quantity the person Sally sold. (My formula should return: 2, Cell C3).
Then my formula should be in the other excel book (Book1.xlsx):
=INDEX('G:\Folder Stuff\Book2.xlsx'!Table15[Qty],MATCH(B2,'G:\Folder Stuff\Book2.xlsx'!Table15[People],0))
So to apply for tables you should use:
Table15[Qty] - Return quantity, which refer to my column Qty in my example
Table15[People] - column to lookup my search value (sally), which refer to my column People in my example
Logic of INDEX + MATCH:
=INDEX(Column where result should be return,MATCH(lookup_value, Column where lookup value exist, Exact or Approximate Match)
So your formula should be something like this:
=INDEX('C:\Users\COG Youth Services\Dropbox...\Registers\Volunteers attendance record 2017-18.xlsx'!Table14[Name of the table column in Column 37],MATCH(StudentLookup,'C:\Users\COG Youth Services\Dropbox...\Registers\Volunteers attendance record 2017-18.xlsx'!Table14[Name of the table Column where StudentLookup exist],0))

Cross referencing two excel files or (Sheet 1) A1:A2500 "contains" (Sheet 2) A5

I am trying to figure out how to cross reference two different excel files to compile a sheet with all the information that I need.
Personally I am dealing with VINs and analysis details but the example below will work.
I have one file (Sheet 1) with entries (Column A), and on this same sheet I have all my analysis information that I have done (Column E).
Sheet 1:
**A** **E**
**1** Franklin Shoots
**2** George Drives
**3** Joe Runs
**4** Mikel Bikes
**5** Rob Swims
In a separate file I have names in a different order and some are only partials.
Sheet 2:
**A** **F**
**1** John
**2** Mike
**3** Rob
**4** Frank
**5** Rich
I want the analysis from sheet 1 to show up in the corresponding cell in sheet 2 Column F. The biggest thing I'm hung up on is when using "contains", I can't get (Sheet2) "(asterisk)A1(asterisk)" to work, and I don't want to go through and type (asterisk)John(asterisk), because my file is about 2500 rows with no duplicates, as opposed to 5, so I might as well individually search each one if I am going to do that.
For example Column F on sheet 2 should read:
**F**
"No"
Bikes
Swims
Shoots
"No"
You can do this with a simple VLOOKUP formula - in Sheet2!F2 place this formula:
=IFERROR(VLOOKUP("*"&A2&"*",Sheet1!$A:$E,5,0),"No")
You can use the MATCH function in conjunction with the OFFSET function as shown below ...
Put the following in Sheet2!F1 & fill down ...
=IFERROR(OFFSET(Sheet1!$A$1,MATCH("*"&A1&"*",Sheet1!$A$1:$A$5,0)-1,4),"No")
This produced:
No
Bikes
Swims
Shoots
No

Matching partial data in rows to data in column and populate date of matched values in another row in Excel

In worksheet 'A' I have row 1 for college names. College ID is
concatenated with the college name, after a space, within parentheses.
Sheet 1 (A1:E1):
"Wyndall college (123)", "Jeffersone college (99)", "Lyndale College (45)", "Lincoln college (60)", "Salt Lake College (40)"
In worksheet 'B', I have column A for college names (no college ID
concatenated) and column B for number of students. Sheet 2 (A1:A4):
"wyndall college" 100
"Gates College" 300
"Jefferson College" 50
"Lincoln college" 150
Worksheet B many not have all college names that exist in worksheet
A and vice versa!
I want to populate row 2 (A2:E2) in worksheet A with the number of students
from worksheet 'B' if the college name matches (even partial) in the
two worksheets.
How do I do that thru Excel formula and functions?
For example:
After parsing with Text To Columns. On a larger scale Fuzzy Lookup might be more suitable.
I don't know what you mean by a "partial match". If you can match up to the ID number, and the ID number is always inside parentheses, then you can use something like:
B1: =IFERROR(VLOOKUP(TRIM(LEFT(A1,FIND("(",A1)-1)),B!$A$1:$B$4,2,FALSE),"")
and fill down.
If you only want to match the first word, then look for the first space in the Find function. If you mean something else by a "partial match", you'll have to add detail.

Excel - vertical look up list (without VBA)

I would like to find a formula that gives me a list of cells that contains a certain date.
Example:
name - day - amount - month (hidden)
a 01-01-2012 5 =month(01-01-2012) = 1
b 02-01-2012 4 =month(02-01-2012) = 1
c 10-01-2012 3 =month(10-01-2012) = 1
d 10-01-2012 6 =month(10-01-2012) = 1
e 11-02-2012 2 =month(11-02-2012) = 2
So in this example, I would like to get all the (unique) days of January (in my case a list with: 01-01-2012, 02-10-2012 & 10-01-2012).
Afterwards I would like to have the total of amounts on these days of the list above (but that's easy and I guess I will find that alone :p)
I first used the Vertical Lookup formula but this gives me only one day in January, and not a list of all the days in January.
In fact it's a filter that I need, but with a formula
Thanks for your time & help
For getting the list vertically:
Formula in column H of your sheet (array formula, insert with Ctrl-Shift-Enter, curled brackets inserted by Excel, not by user):
{=INDEX($B$2:$B$10;MATCH(0;COUNTIF($H$1:H1;$B$2:$B$10);0))}
Cells should be formatted as Date to get dates, not integers.
Horizontally:
{=INDEX(Data!$B$2:$B$10;MATCH(0;COUNTIF($A6:A6;Data!$B$2:$B$10);0))}
To filter out unique days in October:
=INDEX(Data!$B$2:$B$10;MATCH(0;IF(COUNTIF(A4:$A4;Data!$B$2:$B$10)=0;IF(MONTH(Data!$B$2:$B$10)=10;0;1);1);0))
Your sheet modified: http://www.bumpclub.ee/~jyri_r/Excel/filter_formula_month.xls
Select the cell you want the result to start appearing in.
Choose the Data ribbon and under filter you will find advanced
Choose the dates you want filtered, and at the bottom of that dialogue you'll find a checkbox with Unique Items only, check that one.
And Bob's youre uncle

Resources