INDEX 和 SMALL 函数中的两个条件

Two conditions in INDEX and SMALL functions

我有下面的公式,它在 securities! sheet 包含股票,它获取所有股息率低于中规定的期望值的股票$B$2 单元格。当我需要获取同一发行人发行的所有股票时,我设置了相同的公式,其中 !securities$J:$J=$A$2 当然 $A$2包含发行人的价值

ArrayFormula(INDEX(securities!$A:$J,SMALL(IF(securities!$B:$B<=$B,ROW(securities!$A:$A)),ROW(1:1)),1))

但是,当我尝试编写一个结合 两个 条件的公式时,这意味着它应该在 $B$2 股息率 [=29] 下获取所有股票=] 并由同一 $A$2 发行人 发行,它 returns 一个错误:“错误 SMALL 没有有效的输入数据。”。这是我试过的:

ArrayFormula(INDEX(securities!$A:$J,SMALL(IF(and(securities!$B:$B<=$B,securities!$J:$J=$A),ROW(securities!$A:$A)),ROW(1:1)),1))

我显然遗漏了一些东西,而且我似乎无法让它发挥作用。有什么想法应该是问题所在,我该如何解决?

这是 link 到 Google sheet 的传播sheet 所以你可以试试: Google Sheets

您使用的这些公式完全错误。

删除 Sheet2!A5:C。完成后,sheet.

中应该没有公式了

将以下公式放入您的 sheet...

在A5中:

=IFERROR(FILTER(securities!A:A,REGEXMATCH(securities!A:A,A2)),"No Matches")

在 B5 中:

=IFERROR(FILTER(securities!A:A,securities!B:B<=B2),"No Matches")

在 C5 中:

=IFERROR(FILTER(securities!A:A,REGEXMATCH(securities!A:A,A2),securities!B:B<=B2),"No Matches")

这些将各自产生各自列的所有结果。