如果在不包含VBA的列的单元格中存在值,则将列标题显示为行
更新1:
因为我的问题不清楚,所以我发表第二个例子
因为第2行,在第04项中有值1,因此获得项目名称=项目04.它是随机的,并且具有大量的列(500)。
问题:
我想有一个方法来获得一个列标题,如果有任何值input到单元格下的单元格。 请注意,如果第2行和第1列有值,那么第2行的其他单元格将不会有任何值(0除外)。
我很难用文字来解释这个问题,所以我创造了一个例子。
我在上面的评论中发布了一个公式,你可能没有看到它。 就是这个:
=IF(COUNTA($B2:$D2)=0,"",INDEX($B$1:$D$1,MATCH(TRUE,INDEX($B2:$D2<>"",0),0)))
这将得到一个填充单元格的第一个实例头 – 如果你有数字值,并且想要忽略零改变
=IF(COUNTA($B2:$D2)=0,"",INDEX($B$1:$D$1,MATCH(TRUE,INDEX($B2:$D2>0,0),0)))
无论哪种方式的公式可以扩大到一个大的范围,因为你需要
…..如果你有500列,你可以使用IFERROR来缩短一点
=IFERROR(INDEX($B$1:$D$1,MATCH(TRUE,INDEX($B2:$D2>0,0),0)),"")
对于具有可数列数的相对小表(即3)的特定表来说,试试这个
=IF(COUNTA(G8)>0,"Column 1",IF(COUNTA(H8)>0,"Column 2",IF(COUNTA(I8)>0,"Column 3",""))).
我的问题是如果你有表包含20或100列?
我假设你说“列标题”时,你的意思是“行标题” 。
考虑到第一个单元格(包含文本"Column Header"
)在A1
这是你必须在单元格A2
引入的公式:
=IF(B2>0, $B$1, IF(C2>0, $C$1, IF(D2>0, $D$1, "")))
将这个公式向下拖动到所需的行上,它将(希望)实现你想要的。
假设你想要一个超过3列的解决scheme,这个公式将返回你正确的头。
我假设你的数据从第2行第B列开始,第1行包含列标题。
在B1中使用此公式并将其复制下来:
= IF(COUNTA($ B2:$ D2)= 0 “”,INDEX($ B $ 1:$ d $ 1,MATCH(FALSE,INDEX(ISBLANK($ B2:$ D2),0),0)))
如果您的数据比D列扩展得更远,只需在公式中进行更改即可。