Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.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 使用索引(MATCH())返回n';单元格的th值_Excel_Excel Formula_Excel 2007 - Fatal编程技术网

Excel 使用索引(MATCH())返回n';单元格的th值

Excel 使用索引(MATCH())返回n';单元格的th值,excel,excel-formula,excel-2007,Excel,Excel Formula,Excel 2007,我有一个简单的工作表,有两列 我想得到所有的结果(在“H”列上)(我只能得到第一次出现的结果,我想知道我是否能得到其他结果),这些结果包含单元格G1中的值,这在没有宏的情况下是可能的吗?您可以使用ROW()和SMALL()而不是MATCH()来获得这些,因为这总是第一次匹配 =IFERROR(INDEX($C$4:$C$7,SMALL(IF($D$4:$D$7=$G$1,ROW($D$4:$D$7)-(ROW()-1)),ROWS($D$4:D4))),"Null") 因此,如果数组$D$4

我有一个简单的工作表,有两列

我想得到所有的结果(在“H”列上)(我只能得到第一次出现的结果,我想知道我是否能得到其他结果),这些结果包含单元格G1中的值,这在没有宏的情况下是可能的吗?您可以使用
ROW()
SMALL()
而不是
MATCH()
来获得这些,因为这总是第一次匹配

=IFERROR(INDEX($C$4:$C$7,SMALL(IF($D$4:$D$7=$G$1,ROW($D$4:$D$7)-(ROW()-1)),ROWS($D$4:D4))),"Null")
因此,如果数组
$D$4:$D$7=$G$1
返回true(即该值等于G1中的值),您将得到这些值的行号,在这种情况下,您将得到4和6。所有其他值都将返回
False

使用
-(ROW()-1)
进行一些处理后,4和6变为1和3。这两个值将被馈送到
索引

SMALL()


编辑:忘了提了。您必须输入上述公式。要执行此操作,请在键入公式后键入Ctrl+Shift+Enter组合键(如有必要,请再次编辑公式),而不是单独键入Enter。

提前感谢,我正在尝试理解公式的逻辑,我已将公式放在F4上并向下拖动,得到了~text 1~和空值,其余为空值。。。“我是不是错过了什么?”斯蒂芬洛基说,“哦,我忘了提。你必须调用这个公式。键入后,不要按enter键,而是按Ctrl+Shift+enter键以“数组输入”。之后,您将看到公式周围的
{}
。哇!魔术谢谢你的支持,我真的很感激。还有一个问题,为什么要将数组设置为D4-D7而不是D4-D8(与C一样)?@Stephenloky还可以使用“公式”选项卡下的“求值公式”来逐步查看发生了什么。@Stephenloky我添加了这一点,这样,如果在上面添加/删除一行,公式仍然有效。最简单的方法是在那里使用
行($D$4:$D$7)-3
,但在插入/删除行时它很容易打破公式。