Show the column header to a row if there is value

2020-03-24 07:43发布

Update 1:

Because my question is not clear, so I post second example

Example 2

Because row 2, there is value 1 at Item 04 so the Get Item Name = Item 04. It is random and have a large number of columns (500).

The problem:

I would like to have a way to get a column header if there is any value input to the cells under that header. Please note that if at row 2 and column 1 has value, then other cell of row 2 will not have any value (other than 0).

It is hard to explain the problem in words so I have created an example.

Sample

标签: excel
4条回答
爷的心禁止访问
2楼-- · 2020-03-24 08:02

I posted a formula in the comments above, you may not have seen it. This is it:

=IF(COUNTA($B2:$D2)=0,"",INDEX($B$1:$D$1,MATCH(TRUE,INDEX($B2:$D2<>"",0),0)))

that will get the header for the first instance of a populated cell - if you have numeric values and want to ignore zeroes change to

=IF(COUNTA($B2:$D2)=0,"",INDEX($B$1:$D$1,MATCH(TRUE,INDEX($B2:$D2>0,0),0)))

Either way the formula can be extended to as large a range as you need

.....and if you have 500 columns you could use IFERROR to shorten a little

=IFERROR(INDEX($B$1:$D$1,MATCH(TRUE,INDEX($B2:$D2>0,0),0)),"")

查看更多
家丑人穷心不美
3楼-- · 2020-03-24 08:23

I assume that when you say "column header" you really mean "row header".

Considering that the first cell (containing the text "Column Header") is at A1 this is the formula you have to introduce in cell A2:

=IF(B2>0, $B$1, IF(C2>0, $C$1, IF(D2>0, $D$1, "")))

Drag this formula down on as many rows as you need and it'll (hopefully) achieve what you want.

查看更多
Root(大扎)
4楼-- · 2020-03-24 08:25

Assuming that you want a solution with more than 3 columns, this formula will return you the right header.

I assume that you data starts in row 2, column B - and row 1 contains the column headers.

Use this formula in B1 and copy it down:

=IF(COUNTA($B2:$D2)=0,"",INDEX($B$1:$D$1,MATCH(FALSE,INDEX(ISBLANK($B2:$D2),0),0)))

If your data extends further than column D, simply change this in the formula.

查看更多
▲ chillily
5楼-- · 2020-03-24 08:26

for a particular table which is relative small table with countable number of columns (i.e 3) try this

=IF(COUNTA(G8)>0,"Column 1",IF(COUNTA(H8)>0,"Column 2",IF(COUNTA(I8)>0,"Column 3",""))).  

my question is what if you have table contain 20 or 100 columns?

查看更多
登录 后发表回答