2015-04-02 53 views
0

我用这个函数来计算这些值多少次出现:功能计数和查找值

=COUNTIFS(I:I;">100";I:I;"<300";A:A;"=1") 

结果:3

我怎样才能找到这个结果的行?

+0

可能最简单的方法就是过滤,为columnA选择'1',之间大于或等于'100',对于ColumnI小于或等于'300',然后读取行数。 – pnuts 2015-04-02 00:28:56

+0

对不起,但我没明白... 你能帮我一些功能吗? – 2015-04-02 00:34:06

+0

只是一个建议,只有三个行号,复杂的事情可能没有必要。 – pnuts 2015-04-02 00:36:04

回答

1

为了返回第二行,第三行等,您将不得不使用某种形式的数组处理,无论它是否是实际的数组公式。最好尽量减少单元格区域中的行数,并避免完全列引用。

Firs, second, third rows from multiple criteria

在L3的公式为,

=IF(ROW(1:1)<=COUNTIFS(I:I; ">100";I:I; "<300";A:A; 1); SMALL(INDEX(ROW($1:$999)+((I$1:I$999<=100)+(I$1:I$999>=300)+(A$1:A$999<>1))*1E+99;;);ROW(1:1)); "") 

必要向下填充以捕获从匹配(ES)的多个条件返回的所有行。

要返回的单元格的实际值,使用长整型值由SMALL functionINDEX function引用列我回来(又名行号):我。

=IF(ROW(1:1)<=COUNTIFS(I:I; ">100";I:I; "<300";A:A; 1); INDEX(I:I; SMALL(INDEX(ROW($1:$999)+((I$1:I$999<=100)+(I$1:I$999>=300)+(A$1:A$999<>1))*1E+99;;); ROW(1:1))); "") 

我用了一个搜索和替换,以改变我的逗号分隔列表您分号和我认为我得到了正确的,但不能检查短扭转我的系统的区域设置的。

+0

It worked, 非常感谢Jeeped。 – 2015-04-02 16:42:15

+0

嗨Jeeped,请再提一个问题,在你给我的那个公式中,我应该改变什么来返回cellu里面的值而不是行号。 – 2015-04-16 18:02:07

+0

@MarcosPintodeSousa - 有一种感觉可能会出现:)。请参阅我的编辑到上面的帖子。 – Jeeped 2015-04-16 20:47:42