Excel:返回当前行中所有列标题的值

我有一个包含20列以上的电子表格,我试图在每一行上列出填充的列。 例如:

Owner Item List Item1 Item2 Item3 Item4 Me Item1,Item2 3 4 You Item1,Item3,Item4 2 1 2 Her Item2,Item3 1 1 Him Item1,Item4 5 6 

对于“我”行, Item1Item2被填充,因此Item List是"Item1,Item2" (任何分隔符都可以)。

没有VBA可以做到这一点吗?

在这里输入图像说明

步骤1 :找出每个拥有者需要包含的项目(抓取项目)

在G2单元格中,input以下公式:

 =IF(ISNUMBER(C2)=TRUE,CONCATENATE(C$1,";"),"") 

通过G2:J5应用。 如果在C2:F5中有一个数字,这将把项目名称放在相应的单元格中

步骤2 :连接并获取项目列表:在单元格K2中input:

 =CONCATENATE(G2,H2,I2,J2) 

通过K2:K5应用