使用来自 excel 中两个不同 sheet 中两个不同 table 的数据在新 sheet 中创建一个 table

Create a table in a new sheet with data from two different tables in two different sheets in excel

我是 Excel 的新手,目前正在努力获得正确的中间公式。

这是我要实现的目标。

A) 我有三个 sheet,

  1. 员工,2.项目和 3.参与度

B) EMPLOYEE sheet 包含有关雇员的信息。员工 ID (EMP_ID) 是根据输入的姓名生成的。

C) PROJECTS sheet 包含有关已处理或正在处理的项目的信息。项目 ID 由项目名称生成。目前最重要的部分是“资源 1”到“资源 20”列。截至目前,一个项目最多可以分配 20 个资源。可以从下拉列表中选择 select 个资源。

我想要实现的是,

  1. 在“参与”sheet 上,资源参与的所有项目都需要出现在“项目 1”到“项目 10”列下(假设一个人可以从事最多 10 个项目)。

  2. 我需要在 ENGAGEMENT sheet 中显示开始日期和结束日期之间的项目统计信息。但是,这不是最高优先级。

请注意,我只想使用公式来实现此目的,而不是脚本或宏。

请查看随附的屏幕截图和我附上的 sheet。

谢谢, 戴夫

可以从下面给出的链接下载屏幕截图和参考资料。

[1]: https://i.stack.imgur.com/kTcjW.jpg
[2]: https://i.stack.imgur.com/yLyZI.jpg
[3]: https://i.stack.imgur.com/WeoTj.jpg
[4]: https://i.stack.imgur.com/LgDiW.jpg
[5]: https://docs.google.com/spreadsheets/d/1qikvz4X6bvKO8PyB_nrmZA64x6StUMlh/edit?usp=sharing&ouid=109764009612506156621&rtpof=true&sd=true
=ARRAYFORMULA(IFERROR(SPLIT(IFNA(VLOOKUP(TRIM(A3:A), 
 SPLIT(SUBSTITUTE(TRIM(FLATTEN(QUERY(QUERY(SPLIT(FLATTEN(QUERY(FLATTEN(IF(DAYS(
 IF((PROJECTS!D2:D4="")*(PROJECTS!C2:C4<>""), TODAY(), PROJECTS!D2:D4), PROJECTS!C2:C4)>
 SEQUENCE(1, 1000, ), ROW(PROJECTS!A2:A4)&"×"&PROJECTS!C2:C4+SEQUENCE(1, 1000, )+1, )), 
 "where Col1 is not null")&"×"&TRANSPOSE(QUERY(FLATTEN(
 IF(PROJECTS!I2:4="",,ROW(PROJECTS!A2:A4)&"×"&PROJECTS!I2:4&"×"&PROJECTS!A2:A4)), 
 "where Col1 is not null"))), "×"), "select max(Col5) where Col1=Col3 "&
 IF(D1="",," and Col2>="&VALUE(D1))&
 IF(F1="",," and Col2<="&VALUE(F1))&
 " group by Col5 pivot Col4"),,9^9))), " ", "×", 1), "×"), 2, 0)), " ")))