發表文章

目前顯示的是有「函式」標籤的文章

Excel 套用函式時 指定固定不變動的欄位

圖片
Excel 的定位系統是用水平和垂直2個維度的方式來進行,因為可以在水平或是垂直的欄位套用相同的運算邏輯,所以可以加速工作的完成,之所以能夠快速完成這樣子的工作,是因為,在從事套用動作的時侯,Excel 會自動遞延那個維度的設定,依據所在位置修正為適當的函式。 舉例來說, 垂直方向的遞延 ,當你設完函式,在垂直方向套用的時侯,假設你的 C1 的函式是 =A1+B1,向下一拉,套用之後, C2 會自動產生 =A2+B2 的函式、C3 會自動產生 =A3+B3 的函式…依此類推遞延處理,並顯示運算的結果,函式的內容,英文的部份不變,數字變大。 水平方向的遞延 ,當你設完函式,在水平方向套用的時侯,假設你的工作表2 A1 的函式是 =sheet1!A1,向右一拉,套用之後, B1 會自動產生 =sheet1!B1 的函式, C1 會自動產生 =sheet1!C1 的函式…依此類推遞延處理,並顯示運算的結果,函式的內容,數字的部份不變,英文依順序變化。 雖然表格通常是2維的,邏輯上透過2個的維度呈現完整的訊息,但是規劃和運算的時侯,是一個維度、一個維度逐次去處理的。 有時侯,就是 不要 Excel 幫你做遞延的動作 ,最基本的例子,就是計算某個項目佔全部的比重,好比是志明、春嬌、阿花的業績各佔多少比重,以算數來說算是基本功,先把3個人的業績加起來得到總數(志明業績 + 春嬌業績 + 阿花業績),再把每個人的業績分別除以總數,就能得到個別貢獻的比重,利用 Excel 的話,在 C1 設定函式 [=B2/B5],再套用函式一直到 C5,函式的使用,可以參見 Excel 函式 四則運算與文字處理  套用和Pseudo Code的部份。 如果直接垂直套用的話,得到的結果出乎預期,有時侯會出現錯誤訊息是很正常的事情,這只是軟體提醒你要修正,不須要太過緊張,如果每次運用函式都能一次到位,表示你已經熟練。(這裏可能就沒生意了 orz) 如果資料量極小,當然可以一個一個把函式中的除數改成 B5,但是如果有300筆資料、3000筆、3000000筆,這個時侯就沒辦法一個一個改了,不過可以發現,B5這個部份一直沒有變動,因為我們是垂直套用,所以 B 這個英文字一定不會變,在此例可以先略過,只有5在垂直套用的時侯是會變的,所以應該要讓它 固定 ,可以想...

Excel 初步資料整理

