2020年3月24日 星期二

善用 Excel 進階函數 vlookup,解決工作上大小事。

Excel 我們知道提供很多函數,從數學、財務、統計、日期...等等有上百個函數,但要在這些函數選一個最常用的函數,我想非 vlookup 莫屬,這個函數主要用途是在您指定的資料範圍內,透過「查閱值」,去尋找在所指定資料範圍內,你所要的欄位資料,其語法如下:
VLOOKUP(查閱值 , 資料範圍 , 指定欄位索引, [已排序])
其參數說明如下:

  • 查閱值我們所要搜尋的值,使用上有二個限制:
    1. 必需是資料範圍內第一欄所會出現的值。
    2. 資料範圍第一欄內,該值最好在第一欄內是唯一值,否則結果可能不如預期。
  • 資料範圍係我們所要搜尋的範圍,系統會在該範圍的第一欄尋找搜尋詞中指定查閱值。
  • 指定欄位索引,代表要傳回的值所屬的欄索引。資料範圍中的第一欄編號為 1,也就是說,如果你想要傳回資料範圍內第3欄的資料,指定欄位索引就設為3,如指定欄位索引並非介於 1 和資料範圍的欄數之間,系統會傳回 #VALUE!
  • [已排序]有二種情形:
    1. 絕大多數情況下,請設為 FALSE,該設定會使系統會傳回完全相符的值。如果有多個相符值,系統會傳回與找到的資料範圍第一欄中第一個值對應的儲存格內容;如果找不到相符值,則會傳回  #N/A
    2. 設為 TRUE 或省略,系統會傳回最接近的相符值 (小於或等於搜尋詞)。如果進行搜尋的欄中所有的值均大於搜尋詞,則會傳回 #N/A
以下舉一實際範例來說明如何應用,現假設我們想從下面範例的股票股利股息表,捉出特定公司現金股息及股價,算出其現金殖利率,在此因為股票代號是唯一的,當然我們就選用股票代號為查閱值,去查出該股票本年度的現金股息及股價。



因此在下面現金殖利率表中,股票代號由我們手動輸入所要查詢的股票代號,股價欄位則應用 vlookup 捉取,語法如下:


=vlookup(B2,'股票股利股息表'!A:F,6,false)

在此查閱值為現金殖利率表的B2,也就是股票代號欄位;資料範圍為股票股利股息表的A到F欄;指定欄位索引在此我們要的是股價,也就是在股票股利股息表由股票代號起算的第6個欄,因此設定為6;[已排序]一般則設為 false 。同樣的現金股息的部分也是相同的方式,語法如下:


=vlookup(B2,'股票股利股息表'!A:F,3,false)

得到股價及現金股息,就可以計算出現金股息殖利率了,在下表的範例1,我們展示計算泰詠現金股息殖利率的結果;在範例2,我們展示如果我們沒輸入股票代號或輸入股票代號,不在股票股利股息表中時,會傳回  #N/A,如果要避免出現,可加上 iferror 函數,將 #N/A轉為我指定的值,因此前面兩個函數可修改如下:


=iferror(vlookup(B4,'股票股利股息表'!A:F,6,false),) 
=iferror(vlookup(B4,'股票股利股息表'!A:F,3,false),)
修改後的結果如範例3所示,在此我們將 #N/A 改為空白 。



前面介紹完 vlookup 語法,粗略來看該語法所做的事情,事實上很簡單,就是將我們所要的資料,由指定資料範圍找出來,有點像是簡單查詢程式,但其應用變化多端存乎一心,用的好的話可以解決工作上的很多問題,例如可用在下面場合:

  1. 如同前面的範例,將其中一個表當作資料庫,將我們所要欄位資料捉到另一個表做計算使用。
  2. 比對兩個表或欄位資料是否有差異,在文書作業中,我們常常會製做很多表,有的時侯版本控管沒控管好,時間久了我們會忘了那一版為最終版,這時可用 vlookup 函數來做比對,方法是在其中一個表中捉取另一個表中的資料,看是全部都會捉到,還是會出現#N/A,由此可知兩個表的差異,當然如果要更細緻一點,可以在加上 if , and ,or 等判斷式,做更細部的確認
  3. 可以用於將多張不同的表,匯整成一張大表使用。
  4. 將適用於試算表運算的表,改為適合的閱讀或文書作業的表,就如同在如何將紙本表單轉為 Google 表單後,讓填寫人填寫完後轉為紙本表單格式印出。 所做的,將表單填表人所填的資訊,轉為紙本表單格式印出。
  5. 跟 4 的應用反過來,是將適合的閱讀或文書作業的表改為試用試算表計算用的表,在此時單用 vlookup 可能沒辦法完全處理好,需要搭配使用 index 、 column、row 等函數才有辦法處理。
