Power Query閃開,好用的Excel合併公式來了

昨天,有人提了一個關於員工生日的難題:

其實,如果不要求姓名合併,用數據透視表挺容易實現的:


插入數據透視表 - 對日期進行月、日分組 - 把月拖到篩選標籤中 - 添加切片器:月


Power Query閃開,好用的Excel合併公式來了


但要把同一天過日的員工姓名合併起來,就沒那麼容易了。小編分享兩種高能方法,一種是power Query轉換,第二種是用函數公式。


一、使用Power Query


1、效果演示


Power Query閃開,好用的Excel合併公式來了


2、製作步驟


選取表格 - 數據 - 自表格/區域 ,啟動power Query


Power Query閃開,好用的Excel合併公式來了


在power Query編輯器中,複製日期列,並分別轉換成月和天


Power Query閃開,好用的Excel合併公式來了


再重命名標題為“月份”和“日期”


Power Query閃開,好用的Excel合併公式來了


分組依據 - 選取高級 - 添加和設置月份日期 為分組項,然後對員工進行求和。


Power Query閃開,好用的Excel合併公式來了


點擊確定後,新生成的列會顯示錯誤結果


Power Query閃開,好用的Excel合併公式來了



原公式:


= Table.Group(重命名的列, {"月份", "日期"}, {{"過生日的員工", each List.Sum([員工]), type text}})


修改為:


= Table.Group(重命名的列, {"月份", "日期"}, {"過生日的員工", each Text.Combine([員工],",")})


Power Query閃開,好用的Excel合併公式來了


把powey中的結果導入到表格中,並用數據透視表進行透視:關閉並上傳至 -選數據透視表,再添加切片器即可(具體步驟不再詳述)


是不是感覺power query步驟很複雜,其實用一個Excel公式即可搞定。


二、使用函數公式


1、效果


可以選取不同的月份,動態生成該月份每一天過生日的名單。


Power Query閃開,好用的Excel合併公式來了


2、公式


K3公式:


=IFERROR(TEXTJOIN(",",,FILTER(A$2:A326,TEXT(B$2:B326,"m-d")=K$1&"-"&J3)),"")


估計很多新手看不懂公式,小編就簡單介紹一下:


  • TEXT(B$2:B326,"m-d") :把B列的日期轉成換“月-日”格式和給定的K$1&"-"&J3進行對比,作為filter函數的篩選條件。
  • FILTER(篩選返回區域,條件):office365新增函數,根據條件返回篩選結果
  • TEXTJOIN(連接符,,連接的多個值):office365新增函數,可以用指定的連接符號,把多個值連接成一個。
  • IFERROR(表達式,""):把返回的錯誤值轉換成空


分享到:


相關文章: