找到给定单元格下面第一次出现的字符串?

时间:2013-10-04 19:26:13

标签: excel

我一直试图解决这个问题,但我似乎没有做对。

我有一个电子表格,其中包含按天详细说明的不同类别的报告(例如玩具,饮品,杂货店,肉店,蔬菜等)

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

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

等等

所以我的想法是我需要能够找到每个不同类别的平均行数,但我不能轻易找到它,因为在一个类别中可能会有更多月份的费用(因此,更多类别标题和平均行之间的行)。有线索吗?

2 个答案:

答案 0 :(得分:1)

您可以使用

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

enter image description here

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

答案 1 :(得分:1)

你可以使用这样的东西:

=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是该表的名称。