Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Excel中查找与索引的对应关系_Excel_Excel Formula - Fatal编程技术网

在Excel中查找与索引的对应关系

在Excel中查找与索引的对应关系,excel,excel-formula,Excel,Excel Formula,我正在做一份Excel表格,我必须根据一些标准选择所有的比赛 这是一个例子: a b r abr a c m acm a c r acr a d m adm a e m aem a e r aer a f r afr a f m afm a d r adr a b m abm 所以,它必须返回每一个结尾带有“r”或“m”的代码。因为我可能会插入新代码,这必须是动态的。我目前

我正在做一份Excel表格,我必须根据一些标准选择所有的比赛

这是一个例子:

a   b   r   abr
a   c   m   acm
a   c   r   acr
a   d   m   adm
a   e   m   aem
a   e   r   aer
a   f   r   afr
a   f   m   afm
a   d   r   adr
a   b   m   abm

所以,它必须返回每一个结尾带有“r”或“m”的代码。因为我可能会插入新代码,这必须是动态的。我目前使用的是这个公式

={IFERROR(INDEX($A$1:$D$10;SMALL(IF($C$1:$C$10="r";ROW($A$1:$A$10));ROW(A1));4);IFERROR(INDEX($A$1:$D$10;SMALL(IF($C$1:$C$10="m";ROW($A$1:$A$10));ROW(A1));4);""))}
它返回带有“r”的代码,这是我公式中的第一个,但不适用于“m”。问题似乎与如何返回矩阵的第k个值有关,即使我更改了表的顺序

有什么想法吗


提前感谢

我更喜欢指数聚合而不是小:

=IFERROR(INDEX($D$1:$D$10;AGGREGATE(15;6;ROW($C$1:$C$10)/(($C$1:$C$10="r")+($C$1:$C$10="m"));ROW(1:1)));"")
=IFERROR(INDEX($D$1:$D$10;SMALL(IF(($C$1:$C$10="r")+($C$1:$C$10="m");ROW($C$1:$C$10));ROW(1:1))),"")

如果要使用小的数组形式:

=IFERROR(INDEX($D$1:$D$10;AGGREGATE(15;6;ROW($C$1:$C$10)/(($C$1:$C$10="r")+($C$1:$C$10="m"));ROW(1:1)));"")
=IFERROR(INDEX($D$1:$D$10;SMALL(IF(($C$1:$C$10="r")+($C$1:$C$10="m");ROW($C$1:$C$10));ROW(1:1))),"")


记住,小的公式版本需要用Ctrl-Shift-Enter确认。

有点不清楚-你想返回什么?D列是你的公式的去向,还是你在使用a底部的组?我真的不知道公式中发生了什么/它是如何工作的,但为什么你不能使用
或()
=IFERROR(索引($A$1:$D$10,小)(如果(或($C$1:$C$10=“m”),$C$1:$C$10=“r”)、行($A$1:$A$10))、行(A1))、4),”)
?@BruceWayne数组公式不喜欢或()或()对于聚合,它确实起了作用,但也有一些小的。我喜欢第一个小的,如此简单和聪明!@RodrigoSchneiderBender请单击答案旁边的复选标记,将其标记为正确。