如何将 excel 公式写入 return 列 header 名称

How to write excel formula to return column header name

我希望允许用户 select 模块。深入研究,用户可以 select 根据教学大纲。此后,它会告诉他们哪些课程(又名 header 列)与基于带“Y”的行的条件相匹配。

Example  If the following is selected:
- Data Governance (Policy and Process)
- Data Analytics Project (Problem Statement Formulation)
- Data Exploration (Exploratory Analysis)
- Data Exploration (Machine Learning) 
 It will all return both CourseID1 & CourseID2,  If Data Analytics Project (Data Handling & Ethics) selected it will not return CourseID1. Only CourseID2 will be returned

我附上了 Excel Table 的屏幕截图。流程如下: 第 1 步:用户 select 的模块 第 2 步:用户 select 与模块相关的教学大纲(来自第 1 步的依赖 selection) 第 3 步:显示适合课程的输出!

这样的公式怎么写?

我用的公式错了

=INDEX($A:$E,SUMPRODUCT(MAX(($A:$E="Y")*($B:$B=B2)*(COLUMN($A:$E))))-COLUMN($A)+1) 

当 select 编辑正确的标准时,它不会 return CourseID1 和 CourseID2。

所以,这就是我试过的,假设你使用的是O365

• 单元格 A17 中使用的公式使用 FILTERXML()XLOOKUP()TEXTJOIN()INDEX()SUBSTITUTE()COLUMN() 函数。

=TEXTJOIN(", ",,INDEX($A:$E,,INDEX(--(XLOOKUP(
FILTERXML("<p><w>"&SUBSTITUTE(SUBSTITUTE($A12,"&",""),", ","</w><w>")&"</w></p>","//w")&
FILTERXML("<p><w>"&SUBSTITUTE(SUBSTITUTE($A15,"&",""),", ","</w><w>")&"</w></p>","//w"),
SUBSTITUTE($B:$B,"&","")&SUBSTITUTE($C:$C,"&",""),$D:$E)="Y")*(COLUMN($D:$E)),1)))

,如果您正在使用 O365 并且目前处于 Office 预览体验成员 Beta 频道版本然后使用 TEXTSPLIT() 而不是 FILTERXML()

• 单元格 A18

中使用的公式
=TEXTJOIN(", ",,INDEX($A:$E,,(TRANSPOSE(XLOOKUP(
TEXTSPLIT(A12,,", ")&TEXTSPLIT(A15,,", "),$B:$B&$C:$C,
$D:$E))="Y")*COLUMN($D:$E)))