Jan 13 2021 08:12 PM
Jan 14 2021 11:46 PM
Attempting to apply the same method that Sergei used, I believe the attached file is what you are trying to do? Since he is using structured tables (naming the 3 tables DamA, DamB, DamC), he can reference them by table name and column name, using the indirect function, instead of referencing the sheet they are on (format is "Table[Field]").
For this one, index/match would be appropriate to pull the specific year (row) from the table.
Jan 15 2021 12:48 AM
In addition to @JMB17 post - if for some reasons you don't want to use Tables (which is highly recommended) at least clean the structure of your sheets. Start in each range in the same cell of the sheet, e.g. in C4, not in any random place. Not critical, but desirably to have same column names, e.g. Jun for the month in all places, not Jun or June. With that and assuming you have no other data down fro each range, formula in C7 of master sheet could be
=IFNA( INDEX( INDIRECT("'" & $H$3 & "'!$D$5"): INDEX( INDIRECT("'" & $H$3 & "'!$D$5:$O$200"), COUNTA( INDIRECT("'" & $H$3 & "'!$C$5:$C$200")),12), MATCH($B7,INDIRECT("'" & $H$3 & "'!$C$5"): INDEX(INDIRECT("'" & $H$3 & "'!$C$5:$C$200"), COUNTA(INDIRECT("'" & $H$3 & "'!$C$5:$C$200"))),0), COLUMN()-COLUMN($B$5) ), "-")
and drag it to the right.
One more comment - please mention on which version of Excel you are (365, 2016, Online, etc).
Jan 24 2021 11:45 PM - edited Jan 24 2021 11:47 PM
Since the master sheet presents the data in the same order as the individual data sheets, it's not really necessary to match the columns, so it's returning all of the columns on the row to which it matched (as Sergei did also, if I remember correctly).
The INDEX function is capable of returning all rows and/or all columns of whatever row/column it matches to. This option is selected by inputting a "0" in either the row or column argument.
=INDEX(MATCH(), 0) > returns all columns of the row to which it matches.
=INDEX(0, MATCH()) > returns all rows of the column to which it matches.
Since the formula is returning multiple values, you have to select a range that is the same dimension as the table that the formula will return (B6:N6) when you enter the formula (though newer versions of Excel with dynamic arrays activated should not require this I think).
If your months on the master sheet were in a different order, or were only for certain months, then you could match the month to the table header rows in the data sheets by replacing the second argument of the INDEX function (0) with another match function: