查找给定单元格下的string的第一次发生?

我一直在试图弄清楚,但我似乎没有得到正确的。

我有一个电子表格,包含不同类别的报告(如玩具,饮料,一般商店,肉店,蔬菜等)

所以,我的电子表格看起来像这样:

Toys Day Me Wife Kid1 Kid2 9/28/13 0 0 0 0 10/1/13 29 3 0 0 10/2/13 0 7 34 25 10/4/13 0 0 0 0 AVERAGE 29 5 34 25 . Drinks Day Me Wife Kid1 Kid2 9/30/13 102 15 0 0 10/1/13 0 0 25 0 AVERAGE 102 20 0 0 

等等

因此,我的想法是,我需要能够find每个不同类别的平均行号,但我不能只是容易地find它,因为在一个类别可能会有更多的月份费用(因此,更多的行之间类别的标题和平均行)。 任何线索?

您可以使用

 =ROW()+MATCH("AVERAGE",$A2:$A$1001,0)-1 

在这里输入图像说明

对A2的行参考是可变的,您可以将其粘贴到感兴趣的类别旁边。 对于A1001的行引用在电子表格中足够简单,以包含所有数据,并且是固定的(但不一定是)。

你可以使用这样的东西:

 =MATCH("AVERAGE",INDIRECT("A"&MATCH("Drinks",A:A,0)&":A1000"),0)+MATCH("Drinks",A:A,0)-1 

MATCH("Drinks",A:A,0)返回Drinks的行数

它被INDIRECT使用,并转换成一个范围,然后MATCH返回该标题之后的行数。 添加Drinks前的行数,删除1得到实际的行数。

相应地更改A1000的范围。 我假设这里最多有1000行。

编辑,如果您有跨页参考,则需要将公式更改为:

 =MATCH("AVERAGE",INDIRECT("'Sheetname'!A"&MATCH("Drinks",'Sheetname'!A:A,0)&":A1000"),0)+MATCH("Drinks",'Sheetname'!A:A,0)-1 

假设Sheetname是该工作表的名称。