Re: [算表] ERP現金收支表以MID及VLOOKUP函數補月份

看板Office作者時間5年前 (2020/04/22 13:54), 編輯推噓0(0011)
留言11則, 1人參與, 5年前最新討論串3/3 (看更多)
謝謝各位補充指教,原文已修改。 微軟官網是以引數稱呼 這應該可以算是專有名詞了吧 我只是使用一般常見的「參數」來稱呼這個東西 用意是為了讓沒有聽過引數的人比較容易進入狀況 比較能夠瞭解函數引數這個東西 例如上方功能區Excel裡是叫「索引標籤」 我習慣叫形象化的「頁籤」 用意同樣為語言表達的方便 特地在Office官網搜尋了一下 下列VBA文章有特別說明參數和引數的差異 在Excel函數這個領域裡 應該是只有「引數」這個專有名詞 於此情形 是否在表達用語嚴格禁止以「參數」類推稱呼 是否會有造成學習者混淆困惑的情形 這部份會在思考衡量 我以後會特別留意引數和參數的區別 如果有產生學習上的困擾還望見諒 參數和引數之間的差異 (Visual Basic) 2015/07/20 https://docs.microsoft.com/zh-tw/dotnet/visual-basic/programming-guide/language-features/procedures/differences-between-parameters-and-arguments 在大部分情況下,程式必須有一些有關已呼叫它的情況的資訊。 執行重複或共用工作的 程式會針對每個呼叫使用不同的資訊。 這項資訊是由您在呼叫它時傳遞給程式的變數、 常數和運算式所組成。 為了將此資訊傳達給程式,此程式會定義一個參數,而呼叫的程式碼會將引數傳遞給該參 數。 您可以將參數視為停車空間,並將引數視為汽車。 就如同不同的汽車可以在停車空 間中的不同時間靜止,呼叫程式碼可以在每次呼叫程式時,將不同的引數傳遞至相同的參 數。 參數 參數代表當您呼叫它時,程式預期會傳遞的值。 程式的宣告會定義其參數。 當您定義 Function 或 Sub 程式時,您會緊接在程式名稱後面的括弧中指定參數清單。 針對每個參數,您可以指定名稱、資料類型和傳遞機制(ByVal或ByRef)。 您也可以指 出參數是選擇性的。 這表示呼叫程式碼不需要傳遞值給它。 在程式中,每個參數的名稱都可做為區域變數。 使用參數名稱的方式與使用任何其他變 數相同。 引數 引數代表當您呼叫程式時,傳遞給 procedure 參數的值。 呼叫程式碼會在呼叫程式時提 供引數。 當您呼叫 Function 或 Sub 程式時,您會緊接在程式名稱後面的括弧中包含引數清單。 每個引數都會對應至清單中相同位置的參數。 相對於參數定義,引數沒有名稱。 每個引數都是運算式,其中可以包含零個或多個變數 、常數和常值。 已評估運算式的資料類型通常應該符合針對對應參數所定義的資料類型 ,而且在任何情況下都必須可轉換為參數類型。 ※ 引述《moodyblue ()》之銘言: : ERP現金收支表沒有月份?MID函數再搭配VLOOKUP補上,或者MATCH與INDEX雙劍合璧 : 網誌圖文版: : https://www.b88104069.com/archives/4478 : ERP系統報表難免不足,可利用Excel函數補全。本文以現金收支表為例,先以MID函數取 : 單據編號,再以VLOOKUP函數帶出月份,接著重點介紹MATCH與INDEX函數的經典組合。 : 銀行出納的ERP現金收支表沒有月份欄位 : 已經導入ERP的企業,通常系統單據會有一定的編碼原則,很常見的會分成兩個部份:「 : 單頭」+「單身」,單頭為單據性質,慣例至少會有一碼區分是哪個模塊所屬的單據,所 : 以「CA」可能表示是現金及銀行模組的單據,單身為單據編號,慣例至少會有幾碼區分是 : 哪個期間所屬的單據,所以「1801」應該就表示是18年1月份的單據。 : 整理原始資料時,瞭解編碼原則是相當基本的工作,唯有確認了ERP系統、存貨、固定資 : 產、客戶地區等編碼原則,才能依照種種條件進行統計分析。本節即以現金收支表中的單 : 據編號,分享如何將其中的月份抽離出來成為單獨欄位,順便介紹如何以MATCH與INDEX函 : 數的組合,執行會計工作上非常實用的VLOOKUP查找功能。 : MID、VLOOKUP、MATCH、INDEX函數實務應用 : 一、現金收支明細表,單據編號「CA-180101001」中的「1801」為開單當時的年月期間, : 系統跑出來的報表並沒有月份的欄位,現在基於資料統計的需要,希望藉助Excel工具, : 新增一個獨立的月份欄位。 : 二、首先以MID文字函數將單據編號中的月份提取出來:「=MID(A2,6,2)」,意思是從儲 : 存格A2內容中的第六個字元開始,取出兩個字元,計算結果即為「01」。 : 三、雖然上個步驟的「01」到「12」已經表達出月份了,希望報表更加豐富一點,特別編 : 製了一個月份英文簡稱的對照表,從「Jan」到「Dec」,所以現在任務變成是,如何從「 : 01」轉換成「Jan」、「12」轉換成「Dec」。 : 四、像這樣的任務,熟悉Excel的讀者應該都會想到Vlookup:「 : =VLOOKUP(E2,'3'!A:B,2,0)」,有興趣讀者可以參考《會計人的Excel小教室》第三章「 : VLOOKUP函數應用」,有一整章五個小節完整介紹VLOOKUP函數在實務工作上的應用。 : 五、接下來進行這一節的重點,首先設計函數公式:「=MATCH(E2,'3'!A:A,1)」,表示以 : MATCH函數得到「01」在第三步驟月份對照表A欄的順序,第三個引數「1」和VLOOKUP函數 : 第四個引數作用類似,這裡「1」表示條件值必須完全相同。 : 如果是第一次使用MTACH函數,對於這函數有些陌生,可以將滑鼠游標移到資料編輯列該 : 函數的位置,點擊左邊的「fx」,即會跳出「函數引數」視窗,有關於此函數及其引數的 : 簡要說明,甚至可以點選最左下角的「函數說明」,可以超連結到微軟官方的支援中心, : 會有更加詳細的解說。 : 六、在MTACH函數的基礎上,設計函數公式:「=INDEX('3'!B:B,G2)」,表示以MATCH公式 : 所得到的月份順序,再傳回相對應的月份英文簡稱。 : 七、將月份英文簡稱的對照表貼到此工作表上,如此在參照引用時較為直覺,再將MATCH : 和INDEX的公式合併:「=INDEX(L:L,MATCH(E2,K:K,1))」。 : VLOOKUP函數與INDEX、MATCH組合兩者比較 : 通常會以VLOOKUP函數依照條件傳回相對應位置的儲存格內容,不過在Excel還可以MATCH : 和INDEX函數搭配運用,也能完成和VLOOKUP同樣的任務。VLOOKUP是以一整個表格作為查 : 找範圍,INDEX(MATCH())是直接以某一陣列範圍作為查找對象,因此VLOOKUP較為直覺容 : 易理解,但是Excel計算處理可能較花時間,INDEX(MATCH())的函數公式複雜一些,但是 : 執行時較有效率,而且靈活性較高,工作中可依照實際狀況選擇合適方案。 : 延伸閱讀: : Indirect、Match、Row這三個Excel函數組合,竟然足以搜尋任何關鍵字重組報表 : https://www.b88104069.com/archives/4411 : 報表並不難,聰明使用Excel,瞬間搞定工作大小事 : https://www.b88104069.com/archives/4408 : Excel如何以切片器快速切換直條圖分析對象 : https://www.b88104069.com/archives/4397 -- 周末,我們繼續Excel:精華區=>21.心得=>5.其他=>3.office 會計人的Excel小教室: https://www.facebook.com/acctexcel -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 112.22.233.7 (中國) ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1587534878.A.58A.html

