获取值存在的列 Headers,Excel
Get Column Headers where value exists, Excel
我正在尝试创建一个列,以使用 excel 公式根据标题下数据范围内值的位置连接其他列的标题。我的 table 看起来像这样:
2014 | 2015 | 2016 | 2017
-------------------------
1234 4567 6547 1234
2583 3698 4567 3214
9874 1234 6664 5896
现在,这个 table 有一个包含值的行的扩展列表。
我想创建一个用户可以在其中键入数字的单元格,它将 return 行标题放在与其相邻的单元格中。如果数字出现在不止一列中,则使用逗号分隔符连接标题。即
Enter Number: Years Occurred
1234 2014,2015,2017
规则:每列都有一个唯一编号列表。没有数字在一列中出现超过一次。
我能找到的最好的例子是这里,其中公式 return 是数据范围最大值的标题:
谢谢
使用 TEXTJOIN 作为数组公式:
=TEXTJOIN(",",TRUE,INDEX(A1:D1,N(IF(1,MODE.MULT(AGGREGATE(15,6,COLUMN(A2:D4)/(A2:D4=F2),ROW(INDEX(AAA:AAA,1):INDEX(AAA:AAA,COUNTIF(A2:D4,F2))))*{1,1})))))
作为数组公式,退出编辑模式时需要用Ctrl-Shift-Enter确认,而不是回车。如果正确完成 Excel 将在公式周围放置 {}
。
注意:TEXTJOIN 适用于 Office 365 Excel,不适用于早期版本。
如果您没有 Office 365 Excel,那么您将需要一些帮助列。
在第一个辅助单元格中输入:
=IF(ISNUMBER(MATCH($F,A:A,0)),"," & A1,"")
然后复制与您的数据相同的列数。
然后用这个来连接:
=MID(H4&I4&J4&K4,2,999)
为更多列添加单元格。
我正在尝试创建一个列,以使用 excel 公式根据标题下数据范围内值的位置连接其他列的标题。我的 table 看起来像这样:
2014 | 2015 | 2016 | 2017
-------------------------
1234 4567 6547 1234
2583 3698 4567 3214
9874 1234 6664 5896
现在,这个 table 有一个包含值的行的扩展列表。
我想创建一个用户可以在其中键入数字的单元格,它将 return 行标题放在与其相邻的单元格中。如果数字出现在不止一列中,则使用逗号分隔符连接标题。即
Enter Number: Years Occurred
1234 2014,2015,2017
规则:每列都有一个唯一编号列表。没有数字在一列中出现超过一次。
我能找到的最好的例子是这里,其中公式 return 是数据范围最大值的标题:
谢谢
使用 TEXTJOIN 作为数组公式:
=TEXTJOIN(",",TRUE,INDEX(A1:D1,N(IF(1,MODE.MULT(AGGREGATE(15,6,COLUMN(A2:D4)/(A2:D4=F2),ROW(INDEX(AAA:AAA,1):INDEX(AAA:AAA,COUNTIF(A2:D4,F2))))*{1,1})))))
作为数组公式,退出编辑模式时需要用Ctrl-Shift-Enter确认,而不是回车。如果正确完成 Excel 将在公式周围放置 {}
。
注意:TEXTJOIN 适用于 Office 365 Excel,不适用于早期版本。
如果您没有 Office 365 Excel,那么您将需要一些帮助列。
在第一个辅助单元格中输入:
=IF(ISNUMBER(MATCH($F,A:A,0)),"," & A1,"")
然后复制与您的数据相同的列数。
然后用这个来连接:
=MID(H4&I4&J4&K4,2,999)
为更多列添加单元格。