Excel:派生表格列名称与公式

我有一个名为weather_data的Excel表,每个月都有一个列,例如“Jan”,“Feb”等。

在另一个工作表中,我有一列列出了不同的date,第二列中我想使用公式从weather_data提取数据。 现在这个第二个表看起来像这样:

 Date Avg_Temp Jun Jul Aug 

例如,如果我想使用来自weather_data数据填写Avg_Temp下的第一个条目,该数据又有一个月份的列,我可以手动input=AVERAGE(weather_data[Jun]) 。 不过,我希望能够从date列驱动列引用(在这种情况下Jun )公式,所以我可以做一些像=AVERAGE(weather_data[A2]) ,并将其复制下来。

这可能吗?

假设你的weather_table从1月份开始在1列,12月份在12月份,你可以在B2中做这样的公式,并抄下来:

 =AVERAGE(INDEX(weather_data,0,MONTH("1/"&A2))) 

在这里输入图像说明

这有两个有趣的部分。 INDEX公式的行参数中的0意味着select整个列。 然后用第1列中的月份文本进行“1 /”转换,将其转换为MONTH函数可以读取的date,然后返回该月份的编号。 这被用作INDEX函数的列参数。

编辑:这是一个匹配的汇总表A列的三个字母的月份缩写表中的表头。 这消除了表只包含有序月份的要求:

 =AVERAGE(INDEX(weather_data,0,MATCH(A2,weather_data[#Headers],0))) 

如果你想更进一步,只匹配表头的一部分, 我就写了一篇文章 。