2023年3月25日 星期六

[Excel]如何創建自定義函數

在 Excel 內建函式中找不到自已想要的函式怎麼辦?事實上我們可以自已建一個,以下是一個簡單的Excel自定義函數示例,用於將民國年轉為西元:


Function 民國轉西元(x As Double) As Double

    民國轉西元 = x + 1911

End Function

 

要使用此函數,您需要在Excel中按 `Alt + F11` 打開Visual Basic編輯器。然後,通過在項目窗口中右鍵單擊工作簿名稱並選擇 `插入 > 模塊` 來插入新模塊。將上面的代碼粘貼到新模塊中,如下圖所示。



然後關閉Visual Basic編輯器。現在您可以像使用任何其他內置函數一樣在工作表中使用 `民國轉西元` 函數。例如,如果您在單元格中輸入 `=民國轉西元(100)`,它將返回 `2011`,如下圖所示。


使用限制

使用 VBA 在 Excel 中創建自定義函數有一些限制。自定義函數不能執行更改 Excel 環境的操作。這意味著這樣的函數不能執行以下任何操作:

  • 在電子表格上插入、刪除或格式化單元格。
  • 更改另一個單元格的值。
  • 移動、重命名、刪除或向工作簿添加工作表。
  • 更改任何環境選項,例如計算模式或屏幕視圖。
  • 向工作簿添加名稱。
  • 設置屬性或執行大多數方法。


使用情境


使用 VBA 在 Excel 中創建自定義函數可以滿足許多不同的需求。例如,您可以創建一個函數來執行特定的計算,該計算不包含在 Excel 的內置函數中。這樣,您就可以在工作簿中重複使用該函數,而不必每次都複製和粘貼相同的公式。

此外,您還可以創建一個函數來自動化某些任務,例如從網絡上抓取數據或從其他文件中提取信息。這樣,您就可以更快地完成工作,並減少出錯的可能性。

總之,使用 VBA 在 Excel 中創建自定義函數可以讓您更有效地使用 Excel,並滿足您特定的計算需求。

2023年2月1日 星期三

[ Excel ] 如何使用函式篩選出唯一值

 在 Google 試算表中有提供 UNIQUE 函式,於所指定範圍列中,傳回範圍中的不重複資料列,如同下圖示例。


但在 Excel 雖有可篩選的操作,可是並沒有相對應的函式,如果要用函式的方式處理,就需要繞些遠路。首先要先統計各種類的數量,在此用到的是 COUNTIF 函式,此函式可統計我們指定範圍內,符合我們所要項目的數量,在本例我們應用來取得各別項目的數量計算,語法與執行結果如下圖。


為了要統計各類的各別有的數量,利用錢的符號『 $ 』來定住 COUNTIF 函式作用區間的上緣,而下緣則為目前在的列數,這樣下面如有新增的資料時,只要在函式列下拉即可計算,COUNTIF 計算標的,為當前列的項目於我們指定的上緣到該列時的數量,例如上圖範列的第7例為黑色,在 [ J$2:J7 ] 的範圍內共有2個黑色,而用  COUNTIF (J$2:J7 , J7) 計算出來的結果也為 2 ,這樣做的結果我們會發現,我們相當於在對各個不同的項目各自排序,由上圖可以看到,紅色有3個,分別在第2、3、11列,而統計出來的結果在 K2、K3、K11 為 1、2、3 ,剛好為其排序。

至於為什麼要排序,有了排序我們就可以捉 K 欄中顯示為 1 的列,對應到同列的 J 欄就為不重複的唯一值,在本例 K 欄為 1 的,在 J 欄分別為 紅色、黑色、紫色、黃色、藍色,共有五種顏色,所以接下來的動作,我們依此統計種類數,在N欄中如上面所講的,在 K 欄值為 1時,才進行計數,從而統計出種類數為 5 種顏色。



接下來利用 VLOOKUP 函式來將上述唯一值在 Excel 篩選出,但 VLOOKUP 要求查閱值需在資料範圍的最前列,為此,需將 M 欄的結果,放到 K欄 之前,做為 VLOOKUP 的鍵值,我們直接指定 H 欄 等為 M 欄值,這樣就完成資料範圍的整備。 


接下來要用 VLOOKUP 來搜尋不重複的值,首先要建立查閱值,在前面我們已經知道有 5 種顏色,所以 O 欄的查閱值,原本可以直接輸 1、2、3、4、5,但為了擴充和通用性,我們用 「=IF(O2<MAX(M:M),O2+1,"")」,來進行查閱值的產生,查閱值產生後就可以用 VLOOKUP 函式來找出唯一的值了,如 下圖 Q 欄所示。


為什麼要這樣做


