如果条件满足,应用函数

我试图按组来实现SLOPE和INTERCEPTfunction。 我的数据如下所示:

X, Y, Group 1, 2, A 2, 4, A 3, 6, B 5, 9, B 

我需要组A和组B的斜率。我的数据很长,有很多组,所以我不希望为所有组手动。

假设你的数据从A1开始(术语“X”在A1中),把这个公式放在D2旁边,如果需要的话拷贝下来:

 =SLOPE(INDIRECT("B" & MATCH($C2, $C$1:$C$5,0) & ":B" & MATCH($C2, $C$1:$C$5, 1)), INDIRECT("A" & MATCH($C2, $C$1:$C$5,0) & ":A" & MATCH($C2, $C$1:$C$5, 1))) 

截取类似:

 =INTERCEPT(INDIRECT("B" & MATCH($C2, $C$1:$C$6,0) & ":B" & MATCH($C2, $C$1:$C$6, 1)), INDIRECT("A" & MATCH($C2, $C$1:$C$6,0) & ":A" & MATCH($C2, $C$1:$C$6, 1))) 

如果您希望将公式复制到D和E列中,但是只希望在第一次出现时出现斜率,然后像下面那样包装一个IF:

 IF(MATCH($C2, $C$1:$C$5, 0)=ROW($C2), SLOPE(INDIRECT("B" & MATCH($C2, $C$1:$C$6,0) & ":B" & MATCH($C2, $C$1:$C$6, 1)), INDIRECT("A" & MATCH($C2, $C$1:$C$6,0) & ":A" & MATCH($C2, $C$1:$C$6, 1))), "") 

同样的拦截…