I need to populate a table with horizontally referring to values that are vertically from another table
In the horizontal table I'm doing the following
='Tab 3x3'!G10
But when I drag to the side it increments the column, not the cell. It would need him to continue G11, G12 .. and so on.
I've tried to anchor ($) in every way but it's no use. I also tried using TRANSPOSE that even worked but it got a mess, I would need the same reference as the above formula. I also researched and found a staff using Offset, but I could not quite understand.
Any easy way to do this?
Use INDEX:
=INDEX('Tab 3x3'!$G:$G,COLUMN(A:A)+9)
USE
=INDIRECT("'tab 3x3'!"&ADDRESS(COLUMNS($A$7:E7)+5,7),TRUE)
Or in light of the comment from Scott, use
=OFFSET('tab 3x3'!$G$10,COLUMNS('tab 3x3'!$G$10:G10)-1,0)
Related
I have scoured the internet but come up empty.
I am looking for a formula that will be in a single cell (I don't want to have to fill it down the side of the table for instance) that will return the header of the first column that has a value in it, from left to right. If there's a value in the last cell of the first column, for instance, I want that header returned rather than moving to column 2.
I have tried nested xlookups and index/match combinations and just can't find anything that will be in a single cell.
Any help is appreciated!!
EDIT: Yup, let me be more clear. My apologies!
Here is an excerpt of my table. In this instance, I would want the result to be Sep-21 (a reference to the cell is also fine).
I know I can easily drag the formula in A1 down and pull the column header of the first cell in that row with a value. What I want is to reference this on another sheet, so I don't want to have to do that. I want one formula in one cell to pull this information, if possible. If I can't do it that simply, maybe I have to do some other wizardry and hide a row/column or something and fill the formula down that way and then pick the latest date, but I'd like to avoid that if possible. One cell would be much more elegant!
As for what I've tried, all my attempts are pretty messy and incomplete, so I don't know if it would be helpful to paste them here, but essentially I've tried to use an xlookup where the lookup_array is B2:D6, and then the return_array is the header, but that doesn't seem to work. I guess the lookup_array has to be a single column/row? Something like:
xlookup(ISBLANK(FALSE), B2:D6, B1:D1)
It's kind of like an inverse xlookup, lol.
EDIT2: I've done some more messing about and have come SO CLOSE! Now my problem is with structured references in a table and trying to exclude my first two columns.
First, the solution that does work without structured references (assuming the table starts in A1):
=IFERROR(INDEX(B1:D1,SUMPRODUCT(MIN(IF((B2:D6<>0)*(COLUMN(B2:D6)) > 0, ((B2:D6<>0)*(COLUMN(B2:D6)))))-COLUMN(A1))), "error")
But like I said, my structured references are getting in the way now. I want to pull all the data in my dynamic table, except for the first two columns.
I know this is a completely different problem now, my apologies for that.
The solution (assuming the table starts in A1):
=IFERROR(INDEX(B1:D1,SUMPRODUCT(MIN(IF((B2:D6<>0)*(COLUMN(B2:D6)) > 0, ((B2:D6<>0)*(COLUMN(B2:D6)))))-COLUMN(A1))), "error")
If your data is in row 2:
=INDEX(1:1, 1, MATCH("", 2:2,-1))
should work
i have this formula =IFERROR(VLOOKUP(H4,Names!A:Q,16,0),"N/A") it works but only takes the top cell value and i need it to add up all cells in the row matching the value in "H4"
table extracting data from
table extracting data too, where the formula in question is used
here is the example, i need the rows connecting to "mac" to add together in a separate table cell eg: 19:00 = 31, 20:00 = 38
can anyone help with this?
Try this,
=sumifs(p:p, a:a, h4)
By the looks of it, you have merged cells in Names!A:A - so have brought problems on yourself. One solution is to unmerge (and avoid ever merging anything ever again!) and if you only want each Name to be shown the one time fill in the other instances but avoid displaying them (such as by blending the font colour into the background colour - such as with Conditional Formatting).
The filling in is easy with the technique here.
Then #Jeeped's solution should serve, provided you qualify the ranges with the sheet name:
=SUMIFS(Names!P:P,Names!A:A,H4)
I'm compiling a data chart where each horizontal cell is a separate transaction. I want to make it so the "Profits" column will have a formula that picks data from column E and C for the same horizontal data cell they are on.
I've been searching for this with no luck, probably because I'm not describing it correctly maybe.
I'm not sure whether I understood your question right but you can just use =C4+E4 assuming your current row is 4. Then move your mouse over the small little box at the bottom right corner and left click and move mouse down.
The number for the rows will be adjusted accordingly
Final result:
It looks like all you are wanting to do is perform some basic multiplication. This can be achieved using the following formula (only applied to one row for simplicity)
=C2*E2
Hope this helps!
I'm using Excel 2010.
Does anyone have a quicker way of implementing this?:
I have a table, with 2 columns; all I want is a green arrow (upwards) or red arrow (downwards) if the value on the right is bigger/smaller than the value on the left.
Unfortunately I can only get condition formatting to work on each individual cell (so when I have 15+ rows, in theory I would have to create 15 'rules'. Is there a quicker way of creating some sort of series that can be easily replicated?
Thank you!
You can use a helper cell to with something like =IF(A1>B1,1,0) and then apply the conditional formatting for the arrows for the whole table. You might need to adjust when what arrow shows up but when I threw it in a sample sheet it worked by default. You can set it to show the icon only too.
I don't use excel often, and I haven't really found a good solution to my problem. (which is probably really simple).
I would like to have a cell with a function in my spreadsheet that shows another cell value value that depends on yet another cell value.
Such as:
The Best Deal heading simply uses the formula
=MAX(D3,D1000)
But under Best Deal I would like to display the Name Test1 rather than the numeric value.
Another thing that would be nice to know, is if there is a way to know the maximum row with data in it. So rather than =MAX(D3,D1000) something like =MAX(D3,Max(RowCount_InD))
Obviously that function wouldn't work as I wrote it, but hopefully this pseudo code gives you an idea of what I mean. The purpose is that if more entries are added, it would be able to handle them.
I know this is possible, but I'm having some trouble. Hopefully I can get some help here.
Thanks!
The easiest way to do this is to use a combination of Index and Match. Match will find the position of the maximum value, and then Index will look in column A and return the data in that same position. So, your formula would be:
=INDEX(A$3:A$1000,MATCH(MAX(D$3:D$1000),D$3:D$1000,0))
Put that formula in F3. No hidden columns required.
Sorry, I missed the part about the expanding range. You can do that by using Count or CountA along with Offset. The new formula would be:
=INDEX(A3:OFFSET(A3,COUNTA(A:A)-1,0),MATCH(MAX(D3:OFFSET(D3,COUNT(D:D)-1,0)),D3:OFFSET(D3,COUNT(D:D)-1,0),0))
More complex, but it is basically the same except that it will expand as you add new values at the end.
There is only one 'simple' way I can think of this, but it requires hidden columns (sorry).
set E1 = A1 and fill down all the way (Basically you are making a copy of column A in column E but you are using a formula so it will always be the same)
Then under 'Best deal' - put this formula:
=VLOOKUP(MAX(D3,D1000),$D:$E,2,FALSE)
Then hide column E so it doesn't look like a mess. This way you do not need any fancy macro's and it will work everywhere because it is a normal formula.
"Another thing that would be nice to know, is if there is a way to know the maximum row with data in it. So rather than =MAX(D3,D1000) something like =MAX(D3,Max(RowCount_InD))"
This is a called a dynamic named range. Create a name for the ratio data, and set up the formula for the name range to be this:
=OFFSET($D$3, 0, 0, COUNTA($D$3:$D$1048576), 1)
More info here: http://www.ozgrid.com/Excel/DynamicRanges.htm
Then, assuming you name this named range ratio_data, your function could be referring to =MAX(ratio_data) in combination with index-match as suggested by #Tim Mayes. The range will expand automatically as you add more data.
=INDEX(A$3:A$1000,MATCH(MAX(ratio_data),ratio_data,0))
Ideally, you can replace the A3:A1000 by a dynamic named range as well.