Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to use a named column in Excel formulas

I know how to make a named range in Excel.

I have a spreadsheet, with various columns going across as parameters, and then finally a formula in the last cell. This is repeated many times in each row, with each row having a different set of data, and the formula updated to reference the correct row index.

However, the formula looks like (three rows worth):

=G2*(10*D2 + 20*E2 + 5*F2)
=G3*(10*D3 + 20*E3 + 5*F3)
=G4*(10*D4 + 20*E4 + 5*F4)

I would like to use named ranges, but I can't find a way to do something like

=Count * (10*var1 + 20*var2 + 5*var3)

where count, var1, var2, and var3 automatically update to be the particular column of the current row. I can create a named range for every cell, but that isn't helpful. I can name range the column, but then I can't find a way to put an offset into the formula.

Also the whole point of this is readability, so if it ends up being some nasty complex formula function call, that probably doesn't help too much.

like image 578
Jason Coyne Avatar asked Dec 17 '10 15:12

Jason Coyne


2 Answers

Simple, at least when using Excel 2010:

  1. name your column: select full column, enter name
  2. use column name in formula; Excel will combine the referenced column with the current row to access a single cell.

Using the example from Alex P:

  1. select column D by clicking the column header containing the "D", enter name "input1" into name field, and press Enter.
  2. repeat for columns E to F, using "input2" and "input3", respectively.
  3. Do not define additional names defining names "input1" [...] as in example above!
  4. use the formula as given in the example above

Attention:

Using named columns this way, you cannot access any other row as the one your formula is in!

At least I'm not aware of the possibility to express something like <ColName>(row+1)...

like image 70
Tillomar Avatar answered Oct 03 '22 00:10

Tillomar


I would suggest creating a Table. Select your range A1:H4, then go to the Tables widget > New > Insert Table with Headers (on Mac). This will mark A2:H4 as body of the table, and A1:H4 as header.

From that, you get:

  • Whatever you put into the header column will define the name for this column automatically, e.g. Count, Radius, Density, Height
  • You can then write your formula using =[@Count]*(10*[@Radius] + 20*[@Density] + 5*[@Height])
  • When you change the formula in cell H2, Excel will automatically "copy down" this formula to all cells in column H. So no more accidental inconsistencies in the formulas.
  • When you need to add another row, simply click the last cell (in our example H4) and hit Tab. Excel adds another row, and also makes sure to "copy down" your formula into the new row.
  • If you need a total row, add it with the Total Row checkbox in the Tables widget. Excel adds a total row automatically. If you click any cell in the total row, you can change the "total formula" with the "▼▲" button, for example to calculate the Average instead of the Sum of the column.
  • If you have a long table and scroll down so that the header is not visible anymore, Excel automatically displays the column header instead of the column names (Count instead of G for example).

I can really recommend the video You Suck at Excel with Joel Spolsky which explains all of that.

like image 36
Benedikt Köppel Avatar answered Oct 02 '22 23:10

Benedikt Köppel