Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.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公式(如Vlookup)_Excel_Excel Formula - Fatal编程技术网

显示多个值的Excel公式(如Vlookup)

显示多个值的Excel公式(如Vlookup),excel,excel-formula,Excel,Excel Formula,我需要执行一些类似于vlookup的操作,但是有一个值,我想在不同的工作表上显示它发现的多个项目。例如,查找A,找到A,B列中的信息是唯一的,然后从第二张工作表的另一行中再次查找A,B列中的信息也是唯一的。多重返回是一个非常常见的问题。主要思想是使用INDEX-SMALL而不是INDEX-MATCH。通常,您只需使用MATCH搜索要返回的行。在这种情况下,您需要跟踪多个匹配项并按顺序返回它们。“顺序”部分最好由SMALL处理,从行向其输入一个递增的数字数组 范围图片 单元格中的公式F3是一个数

我需要执行一些类似于vlookup的操作,但是有一个值,我想在不同的工作表上显示它发现的多个项目。例如,查找A,找到A,B列中的信息是唯一的,然后从第二张工作表的另一行中再次查找A,B列中的信息也是唯一的。

多重返回是一个非常常见的问题。主要思想是使用
INDEX-SMALL
而不是
INDEX-MATCH
。通常,您只需使用
MATCH
搜索要返回的行。在这种情况下,您需要跟踪多个匹配项并按顺序返回它们。“顺序”部分最好由
SMALL
处理,从
向其输入一个递增的数字数组

范围图片

单元格中的公式F3是一个数组公式(使用CTRL+SHIFT+ENTER输入)并向下复制,以确保它包含尽可能多的匹配项。额外的行返回
#NUM不需要时

=INDEX($C$3:$C$8,SMALL(IF($B$3:$B$8=$E$3,ROW($B$3:$B$8)-ROW($B$2)),ROW(1:1)))
它的工作原理

  • 外部调用是到
    索引
    ,它查看
    列并从中返回结果
  • 索引
    需要一个行号来返回值。此行号通过查找与给定搜索项匹配的行来确定
  • 为了查找行,将
    ID
    列与
    E3
    中的搜索值进行比较。该检查被包装在
    IF
    中,如果存在匹配项,则返回
    编号
  • 行号计算为
    row()-行(顶部)
    这是为了说明从
    B3
    开始的我的数据的偏移量
  • 一旦我们有了一个行号数组,
    SMALL
    用于按递增顺序返回它们
    SMALL
    将跳过非数字,其中包括为不匹配行返回的
    FALSE
  • 最后,为了使
    索引
    使用
    行(1:1)
    ,该行将随着公式的向下复制而递增,给出1-2-3-

我使用
IF
和数组公式在类似的上下文中实现了这一点。为了提供进一步的帮助,您能否提供样本数据和所需的输出?当做