04/22 14:25, 5年前 , 1F
我並不同這樣的想法,如果明明就有其稱呼,卻要以不是該稱
04/22 14:25, 1F

04/22 14:25, 5年前 , 2F
呼的方式來說,那excel要稱欄列幹嘛,行列不就好了,要稱
04/22 14:25, 2F

04/22 14:25, 5年前 , 3F
工作表幹嘛,就稱分頁就好不是(瀏覽器不就是以這個來稱呼
04/22 14:25, 3F

04/22 14:25, 5年前 , 4F
頁面的),公式和函數是什麼也不用了啊。
04/22 14:25, 4F

04/22 14:25, 5年前 , 5F
原po不是就是教學、出書嗎?那不就是更應該是以正確名詞,
04/22 14:25, 5F

04/22 14:25, 5年前 , 6F
為什麼,因為這樣才能以更準確的關鍵字來搜尋不是嗎?
04/22 14:25, 6F

04/22 14:25, 5年前 , 7F
excel函數只寫到引數並不表示引數就要以參數來稱呼,參數
04/22 14:25, 7F

04/22 14:25, 5年前 , 8F
和引數所代表的是不同的啊,我所回文也就是要和原po說微軟
04/22 14:25, 8F

04/22 14:25, 5年前 , 9F
在這方面是這樣來說明的,引數不同於參數
04/22 14:25, 9F

04/22 14:25, 5年前 , 10F
那原po要授課說這個是參數,我也沒有意見,但既然要在
04/22 14:25, 10F

04/22 14:25, 5年前 , 11F
office版發教學文,就發正確的嘛
04/22 14:25, 11F
文章代碼(AID): #1UdzmUMA (Office)
文章代碼(AID): #1UdzmUMA (Office)