考勤表由縱列轉化為橫向在Excel中如何實現(考勤表怎么橫向變縱向)
在前幾期的內容中有個粉絲問我,他們的考勤表由縱列的轉化為橫向的,如下圖,請問這個是怎么實現的呢?
如下圖的原始的數據圖:
第一步:
在c2單元格中輸入 以下公式:
=IF(A1=A2,TEXT(C1,"h:mm:ss")&","&TEXT(B2,"h:mm:ss"),TEXT(B2,"h:mm:ss")),然后下拉填充手柄,效果圖如下:
注意:
1、TEXT(C1,"h:mm:ss")是自定義格式中的關于時間的定義的格式,大家可以ctrl+1或者右鍵打開自定義格式自行查看,如下圖。如果不把日期的格式轉化為文本,則會出現一串小數表示的時間。
2、用ift條件函數的判斷,如果a1=a2單元格,則返回的是c1單元格,再連接一個逗號,然后再連接一個b2,如果a1<>a2,則顯示的是b2單元格。
第二步:
如圖所示,去掉重復項的姓名,此處可以用透視表,也可以用公式進行不重復項的提取。
方法1:透視提取。
如下圖所示:
方法2:函數法
首先在g4和e4中分別輸入【姓名】和【打卡時間字段】,如下圖所示,然后在g5單元格中輸入以下公式:
=IFERROR(INDEX(A:A,1+MATCH(,COUNTIF(G:G4,A:A),))&"","")
然后按下ctrl+shift+enter組合鍵完成,下拉填充手柄進行填充。
注意:上述公式是提取不重復項的標準的公式。
第三步:
在e5單元格中輸入以下公式,提取每個相同的姓名中連接的最長的字符串,如下圖所示:
=IFERROR(LOOKUP(1,0/(G5=$A:$A),$C:$C),"")
第四步:
先把c列的公式轉化為文本(去掉公式方法:選中區域,然后按住鼠標右鍵不放向右拖出不放鼠標然后再拖回原位),然后選中c列單元格,然后進行分列,效果圖如下所示:
【注意】分列的時候用的是固定符號,即我們上述公式中的逗號進行分列,一定要注意上述公式中連接時用的逗號是英文狀態下的還是中文狀態下的。
最后完成整個表的一個轉置。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。