Using ADDRESS And OFFSET To Return A Text Value From Along Row?
Aug 5, 2014
I have a formula that basically work, except is really complicated and slows the whole sheet down and then, for some reason, returns a circular referencing error or something. There must be a better way!
So the back story is that I have a spreadsheet that I'm using to track ~1200 employees, including salary, job title and, where I'm having trouble, reporting line.
Column [R] is the Line Manager (direct manager) and Column [S] is Department Head. Columns [T] - [Y] is "Manager", "Manager +1" (manager's manager), "Manager +2" (manager's manager's Manager), etc up to Manager +5.
'Line Manager' is input manually. 'Manager' = 'Line Manager'. Manager+1 to +5 just vlooks up off the same sheet. This part works fine and will update the whole reporting line if you change the manager.
Department head is where I'm having a problem! Essentially what I'm looking for is for the formula to look at the 5 cells to the right (the manager +# columns) and look for 'Mr Boss' and return one cell to the left since department heads report the the boss. There is one exception, its that some immediate reports of Lucy Lawful also are counted as Department Heads. For this purpose I vlooked up this list of exceptions on another sheet. My formula is this (entered as an array):
Below is an example file. In my real file the formula works for everyone, not sure why its not working for half the employee now, but probably cos it's a useless formula.
Is there any formula to find text and return its cell address? This is like when we use Ctrl+F function to find a text, and Excel then highlight the cell contains the referred text. At the same time, the name-bar displays the address of the cell. Now, is there any formula that can perform such task like this?
I am having some difficulties using a combination of IF and the OFFSET function to display a range of cell values from another column based on a simple condition. The values I need to display at the destination cells should be offset by 8 columns to the right and "X" rows down from the reference column. The value "X" is to be determined via the IF function to check for the row index number.
For example, if Index value "X" = 8, then display the value of B2 in cell I9. IF X = "9", display B2 in cell I10 etc.
I have attached a sample worksheet that provides some examples.
I'm still getting to grips with the Find Command. Basically, I have the below code that looks at a line in a sheet(ws_Site) based on the Line ID Number that is in column A and then Finds that that LineID_Value in a different sheet(ws_main) and copies a value from column I on that line across. Problem is, if the cell I is blank it copies it across and essentially clears the cell if there was data in it.
How can I adjust the below code to only set ws_main.Range(c.Address).Offset(0, 8).Value = LineID_Value if LineID_Value is not blank?
For Each LineID In ws_Site.Range("A7:A" & SiteRows) ' Loop through all the cells in range
LineID_Value = LineID.Offset(0, 8).Value
'Dim c With ws_main Set c = .Range("A7:A3000").Find(LineID, LookIn:=xlValues) 'If Not c Is Nothing Then
Sub TestSearch() Dim FoundCell As Range Dim SearchString As Variant 'Specify Value to Search SearchString = " Excel" 'Perform the Search and Return a Cell Value Set FoundCell = Worksheets("Source").Range("A1:A10000").Find(" Excel", lookat:=xlPart) If Not FoundCell Is Nothing Then MsgBox "Found at " & FoundCell.Address End If End Sub
I'd like to take the code above, which returns a cell address which contains the text " Excel" and modify or add to it the capability to copy a range starting from the address returned and ending 102 cells further down in Column A on the Source sheet to A1 of the Sheet1 sheet. The crux of the problem seems to be converting the address to a row number then adding the value of the number of cells in the range to find the end row number then converting that back to an address??
I have a large array of cells that go from A1 to A2500. In VB, I need to take a given date that resides in a cell, say 1/6/2006 in C2, and look for a match of it within this large array. When the match is found, I need it to look in the column to the right (IE, from A5 to B5) and assign the value there to a Cell (C1).
Could someone provide an example of the code I was use in VB for this? I'm having a lot of trouble with it.
I am referencing a value in column A of Sheet 1. I am looking for that value in column B of Sheet 2 and would like to return the value of the cell that is 1 row below and 4 columns to the right (column F). I need to do this multiple times.
The main worksheet is a roll up page of sorts. It contains all of the information on all three other tabs. All updates entered on the main sheet will be distributed accordingly to each sheet the needs it VIA hlookup. At times, certain updates will be highlighted certain colors. From what I understand, there is no way to copy the color formatting using formulas and return the value.
So, I am trying to figure out a way to use VBA for this. I have dabbled a bit in VBA have think I have found it, except I have run into a substantial road block.
I will use the .hasformula to first check all cells in a range on the other sheets. If there is a formula, it will be an Hlookup only. Once it finds the formula, it then needs to copy the color of the source cell the hlookup is using to return data. It needs to copy the color of the cell, not the color of the text.
I have a data range set up in a step chart formation. This means there is a "Name" to the left and a time line of "values" to the right in quarterly increments (3 months at a time). Row 1 has the first month of each quarter and should be used to find the start date. Row 2 has the last month of each quarter and should be used to find the end date.
I need to find the first value from left to right and return the date directly above it in row 1.
Then....
I need to find the last value in the step chart and return the date directly above it in row 2
Example Start Date..A...B...C....D...E...F End Date....U...V...W...X...Y...Z Value-1...........5...2....7........
Value-1 Start Date: B End Date: X Duration: = B - X
The reason i need this information is to create a Gantt Chart.
I have a range of cells (C29:BB29) containing zeros and integers, I want to lookup the smallest non-zero value from that range in another range (C11:BB11) and return the cell address from C11:BB11 to use in a further SUM formula. Is that possible?
I am wanting to allow the user to select a cell in a worksheet and return the cell address and information/value from the cell. For example, if "Dog" is in cell A1 and "Cat" is cell A2 and the user initiates the Macro I would like the macro to to pop up a message box and say something like "Select a cell in Column A". When the user clicks on cell A1, I would like the message box to pop up and say, you selected "Dog" in cell A1.
I'm trying to return the cell address of an lookup. The lookup result is correct, but when I try use the below Address function, it just returns the text value (i.e., the formula itself) instead of the cell address. Below is the an example of each: ...
how to get the value of a cell by its name. For example, i give cell B2 Name "Hello" and value "2". how to use vba to get the value of 2 using its name 'Hello', but not the cell 'B2'. Somethings people delete and add rows or columns and using range may lost the right value.
I want to be able to display the location of a specific cell no matter if I move it around by inserting cells above it. I've used =ADDRESS(41,2,1,TRUE,B41). Cell B41 contains the word "Tommy". So the result of this formula returns this: Tommy!$B$41. But now if I insert a row above cell B41, "Tommy" moves to cell B42 but the formula still returns: Tommy!$B$41. How can I get the formula to display the new cell address of "Tommy"?
I have two columns of numbers in column A & B. In column A I am trying to locate the maximum value and get the cell address of the number next to it in column B. I am currently using this formula to do this ..... =ADDRESS(MATCH(MAX(A1:A4),A1:A4),2,4)
It works ok, but if the maximum number is the first value in the column it is returning the last cell address in column B. I am not sure what I am doing wrong.
Is there a formula or VBA script available which, when executed, will find the IP address of the computer on which the code / formula is run (obviously - through Excel)?
I have all my data on sheet 2 which contains tables that relate to information on regions, manufacturers, etc so it can be a large amount of tables which will change from month to month depending on a monthly list. For example, if “Region 1” is in cell B134 – the resulting data I need to pull out will be contained in C138:G232 ...or ”Region 2” which is in B235 – table info is in C239:G333, etc, etc.
On sheet 1, I have a cell (L7) that is populated by another formula. This cell is effectively my lookup to pull out information from sheet2 to populate cells in (sheet1) AE119:AH212 - same sheet as the reference (L7).
I need to look up the reference/resulting value that is in L7 on sheet1, find and match against the values in column B on sheet 2 and then pull in the corresponding table information.
If the value in L7 was not changing at all I could do.. in cell AE119… =OFFSET(sheet2!B134,4,1,1,1) etc etc ... but I am at a loss as to the value in L7 changing and incorporating a lookup… or maybe I am looking at it wrong..?
I have looked up match, offset, index and lookups on the forum and have managed to confuse myself even more. I have even tried taking some of the example formulas and amending with my references but to no avail.
I would like to be able to find all cells in row 2 that are "greater than 0". Then I would like to return the coresponding job number in row 4. I need to create a list of each job with the number of hous spent on that job next to it. I may have 30 different jobs but only 5 jobs that have hours for the specific week.
How I attemted to solve this is to create a table that listed all the hours from the largest number in row 2 to the smallest. Then I found the job number corresponding to that number of hours. The problem with this meathod is that if two jobs have the same amount of hours then the first job number is returned for both values that are the same. See attached example.
I need help in simulating the functionality of the OFFSET function with some of standard Excel functions which are shown at this webpage (I will be using this converter to generate the webpage from the sheet):
Spreadsheet Converter Supported Functions
I ask this because I need to create an interactive online calculator which absolutely needs to have the ability to allow the user to select the RANGE of the data to be analyzed. I included an example sheet with the offset function in the pink cell…Do you think any other standard excel function can be used to simulate its functionality?
i tried using the lookup but it gave a different result. i want to search a value from sheet1 A to sheet2 A and copy the remarks from sheet2 B and paste it to sheet 1 B and if not found leave it blank.
The main worksheet in my workbook contains lists of suppliers with unique Vendor Numbers, of which there are approximately 4,500 rows. There is another worksheet which holds approximately 6,500 entries I need to bring data from that sheet to the main sheet using the Vendor Number and the information that is held on 4 columns unique to that number.
The information is a classification system that comprises of 4 columns holding a mixture of numbers and text.
Worksheet 1 has the Vendor Number in Column A and the Classification destination starting in Columns Q, R, S & T.
Worksheet 2 once again has the Vender Number in Column A, and the Classification information in Columns C, D, E & F.
What I need guidance on is how to build the formula to copy the information across, or direction into what other method I should be looking at instead.
I have a list of about 1000 names with 2 columns next to it. The first contains a list of different groups that the names belong to (there are 19 possible groups). The second contains a list of figures ranging between £10,000 and £500,000. I want a formula that will look for a name in the list and, when it finds the name, return the corresponding group and corresponding amount. My problem is that some names are in more than one group and therefore appear in column 1 more than once. I have tried to use the LOOKUP formula [eg looking for the GROUP =LOOKUP(Sheet1!B33, Sheet2!A:A, Sheet2!B:B)] but when a name appears more than once I cant get all the results - for example:
Mr Phil LittleGreen Group35,000 Mr Ed GrantRed Group20,000 Mr Robert SmithOrange Group10,000 Mr Robert SmithRed Group50,000 Mr Robert SmithGreen Group75,000 Mr James MorrisonGreen Group100,000
On my summary page (Sheet1) I would like to type in Mr Robert Smith (into cell Sheet1!B33) and in the rows below (obviously in 9 different cells) have the results appear but I can only ever get Mr Robert SmithGreen Group75,000 as a result. This is my first post so I hope I have obeyed all the rules and this is clear
construct a formula that finds a value in a range , then returns the cell address of that value.
Say, i wanted to find the amount 12385 from another sheet , range C2:AA12 (contains only numbers , no duplicates). result should give me the address of that value.
I have tried the address & match function but gives me an N/A error.