說到 Excel 常常會馬上讓人想到強大的函式功能,透過電腦快速的運算效能來處理變數,卻很少人想起處理資料的苦差事,如何資料整理,很快地去蕉存菁,希望藉這次的分享,讓大家產生一些新的想法,幫到有須要的人。 另存新檔 ,不論你變動的內容多寡、變動的頻率,建議將你動過的檔案另存新檔,而且這個動作最好是在你開始編輯檔案之前就做,或是一打開檔案的時侯就做,並為你的檔案加上版號,不要用複雜的編碼方式,就v1、v2、v3……一直v下去就行,有些人會覺得變動太小,而且導致一樣的檔案好多,佔用了儲存空間,其實做久了你就會發現,與你花一個上午,嘔心瀝血、攪盡腦汁、殺害許多腦細胞才換來的報表相比,買硬碟花錢、價格低廉,寶貴心血、無價,這麼做的好處,一來檔案不會蓋來蓋去把你真正想要做的成果搞掉了,二來,減少程式當掉所產生的損害,要找檔案時,就找那個 v 後面的數字最大就行。 3個工作表 ,開啟新的 Excel 檔案時,預設會開3個工作表,心中一直有個疑問,為什麼是3個,為什麼不是1個、2個,由於克勤克檢的習性,也沒花錢去正規班學過問過,雖然也試圖從股溝大神求卜,未果,所以這次只是分享個人的觀點,在做了這麼多的 Excel 表後產生的想法是,1個工作表存原始資料(完全不更動裏面的資料內容),1個(或以上)工作表存放資料運算變動的過程,1個工作表存最後的結果,如果軟體用久了都會有自已的習慣、想法和做法,不用一定要更動,這只是個人的習慣;另一個習慣是,如果有時間加上最後一個(表4,雖然通常是沒有時間,裏面註記每個工作表的簡述,和變動的時間與內容概要。 資料處理 ,報表是管理工作的重要工具,為了業務的推行,原始資料從資料庫倒出來時,收在工作表1,工作表的欄位會大於或等於報表所需的資料,而且很可能不是你想呈現的方式、排序、或是需要對原始資料再加減乘除一下,這個時侯,對於原始資料的處理,有2種做法。 法1 ,把原始資料的工作表直接複製一份,操作方式,按住[原始工作表] > 直到動作結束按住[Ctrl] + [滑鼠左鍵] > [拖、拉、放]到鄰近工作表的位置,如此可以得到一份一模一樣的工作表,名稱會多一個(1),再用這個工作表去操作; 法2 ,在第2個工作表中用 等號「=」 ,光是會用這個就能處理很多表單了, 把你要用到的欄位很快全部抓過來(漏了也...

Excel 函式 四則運算與文字處理

圖片
上次寫了一篇 Excel 函式 if ,好像跳得太快,這次試著回到 Excel 的基本運作,分享 Excel 運作的原理,透過 Excel 範例實作,幫助我們增加工作效率。 Excel 透過電腦快速的計算能力,替我們節省重複動作的時間,回想(或是沒遇過手做時代的人,也可以動手體驗看看)用紙筆、尺規製作表格的工作,在沒有電腦的時侯如何完成,其中另有一番樂趣,經由這個過程來了解試算表運作原則。 結果故事就長成醬子,把我們被丟回沒有電腦的時代,老闆!居然還是同一個,還是那個有一堆新想法可以交待給你的老闆,請你整理薪資狀況給他看,雖然你心裏想,咱也就3個員工(志明、春嬌、以及阿花),有什麼好看的,嘴上卻是馬上答應,貌似認真地拿起鐵製文具盒,開始量起報表紙的長度,打好草稿後就畫起表格來了,畫好以後,設標題,分別是姓名和薪資、津貼…等,再個別填上薪水、開始一列一列算了起來,完成很美的表格,動人的字體(可見是代工的),提交後獲得「做得不錯」讚賞一句,然後請你再把總共發了多少錢算一算,平均一個人用了多少錢順便做一下,最後加個摘要,MMMMMM.........,很好,重畫一張,改一下版面,做好交差。 有點幸運的是,咱生活的年代,不用幹這等畫表格的大事,不幸的是,要處理的是300筆以上的資料,所以,你打開電腦,打開應用程式 Word ,No!更正,Excel,把需要的欄位設好,請小朋友把必要資料按表抄入,然後你算出結果,好像這篇就此結束了,But........... 怎麼做才能算出結果??? 讓我們帶著電腦回到過去,只要做3筆資料就好,還是志明、春嬌和阿花的薪資,把四則運算的加、減、乘、除…等工作通通送給 Excel: Excel 的長相:打開就看到預設開3個工作表,下方主要區塊是一堆2維分布的空白欄位,用上方的英文和左方的數字,作為欄位的座標定位系統,以此圖來看,目前指定的欄位是 A1 ,被黑色粗線框住,框住的地方稍微往上一點的地方顯示著位置就是 「A1」,顯示位置的欄位右邊是函式或是輸入的內容,標題是 fx ,內容目前空白。 定位系統 指定 單一欄位 :試著指到 B2,方法很簡單,是移動滑鼠,在上方是B、左方是2的欄位按一下(滑鼠左鍵)就行,此時上方英文的 B 變色、左方的數字 2 變色,位置的觀念重要性在於,你告訴 Excel 要運算的內...

使用 Excel 計算2個地點之間的直線距離

如果想知道地圖上2個點的直線距離,通常直覺就上 google map 之類的網路地圖,使用尺規之類的工具(通常圖示是一把尺,拖、拉、放之後,網站就會告訴你這2點之間的距離,But........... 如果沒有網路,知道一大堆點的經度和緯度,想要知道這些點,和另一個指定的點之間的直線距離,應該不太可能會在這個時候才想探就 GIS 的基礎理論,知道其實地球是球形的,再去複習一下高中數學(圓周、三角函數…),以便計算球面上的2個點之間的距離,或是有人會說,用 google map api,寫個小程式,馬上就知道了,還可以知道行經路徑(迷之音:再次提醒你,沒有網路,沒有網路,沒有網路.................);大部份的人應該會說,釣竿留給你,魚直接給我吧........... 知道點位的經緯度(小數格式),恭喜你,打開 Excel 吧,假設你的所在點是經度 121.587753,緯度是 25.286747,把要試算的另一個點的緯度放在 Excel 的 E2 欄位,經度放在 F2 欄位,然後把下面的函式貼到你要求解距離的欄位,你就知道2點之間的距離有多遠了: 如果你是在台灣: E2 = 緯度(約24) F2 = 經度(約120) 函式: =6371 *ACOS( COS( RADIANS( 25.286747 ) ) * COS( RADIANS( E2 ) ) * COS( RADIANS( F2 ) - RADIANS(121.587753 ) ) + SIN( RADIANS( 25.286747 ) ) * SIN( RADIANS(E2 ) ) ) 單位:公里

Excel 函式 if

說起 Excel 的函式,先建立一個概念,函式就是工具, 一種方便表現邏輯的工具(用一種類似火星文的寫作方式), 只要告訴它幾個重點(提供給函式幾個元素、參數、item、parameter,而且必須是以函式指定的方式、指定的重點), 函式就會告訴你結果, 就像利用製香腸機時,把豬肉、鹽、香料放進去,機器就會產生香腸給你,函式就像是製香腸機。 熟悉 Excel 函式的人會說函式真是個便利的工具,否則,不是對函式熟悉的人,會說函式到底在搞什麼鬼,根本看不懂,就好像2群人,分別處在不同的世界, if 函式就有點像是處理上述這種情形的工作,是1個從事二分法的工具。 更進一步來說,當你在分析事情的時侯,使用二分法,一定存在1個判斷條件,以及2種結果,是這個判斷的條件,造成這2種的結果,判斷的條件可以有很多變化,而結果只有2種,符合判斷條件的結果(是,true,只有一種),以及不符合判斷條件的結果(否則,false,只要不是符合判斷條件的結果,狀況可以有很多種)。 以一開始的例子,判斷的條件為「(if,是否)熟悉 Excel 函式」,結果有2種,熟悉的(是,true,只有一種),和不是熟悉的(否則,false,只要不是「熟悉」,狀況可以有很多種),白話說成, 如果你熟悉函式的話,就ooo,否則就xxx 。 通常得到結果只是第一階段的工作而已,我們想要的通常不只是分出符合與不符合,通常結果出來的時侯,你通常想進一步指定這2種人做不同的事,如此一來,我們指定熟悉的人做的事就是「說函式真是便利的工具」,指定不是熟悉的人做的事就是「說函式到底在搞什麼鬼,根本看不懂」, if 函式做的事就是這樣。 為了方便說明,我們假設 Excel 函式能處理這種現實狀況,就用 if 這個函式來做二分法,這個函式就會長成:  if(你熟悉Excel函式, "函式真是便利的工具", "函式到底在搞什麼鬼") 以上就是函式運作的原理。 如果你能了解函式運作的原理,進入實作的階段,就必須了解真的的函式是怎麼寫 Excel 才看得懂(again用一種像火星文的寫作方式),開一個新的 Excel 檔,在 A 欄,第1列(A1)、第2列(A2)、第3列(A3)分別填上: 熟悉、不熟悉、太不熟悉,然後,在 B 欄使...

Excel 儲存格中的換行符號

在 Excel 中如果要將一個儲存格中的文字做換行(斷行、分行),可以使用 Alt+Enter 快速鍵。例如:在儲存格A1中輸入「123」後,按一下Alt+Enter鍵,再輸入「ABC」。 然後在[儲存格格式]對話框中的[對齊方式]標籤下,勾選「自動換列」選項,即可得到含有換行訊息的輸出結果。 要使用函式讓資料換行的話,使用 CHAR(10) 即可顯示換行效果。