時值歲末,一年一度的報表季又將來臨。這些天,經(jīng)常收到留言詢問如何提高報表效率,減輕醫(yī)院統(tǒng)計工作的勞動強度。我覺得有必要把這些問題統(tǒng)一答復(fù)一下,幫助各位同仁從各種紛繁的數(shù)據(jù)中解脫出來。
以上為公眾號慣用語言套路,其實根本沒人問我。
下面我們分三個階段來學(xué)習(xí)Excel在醫(yī)院統(tǒng)計工作中的應(yīng)用。
一、入門階段
本階段主要掌握加減乘除、求和等基本運算公式。
日常統(tǒng)計工作中,我們可以把各科室每天的病人流動情況分成不同的sheet與月報表放在同一個Excel文件中,如圖所示做好相應(yīng)的公式。每個月的1號,當(dāng)我們錄入各科室最后一天的工作量后,月報表就已經(jīng)基本自動完成了。
以2019年12月的報表為例,月報表自動生成后,將其粘貼至2019年1-11月報表相鄰的sheet中。由于模板中已設(shè)置好公式,因此,Excel自動累加出2019年全年報表以及與去年同期的對照表。
由此,只要前期工作到位,全年所有報表可瞬間完成。
其實,通過了入門階段,醫(yī)院統(tǒng)計工作效率提升10倍已經(jīng)沒有問題。也就是說,本來需要你干一天的工作,現(xiàn)在半個小時就能干完。那么,節(jié)省下來的時間,領(lǐng)導(dǎo)就可以給你安排更多的工作了。
二、進階階段
本階段主要掌握一些日常工作中的常用函數(shù),比如countif、vlookup等。
1. 假如現(xiàn)在有大量夜班人員的排班表,需要統(tǒng)計每個醫(yī)護人員的夜班次數(shù),如果靠人工去數(shù)或者挨個搜索的話需要很長時間。這時如果使用countif函數(shù)可以瞬間完成。
第一步:把所有夜班人員名單放在A列;
第二步:復(fù)制所有夜班人員名單到C列,點擊刪除重復(fù)項;
第三步:在D列輸入countif函數(shù)并下拉填充。
2. 疫情期間我們經(jīng)常要填報各種表格,很多表格內(nèi)容都差不多,但是表格結(jié)構(gòu)不同,這時可使用vlookup函數(shù)引用其他表格的內(nèi)容使其自動填寫。
例如主管部門要從我院抽調(diào)100名醫(yī)生支援核酸檢測,需要這些醫(yī)生的身份證號和手機號,而目前我們擁有全院所有人員的個人信息,此時,我們可以使用vlookup函數(shù)自動搜索所需的100名醫(yī)生并調(diào)取身份證號和手機號填入相應(yīng)位置。
全院所有人員個人信息
通過vlookup函數(shù)獲取特定人員的信息
三、大神階段
本階段我們要熟練掌握VBA,把自己想做的事情通過程序語言告訴Excel,讓其自動獲得我們想要的結(jié)果。
1. 以很多醫(yī)院都會經(jīng)歷的編碼映射為例。由于績效考核平臺疾病編碼采用國臨2.0版,所以我們要將本院使用的編碼轉(zhuǎn)換成國臨2.0版才可以上傳,這也讓各家醫(yī)院頭疼不已。其實,如果熟練掌握VBA,這個工作就變得非常簡單了。
第一步:用sheet(本院編碼)中的診斷編碼和診斷名稱到sheet(2.0編碼)中逐條查找,如果編碼和名稱均相同,則將相應(yīng)的編碼和名稱填寫在sheet(編碼和名稱均相同)中。
第二步:同樣方法分別列出編碼相同名稱不同、編碼不同名稱相同以及編碼名稱均不同的sheet。
第三步:編碼和名稱均相同,無需處理;編碼相同名稱不同以及編碼不同名稱相同,僅少量需要人工映射;編碼名稱均不同,逐條人工映射,但這種情況數(shù)量很少。
第四步:以上4個sheet合在一起即為最終的映射表。
2. 再說一個稍微復(fù)雜一點的。
如圖是系統(tǒng)導(dǎo)出的查體報告,一個Excel里大概有5000份,全部查體報告大概有50個這樣的Excel,也就是大約25萬份。這樣的數(shù)據(jù)是無法進行統(tǒng)計分析的。
如果我們想就其中的幾項數(shù)值進行分析,必然要將其轉(zhuǎn)化成如圖所示的格式。
人工處理25萬份數(shù)據(jù)幾乎是不可能的,而使用VBA告訴Excel怎么做,我們只需要點幾下鼠標(biāo)就搞定了。
放出源代碼,供大家參考。
Sub 體檢表()
For i = 1 To 12000
xmmc =Sheet1.Cells(i, 4)
lie =Sheet1.Cells(i, 2)
If xmmc = '心電圖' Then
Sheet2.Cells(j +2, 4) = Sheet1.Cells(i, 17)
ElseIf xmmc ='肝臟' Then
Sheet2.Cells(j +2, 5) = Sheet1.Cells(i, 17)
ElseIf xmmc ='膽囊' Then
Sheet2.Cells(j +2, 6) = Sheet1.Cells(i, 17)
ElseIf xmmc ='胰腺' Then
Sheet2.Cells(j +2, 7) = Sheet1.Cells(i, 17)
ElseIf xmmc ='脾臟' Then
Sheet2.Cells(j +2, 8) = Sheet1.Cells(i, 17)
ElseIf xmmc ='腎臟' Then
Sheet2.Cells(j +2, 9) = Sheet1.Cells(i, 17)
ElseIf xmmc ='甲狀腺' Then
Sheet2.Cells(j +2, 13) = Sheet1.Cells(i, 17)
ElseIf xmmc ='冠狀動脈CT造影' Then
Sheet2.Cells(j +2, 14) = Sheet1.Cells(i, 17)
ElseIf xmmc ='白細胞' Then
If Sheet1.Cells(i + 1, 4) = '紅細胞平均血紅蛋白含量' Then
Sheet2.Cells(j + 2, 15) = Sheet1.Cells(i, 13)
End If
ElseIf xmmc ='單核細胞百分比' Then
Sheet2.Cells(j +2, 16) = Sheet1.Cells(i, 13)
ElseIf xmmc ='淋巴細胞百分比' Then
Sheet2.Cells(j +2, 17) = Sheet1.Cells(i, 13)
ElseIf xmmc ='中性粒細胞百分比' Then
Sheet2.Cells(j +2, 18) = Sheet1.Cells(i, 13)
ElseIf xmmc ='血紅蛋白濃度' Then
Sheet2.Cells(j +2, 19) = Sheet1.Cells(i, 13)
ElseIf xmmc ='血小板數(shù)目' Then
Sheet2.Cells(j +2, 20) = Sheet1.Cells(i, 13)
ElseIf xmmc ='C-反應(yīng)蛋白' Then
Sheet2.Cells(j +2, 21) = Sheet1.Cells(i, 13)
ElseIf lie ='體檢號:' Then
j = j + 1
Sheet2.Cells(j +2, 2) = Sheet1.Cells(i, 11)
Sheet2.Cells(j +2, 3) = Sheet1.Cells(i, 14)
End If
Next
End Sub
聯(lián)系客服