使用數(shù)組公式計算工資對應(yīng)的鈔票數(shù)量
在一些企業(yè)和工廠中,仍然采用現(xiàn)金發(fā)放工資的方式。而對于財務(wù)人員來說,預(yù)估各種面額的鈔票張數(shù)是一個必不可少的程序。對于大部分不懂VBA和函數(shù)的人員來說,這也是一個難點。 實際上,利用ET2009的數(shù)組
在一些企業(yè)和工廠中,仍然采用現(xiàn)金發(fā)放工資的方式。而對于財務(wù)人員來說,預(yù)估各種面額的鈔票張數(shù)是一個必不可少的程序。對于大部分不懂VBA和函數(shù)的人員來說,這也是一個難點。
實際上,利用ET2009的數(shù)組公式可以輕松解決這個問題,只需要幾秒鐘。下面將演示具體需求和完成步驟。
建立輔助區(qū)并輸入面額
假設(shè)需要計算的面額包括100元、50元、20元、10元、5元、2元、1元。在工資存放列(假設(shè)為B列)右邊建立7列作為輔助區(qū),用于存放每種面額的鈔票張數(shù)。
- 在C1到I1區(qū)域分別輸入100、50、20、10、5、2、1。
- 選擇C1到I1區(qū)域,右鍵點擊并選擇“設(shè)置單元格格式”菜單。
- 在“數(shù)字”選項卡的“分類”中選擇“自定義”。
- 在右邊的“類型”框中將“G/通用格式”修改為“G/通用格式元”,這樣單元格中顯示的數(shù)字會帶有單位“元”。
計算鈔票數(shù)量
在C2單元格錄入以下公式:IF(COLUMN()3,INT($B2/C$1),INT(($B2-SUM(OFFSET($B$1,ROWS($A$1:A1),1,COLUMNS($B:B)-1)*OFFSET($B$1,,1,COLUMNS($B:B)-1)))/C$1)。
錄入公式后,需要同時按下“Ctrl Shift Enter”三鍵結(jié)束,表示按照數(shù)組公式計算,否則無法產(chǎn)生正確結(jié)果。
選擇單元格C1,將公式向右填充至I2,再雙擊填充柄,將C2:I2的公式向下填充至末尾。公式的計算結(jié)果可以在相應(yīng)的單元格中看到。
驗證計算正確性
為了驗證計算是否準確,我們可以在J列建立一個輔助區(qū),用于匯總所有面額與數(shù)量的乘積。在J1輸入“匯總”,在J2輸入以下公式:SUM($C$1:$I$1*C2:I2)。
同樣地,雙擊J2單元格的填充柄,將公式向下填充到最末單元格。
通過比較J列的匯總值和B列的工資,可以清晰分辨公式的正確性。
公式思路解釋
計算100元面額的鈔票數(shù)量時最簡單,只需要將工資除以100,然后利用INT函數(shù)取整即可,即公式中的“INT($B2/C$1)”部分。而計算其他面值的鈔票張數(shù)時,只需要對剩下的部分工資進行計算。重點是如何確定已經(jīng)計算過的鈔票面額的值。
在本例中,我們利用“OFFSET($B$1,,1,1,COLUMNS($B:B)-1)”獲取已經(jīng)計算過的鈔票面額,再用“OFFSET($B$1,ROWS($A$1:A1),1,1,COLUMNS($B:B)-1)”獲取已計算過的鈔票對應(yīng)的數(shù)量。兩者乘積并匯總,再用總薪資求差即為剩下的待計算金額。
如果你熟悉ET中的專用函數(shù)MMULT,你還可以使用“IF(COLUMN()3,INT($B2/C$1),INT(($B2-MMULT(OFFSET($B$1,ROWS($A$1:A1),1,1,COLUMNS($B:B)-1),TRANSPOSE(OFFSET($B$1,,1,1,COLUMNS($B:B)-1))))/C$1)”來改寫這個數(shù)組公式。