以上為用函式求找唯一值的方式,就如同前面所說,繞了很大一段路,才求得結果,但為什麼要這樣做,應用的情境為何? 就一般來說  Excel 雖有可篩選的操作,但還是需要我們點選操作,才可達成我們所要的目的,用此方法只要將資料貼到你指定的欄位,就會自動求得所以的唯一值,而後我們可以用這結果套入其他函式進行運算,從而得到自動化的結果。

另外  Excel 的篩選操作過程中都會有縮減列數的效果,如果你的欄位是在一個大資料集中,這樣做可能會將其他欄位的資料給刪除,此時要不是複制該欄貼到其他 Sheet 進行操作,就比較適合用此方式進行操作。

結語

就個人的使用習慣上,如果遇到此類操作,會將資料移到 Google 試算表操作,但有的時侯可能是只能用 Excel 操作時,且需要較自動化的操作,個人就會用前面所述的方式進行操作,看起來設定繁瑣,但設定好後,後續使用非常自動化,提供有需求的朋友進行參考。






2022年12月25日 星期日

內捲效應

 


「內捲」(Involution)是近年來對岸盛行的一個詞彙,指人們在生活和工作中,在有限的空間裡進行無效而激烈的競爭,導致雙方都沒有收益。它就像是一群小老鼠在滾輪上奔跑不止,在窄小的空間裡拚命前進,卻無法停下來休息,因為一旦放鬆就會被甩出去。最終只能走向集體失敗。

作者王為創立了酣客醬酒這個品牌。他採用了自己創造出來 FFC(Factory & Fan to Customer)模式,在白酒市場上推出高品質、設計新穎、社群互動強大 的產品。從2014到2019年5年間實現了100倍增長率。他成功地避開了白酒行業 的內捲競爭。他認為內捲的成因有以下幾點:
  1. 過度的焦慮未來,但沒有確實的分析與決策,一味進行無效的努力,造成內捲效應。就如果對岸的共享單車風潮,在大量企業投入,但沒有彼此之間沒有差異點,一味的過度補貼用戶,狂砸錢希望能鬥垮對手,最終除了後進的幾家企業存活外,較早進入該領域的的公司,幾乎全部退出了。
  2. 同質化、同思化、同哲化,造成社會的多元性不足,導致創新受限。個人覺得這是東方文化的問題,因為東方文化講求團體合作,壓抑個人創新,求同不求異,故造成所有人的思維都差不多,不具備多元性,如特斯拉執行長馬斯克如果生在東方,只會被當成怪單,甚至被排擠,不會有現在的成就。
  3. 沒有開創性的格局,也無核心思想,遇到事情只能向現實妥協。
而人們見不得別人好的心理,會使得內捲更加激化,造成囚徒困境,從而造成雙輸局面。

那要怎麼避開內捲式的競爭呢?作者以自身的經驗,提出以下六大方法「反內捲」:
  1. 遵循自已內心的聲音,打造自已的使命。
  2. 創新超出產業與想像,創造新的價值,如同網約車,打破舊有的計程車產業,開劊新的服務型式,並擴大產業規模。
  3. 必需要有配套措施,要全面變革,不能只改一部分,例如作者所創的酣客醬酒,其除了有高品質的產品外,還重視產品的設計,並善用社群的營銷管道,來達成全面的革新。
  4. 由底層重構,由上到下改變經營邏輯,前面所提的網約車,像是Uber之類的公司,本質上可以說是網路公司,車子為司機自行準備,降低其資本支出,所以得以輕資產的方式營運。
  5. 借助外部思維,來打破舊有的觀念,例如作者的 FFC(Factory & Fan to Customer)經營模式,如果仔細看,社群經營就有小米的影子。
  6. 手段新穎,要推陳出新,不要從眾。
以上為作者自身結合創立的酣客醬酒,提出對內捲的觀察,與反內捲的作法。而個人以為,因為現在知識的進步與教育的普及,技術與科技的演進,是以十倍以上的速度在演化與傳播,造成模仿與學習的成本及時間,大幅度的降低,在現代社會想要以一技之長走天下是不可能的事,內捲效應是必然會發生的現象,而不只單單發生於對岸,想要持續保持優勢跳出老鼠賽跑的迴圈,除了努力外,選擇更為重要,本書提供給我們思考與決策的方式,如果您是創業者或企業的管理者,這本更為合適,因為書中舉了眾多的商業案例作為參考,並作為借鏡。

[Excel]如何創建自定義函數

在 Excel 內建函式中找不到自已想要的函式怎麼辦?事實上我們可以自已建一個,以下是一個簡單的Excel自定義函數示例,用於將民國年轉為西元: Function 民國轉西元(x As Double) As Double     民國轉西元 = x + 1911 End Func...