如何让 VLOOKUP 拉取多个实例?

How to have VLOOKUP pull multiple instances?

我目前有一个 sheet 组织发布会的地方。 SAMPLE

目前我有一个概览 sheet 和一个根据日期和事件类型从概览 sheet 中提取的日历 sheet。

=iferror(VLOOKUP(B&" "&$A4,Sheet1!$A:$D,4,0),"")

但是,当一天有多个“TITLE EVENTS”时,我必须创建带有“TITLE EVENTS 2”和“TITLE EVENTS 3”的单独行,以便 VLOOKUP 区分和显示所有实例日历上的标题事件。

有没有一种方法(可能很多更复杂)我可以只选择一个“TITLE EVENTS”并让sheet能够自己在“TITLE EVENTS”下创建一个新行? (理想外观 sheet 3)。

看看这是否能解决您的问题:

我复制了你的 sheet 并将其修改为看起来 Sheet 3 但带有公式。

可以看到here.

我在 Calendar sheet 上使用了以下公式:

=IFERROR(INDEX(FILTER('Date Registry'!$D:$D,  ('Date Registry'!$A:$A)=(E&" "&$A)), ROW()-4, 1), "")
解释:
=FILTER('Date Registry'!$D:$D,  ('Date Registry'!$A:$A)=(E&" "&$A))

获取预期类型(例如 TITLE EVENTS)和预期日期的所有值。

=INDEX(FILTER(...), ROW()-4, 1)

第二个参数为行号

  • 第 5 行是带有 TITLE EVENTS 的行。

  • 因此,ROW() - 4 给出该行相对于第 5 行的从 1 开始的索引。

第三个参数是列号,但由于范围只有一列,所以总是1。

更优雅的选择:

See here

=IFERROR(ARRAY_CONSTRAIN(FILTER('Date Registry'!$D:$D, ('Date Registry'!$A:$A)=(H&" "&$A5)), 4, 1), "")

格式化:

=IFERROR(
    ARRAY_CONSTRAIN(
        FILTER('Date Registry'!$D:$D,  ('Date Registry'!$A:$A)=(H&" "&$A5)),
    4, 1)
, "")