三種方法實現(xiàn):顯示每行最后一個非空單元格對應(yīng)的字段名
網(wǎng)友提問:

放大圖片

回答網(wǎng)友問題:
我重新做了一張表

【1】Excel工作表函數(shù)解決:
如果只有一張表,也不牽扯增加列,我覺得Excel工作表函數(shù)快
公式就一句話,但是要說清楚為什么,我們在F2單元格中輸入公式? = B2:D2

看到的結(jié)果

拖拽下來

當(dāng)我們把公式改成? = B2:D2<>0? ? 它返回邏輯值,真TRUE還是假FALSE

因為我們要找最后一個非空單元格對應(yīng)的字段名,我們在Excel基礎(chǔ)篇講過,Vlookup找第一個,Lookup找最后一個
公式 :=LOOKUP(1,0/(B2:D2<>0),$B$1:$D$1)

但是,你添加列和刪除列時就麻煩了
【2】ExcelVBA解決:
復(fù)制下面的代碼到VBE編譯器后運行
思路:循環(huán)A列,E列向右找到第一個不為空的單元格,拿他的列號,Cells(1,列號)取標題
if判斷是防止只有姓名沒有內(nèi)容的行
知識點:



如果你覺得麻煩,沒問題,也可以像工作表函數(shù)那樣自己寫一個公式
把下面的函數(shù)復(fù)制到VBE編輯器中
以后在這個工作簿中,就可以直接使用孫興華這個函數(shù)了

【3】PoewrQuery處理方法
導(dǎo)入數(shù)據(jù),添加步驟,公式如下
思路:添加列,x代表每一行的記錄,記錄轉(zhuǎn)表,篩選Value列的非null,取[Name]變成列表,判斷,如果列表中的元素不等于1時,返回列表最后一個元素,否則返回空。


Excel:https://www.bilibili.com/video/BV1Z7411c7U6
ExcelVBA:https://www.bilibili.com/video/BV1rt4y1a72y
PowerQuery:https://www.bilibili.com/video/BV1oa4y1j75e