美好的一天,
我有一个电子表格,其中包含手动填充的表格 (B:D)。
然后,我尝试根据单元格 I2 中的值,根据 B 列中的值,从该表中创建一个摘录。为了检索 C 列中的值,我在 H4 中使用了以下函数:
=FILTER(C:C,$B:$B=$I$2)
为了从D列获取相应的状态,我在I4中使用了以下函数:
=VLOOKUP(H4,C:D,2,FALSE)
现在,我缺少的部分是检索左侧列中的相关子主题和主题 - G 列和 F 列,蓝色的值是手动编写的,但我想使用基于 H 列值的函数来自动化它主要挑战是,包含主题和子主题的单元格在所有这些列中合并。由于这是示例性的,因此每个子主题的更新量各不相同。每个主题、副主题和更新都是独一无二的。
因此,该函数可能需要从 C 列中的 H 列搜索唯一更新,并向上直到第一个没有值的单元格,然后向左检索子主题?这是我的猜测。之后我也不知道如何检索主题。
任何帮助将不胜感激!
我们需要“扁平化”或“标准化”数据。 我们可以使用两个 SCAN 函数来做到这一点。 然后我们可以将它们堆叠并过滤堆叠的数组:
=LET(
_rng,B2:D15,
_b,TAKE(_rng,,1),
_c,CHOOSECOLS(_rng,2),
_tp,SCAN("",SEQUENCE(ROWS(_b)),LAMBDA(_z,_y,IF(AND(INDEX(_c,_y,1)="",INDEX(_c,MIN(_y+1,ROWS(_b)),1)=""),INDEX(_b,_y,1),_z))),
_stp,SCAN("",SEQUENCE(ROWS(_b)),LAMBDA(_z,_y,IF(INDEX(_c,_y,1)="",INDEX(_b,_y,1),_z))),
FILTER(HSTACK(_tp,_stp,CHOOSECOLS(_rng,2,3)),_b=I3)
)