以上為 vlookup 使用方式及其應用的介紹,如果能應用的好,事實上可以解決工作上的很多問題,故我一直認為 vlookup 為 Excel 最重要的函數,不過如果你問我在 Google 試算表是否也是如此,那我會說不一定,原因為在 Google 試算表有提供另一個同類型的函數 query ,其使用限制更少,功能更強,有興趣朋友可以參考我這篇文章。但 query 使用語法較為複雜,需下如 SQL 的語法才能使用,而且限制在Google 試算表才能用,因此 vlookup 還是一值得學習的函數。

2020年3月21日 星期六

[讀書心得]起源-丹.布朗

在起源這本小說,丹.布朗秉持其一貫我稱之為「科學寫實主義」的寫作風格,在既有科學發展及現實環境下鋪陳出他的故事,創造出貼近現實但又科幻的感受,就如其在書中發宣稱的:
事實  本書所有的藝術品、建築、地點、科學與宗教組織皆真實存在。
而其涉及的「事實」範圍可謂是無遠弗屆,包括建築、藝術、詩、科學、生物學、宗教、及其最擅長的符號學,這樣海量的資訊吸收消化,融入這本小說並無違和,可見作者的功力。劇情的鋪陳更是張力十足,吊足人的胃口,在本書丹.布朗同時處理了宗教、科學、科技、同性等多個議題,相當具有企圖心,不過因為其寫作風格太過貼近於現實,只要對科學發展熟悉的,其謎底事實上在中間就可以猜的出來,而讓人覺得會有虎頭蛇尾之感,不過我想這或許就是作者本身的堅持,不讓小說偏離事實太遠,這一點在其「達文西密碼」、「天使與魔鬼」、「失落的符號」、「地獄」系列小說中,我們可以看的出來,而作者或許也了解這點,所以在本書中,採多線議題發展,所以會造成一個很好玩的現象,主線謎底很容易猜,但支線劇情反而沒猜到(或許是本人的功力不夠),西班牙大主教與西班牙國王的關係,到最後一刻才猜的出來,書中的二段話也別具意義。
愛是出自另一個領域,我們無法在需要時製造它,當它出現時也無法壓抑它,愛不是我們能選擇的。
愛情是私事;世人不需要知道每個細節。 
也許我們的作者,以後想往言情小說發展?不論如何,本書雖然解謎性有缺,仍可算是一本充滿知識性及娛樂性的小說,相當值得一看。

2020年3月17日 星期二

使用手機當掃描機,將文件轉成PDF檔

一般來說,如果我們有需求要將文件轉成 PDF 時,會在事務機或在商用影印機,將文件掃描轉成 PDF 檔,但有時剛好在外面有將文件轉換為 PDF 需求時該如何?事實上現在的手機功能強大,並且相機的解析度也高,事實上硬體功能已經足夠來做這件事,也有很多手機 APP有提供這樣的功能,像是 Camera Scanner To Pdf - TapScannerAdobe Scan:PDF 掃描器等,這裡介紹一個個人常用,且其功能持續有在改進的 APP : CamScanner

CamScanner 這個 APP,個人覺得最好用的功能是,可用手機拍文檔,自動去除雜亂背景,生成高清JPEG圖片或PDF檔,除此之外,如果你不滿意 APP 調整的結果,也可手動調節圖像參數,用手機即可將紙質文件,快速轉為電子檔。

 CamScanner 這個 APP的使用非常簡單,在進入主畫面後,按下右下方的相機按鍵,即可開始使用。

接下會進入拍照畫面,下方可以選擇想要的模式,一般來說選擇普通就可以了,將文件擺到定位確定對焦清楚後,按下中間的相機鍵即可,但請注意拍攝的背景畫面最好選擇單色的,並且跟文件的底色差異愈大愈好。另如果拍時怕有反光,也可開閃光燈解決此問題。


在拍完後就會進入到調整畫面,在此我們可以看到 APP 已經自動將文件的裁切邊界標出來,如果覺得不滿意,可以拉動圓點的部分調整,如果沒問題直接選擇右下的打勾鍵。


接下來只要選擇文檔名稱及類型(也可不設),在選確定即完成。


完成整個程序後,會回到主畫面,這時可看到最上方就是我們所新增的文件。


點進去可看到該文件所有影像,如這時還想在這文件新增影像,可在選右下方的相機鍵,依上面的步驟行一次即可。如果想轉為 PDF 檔,請點選右上方 PDF 圖示。


這時會跳到轉換畫面,下方有一些額外的功能可用,不過除了檔案瘦身的功能外,都要付費升級後才可使用,畫面也會列出浮水印位置,如不要浮水印,需付費升級。如看過沒問題,可選擇分享,看要將此文檔轉到那一個 APP 進行後面工作。






以上為簡單介紹 CamScanner 這個 APP,事實上這個 APP 功能不只如此,其功能還有很多,只是部分需付費升級才可使用,有興趣的朋友,可以用用看。




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

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