如何使用Excel将某几列有值的标题显示到新列中
如果我们有好几列有内容,而我们希望在新列中将有内容的列的标题显示出来,那么我们怎么做呢?
Excel - TEXTJOIN function
2. Stackoverflow - Finding a specific value and returning column headers in Excel
EXAMPLE:
Indexing | Year 1 | Year 2 | Year 3 | Year 4 | Year 5 | Year 6 | Year 7 | Year 8 |
---|---|---|---|---|---|---|---|---|
? | - | 1 | - | - | - | - | - | - |
? | - | - | 2 | - | - | - | - | - |
? | - | - | - | 3 | - | - | - | 15 |
? | - | - | - | - | 4 | - | - | - |
在开始,我们曾经使用INDEX + MATCH的方式,但是没有成功,一直是N/A
https://superuser.com/questions/1300246/if-cell-contains-value-then-column-header
所以我们后来改为TEXTJOIN函数,他可以显示值,也可以显示值的标题,还可以多个列有值的时候同时显示。
期望效果:
Indexing | Year 1 | Year 2 | Year 3 | Year 4 | Year 5 | Year 6 | Year 7 | Year 8 |
---|---|---|---|---|---|---|---|---|
Year 2 | - | 6 | - | - | - | - | - | - |
Year 3 | - | - | 2 | - | - | - | - | - |
Year 4,Year 8 | - | - | - | 4 | - | - | - | 15 |
Year 5 | - | - | - | - | 5 | - | - | - |
1 | =TEXTJOIN(", ",TRUE,IF(ISNUMBER(B2:I2),$B$1:$I$1,"")) |
如果是想要显示值,则:
=TEXTJOIN(", ",TRUE,IF(ISNUMBER(B2:I2),B2:I2,""))
其中,ISNUMBER(B2:I2)是判断值是不是数字,可以根据情况改成是不是空白ISBLANK()。
This is an array formula, so you need to enter it using Ctrl + Shift + Enter after entering formula instead of just Enter. It will add {} to your formula.
- 标题: 如何使用Excel将某几列有值的标题显示到新列中
- 作者: 暗香疏影
- 创建于 : 2022-08-16 00:00:00
- 更新于 : 2022-08-16 00:00:00
- 链接: https://blog.23ikr.com/2022/08/16/2022-08-16-Return-Header-Based-on-Value/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论