dynamic垂直到水平列表在Excel中(使用索引,聚合等)

好吧,希望我的问题是有道理的,因为我最近一直有不良的代表。 我已经search了一段时间的答案,但找不到任何东西,所以我想我可以安全地问这个问题哈哈。

我试图从一个表中dynamic地列出一堆行,到另一个表中水平的列。 我想我的问题可能是一个循环引用,但我真的不能解决。

  1. =INDEX(mindbld[ID], AGGREGATE(15, 6, (ROW(mindbld[Type Auto])-ROW(mindbld[#Headers]))/(LEFT(mindbld[Type Auto], LEN($A$2))=$A$2), ROW(1:1)))

这是我在我的OCCOUT表中使用的公式。 这从MINDBLD表中dynamic地在列B中垂直列出一堆ID。 单元格A2包含此列表的标准 :例如Office(ids)。 这完美的作品,是一个非常甜蜜的公式。

  1. =INDEX(tblOCC[[Ten Sched]:[Ten Sched]], AGGREGATE(15, 6, (ROW(tblOCC[[Tenant ID]:[Tenant ID]])-ROW(tblOCC[#Headers]))/(LEFT(tblOCC[[Building ID]:[Building ID]], LEN(occout[@[ID2]:[ID2]]))=occout[@[ID2]:[ID2]]), COLUMN(E:E)))

用这个公式,我试图从TBLOCC水平列出行。 该表中有许多行具有与MINDBLD中相同的ID的信息。

TBLOCC中的十个Sched列有我正在检索的信息。 租户ID是TBLOCC中最靠左的一列。 build筑物ID包含与在minbld [ID]中find的ID相同的ID。

OCCOUT ID2包含由公式1find的ID(尽pipe在列C中)(例如,单元格C2 = B2),因为我认为这可能是一个问题。

该公式返回一个#NUM! 我似乎无法修复它。 希望我已经说清楚了。 我有这样的感觉,这将是更容易与VBA! (我不知道)。

编辑#1

我发现一些有趣的东西,公式在E2单元格中:

 =INDEX(tblOCC[[Ten Sched]:[Ten Sched]], AGGREGATE(15, 6, (ROW(tblOCC[[Tenant ID]:[Tenant ID]])-ROW(tblOCC[#Headers]))/(LEFT(tblOCC[[B ID2]:[B ID2]], LEN($C1))=$C1), COLUMN(E:E))) 

这工作(引用上面的ID)。

但是,如果它在公式的同一行中引用C2,则会返回一个错误。