一、方法簡介
審計人員在用計算機採集數據時常碰到一類問題,即被審計單位提供的數據(excel表格)是非常零散的數據,而且其中部分單位數據欄位名不在同一列,欄位名也不盡相同,如有的欄位名為「身份證號」,有的欄位名為「身份證號碼」,有的在第2列,有的在第3列,要是用SQL整理分析數據,必須要對這些零散的excel表格進行數據整理,工作量非常大,耗時費力,效率低下,由於審計組的審計目的只是要比對需要核實的人員信息是否在這些零散的excel表格中出現,如何用最少的時間,最小的工作量完成此項任務就擺在了審計組面前,若用excel的VBA和函數結合,就可巧妙的解決此難題。
二、方法流程
此方法綜合運用excel中的VBA和函數,巧妙解決了數據整理和不同欄位比對問題,VBA是Visual Basic for Applications的縮寫,是內嵌於office軟體中的一個開發模塊,這個模塊提供程序自主開發,語言基礎和VB(Visual Basic)相似。在Excel的「工具—宏—編輯器」可以打開,也可按Alt+F11打開,excel的VBA需要編寫代碼,此案例中主要解決多個excel表格合併,需要將多個excel表格放到同一個目錄下,然後在此目錄下新建一個excel表格文件A,合併後的所有內容全部裝在新建的excel表格文件中,再將需要比對的excel表格B與此表格進行比對,運用函數IF和COUNTIF組合找出B中是否有數據在A中出現,最後得出結果,其流程如下:
1、使用excel中的VBA合併多個excel表,結果裝入在同一目錄下新建的excel文件A中。
2、使用excel中的函數IF和COUNTIF組合將數據B與A進行數據比對,其公式為IF(COUNTIF(Sheet1!A:K,Sheet2!I2),"有","無")。
3、使用excel中的篩選工具進行篩選結果。
三、具體方法
為方便講述該方法步驟,以下從某地區提供的財政供養人員信息與貧困人口信息數據進行比對為例進行講解,財政供養人員信息為該地區編辦提供的125個單位的人員信息,有125張excel表,貧困人口信息由該地區扶貧辦提供,有1張excel表,審計任務是比對財政供養人員是否在貧困人口中出現,其步驟為:
第一步:合併編辦提供的125個單位的人員信息表。
1.把編辦提供的125張excel表都放在同一個文件夾裡面,並在這個文件夾裡面新建一個excel文件-「合併財政供養人員表」。
2.用microsoft excel打開新建的excel表,並右鍵單擊sheet1,找到「查看代碼」,單擊進去,進去之後就看到了宏計算界面。
3.把下面這些宏計算的代碼複製進去。
Sub 合併當前目錄下所有工作簿的全部工作表()
Dim MyPath, MyName, AWbName
Dim Wb As Workbook, WbN As String
Dim G As Long
Dim Num As Long
Dim BOX As String
Application.ScreenUpdating = False
MyPath = ActiveWorkbook.Path
MyName = Dir(MyPath & "¥" & "*.xls")
AWbName = ActiveWorkbook.Name
Num = 0
Do While MyName <> ""
If MyName <> AWbName Then
Set Wb = Workbooks.Open(MyPath & "¥" & MyName)
Num = Num + 1
With Workbooks(1).ActiveSheet
.Cells(.Range("A65536").End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4)
For G = 1 To Sheets.Count
Wb.Sheets(G).UsedRange.Copy .Cells(.Range("A65536").End(xlUp).Row + 1, 1)
Next
WbN = WbN & Chr(13) & Wb.Name
Wb.Close False
End With
End If
MyName = Dir
Loop
Range("B1").Select
Application.ScreenUpdating = True
MsgBox "共合併了" & Num & "個工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示"
End Sub
4.找到工具欄上面的「運行」下的「運行子過程/用戶窗體」,點擊運行,等待10秒針左右,等運行完畢,就是合併完成之後,會有提示,點確定就可以了。查看合併後的數據,125張excel表格中的所有數據都合併到該工作表sheet1中了。
第二步:比對。
1、將excel文件-「貧困人口信息表」的數據複製粘貼到「合併財政供養人員表」文件的sheet2工作表中。
2、在sheet2的第一行數據最後一列(比如AA2)單元格中輸入公式:=IF(COUNTIF(Sheet1!A:K,Sheet2!j2),"有","無"),然後滑鼠停留在該單元格右下角,成十字星後下拉,將該公式複製到下面所有單元格中。此公式中的「Sheet1!A:K」是指sheet1表中從A列到K列所有數據,「Sheet2!j2」是指sheet2表中J2列,即需要比對的數據列(如證件號碼),如需要比對的是其他列數據,在此更換參數即可,「有」參數位置是指比對結果相同,「無」參數位置是指比對結果不同,當然此處兩參數位置上可以自己隨便寫其他字符串,主要是方便自己查看。
第三步:篩選
選中AA2列,點擊右上「排列和篩選」工具,點擊「篩選「,選擇「有」,等一會兒,得出所有結果。
--微審計 審計人員都在看---
讀後分享->右上角送給朋友或轉發朋友圈
快速關注->微信訂閱號,查找「微審計」
->掃掃下圖,發現更多驚喜