更新1:
因为我的问题不明确,所以我发布第二个例子
因为第2行,所以在第04项中有值1,因此获取项目名称=项目04.它是随机的并且具有大量列(500)。
问题:
如果对该标题下的单元格有任何值输入,我想有办法获取列标题。请注意,如果在第2行和第1列有值,则第2行的其他单元格将不具有任何值(除了0)。
很难用文字解释这个问题所以我创造了一个例子。
答案 0 :(得分:7)
我在上面的评论中发布了一个公式,你可能没有看过它。就是这样:
=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)),"")
答案 1 :(得分:1)
对于一个特定的表,它是具有可计数列数的相对小表(即3),试试这个
=IF(COUNTA(G8)>0,"Column 1",IF(COUNTA(H8)>0,"Column 2",IF(COUNTA(I8)>0,"Column 3",""))).
我的问题是,如果您的表包含20或100列?
答案 2 :(得分:0)
我认为当你说“列标题”时,你的意思是“行标题”。
考虑到第一个单元格(包含文字"Column Header"
)位于A1
,这是您必须在单元格A2
中引入的公式:
=IF(B2>0, $B$1, IF(C2>0, $C$1, IF(D2>0, $D$1, "")))
将此公式拖放到您需要的任意数量的行上,它(希望)可以达到您想要的效果。
答案 3 :(得分:0)
假设您需要一个包含3个以上列的解决方案,此公式将返回正确的标题。
我假设您的数据从第2行B列开始 - 第1行包含列标题。
在B1中使用此公式并将其复制:
=IF(COUNTA($B2:$D2)=0,"",INDEX($B$1:$D$1,MATCH(FALSE,INDEX(ISBLANK($B2:$D2),0),0)))
如果您的数据超出D列,只需在公式中更改此内容。