關於Excel字串公式回傳值#VALUE!探討

最近剛好要處理學生的讀卡成績,因為讀卡機附的多選題的計分方式不符合我的需求,想要利用Excel來處理,以往Excel2003都是自己寫一個字串處理函數來處理,這次想直接利用Excel2007提供的字串函數來進行處理多選題評分,舉例下表

image

評分的方式是標準答案如果是AC,則學生的答案只要沒有超過兩項,答對1項給一半的分數,例如學生回答AB則得1分,在工作表中C2資料格建立以下公式:

=IF(B2=B3,2,IF(SEARCH(MID(B3,1,1),B2,1)>0,1,IF( SEARCH(MID(B3,2,1),B2,1)>0,1,0)))

image

但是如果將學生答案改為BC,則得分變成

image

這個#VALUE!在Excel中代表是公式錯誤的回傳值,可是我們公式的內容邏輯並沒有錯,把各部分的公式拆開檢查其計算值,才發現Excel 字串公式在某些方面跟直覺的想法是不太一樣,例如SEARCH這個函數可以用來搜尋一個字串在另一個字串的位置,一般我們會想如果這個字串不在搜尋的字串中,應該會傳回0,可是它是傳回#VALUE!,而這個值代表的是錯誤值,所以後面的公式無法正常運作,最後產生的值還是#VALUE!。

如果要得到正確的結果必須把上述的公式改成:

=IF(B2=B3,2,IF(IFERROR(SEARCH(MID(B3,1,1),B2,1),0)>0,1,IF( IFERROR(SEARCH(MID(B3,2,1),0)>0,1,0)))

這樣才能得到正確的計算值,也就是每一個公式必須進行IFERROR的檢查,不過這樣的公式變得太複雜,看樣子不能用這個為處理方案。

如何快速繪製西洋棋盤?

最近教小朋友玩棋類遊戲,要教他認識各種棋賽的規則,如果要在powerpoint或word上繪製西洋棋盤,可以利用『數學化學繪圖工具增益集』很快繪製完成。

image

操作步驟如以下影片:

Excel2007樞紐分析表應用實務一

自從升級至Excel2007以後就沒有使用樞紐分析表這一項功能,最近剛好幫忙教育局統計一些資料,恰好可以用上樞紐分析表的功能,順便複習一下這個功能。

樞紐分析表可以做什麼?說實在的要是國文造詣不夠,從樞紐分析表這個翻譯名稱還真的不容易知道這個功能在幹麻?簡單的說它提供將具有某相同欄位資料的資料列,集合進行試算處理,簡單的說就是分類統計分析

舉例來說有一個從教育局網站尋到的資料表如下,從資料表可以看出,這是各區學校的學生班級人數統計資料,我們可以利用某些欄位的資料進行資料的分類,以下表來說我們可以利用學校所在的區域作為分類依據,進行各項的統計分析。

image

例如我們希望依照分區,,如果單純只使用Excel試算表的基本功能,我們可以透過以『分區』這個欄位進行資料排序,先將各區資料集中,再分別複製至新的區域進行各種試算處理如加總、平均等等…計算,這樣需要好幾個步驟才能完成。

但是如果使用樞紐分析表,只要依照指示拖拉一下欄位,設定計算項目,一下便能完成所要的統計,而且還能快速的產生統計圖表。

image

如果要統計出各區的各年級學生總共有多少人或班級數總和,要如何做?

1.在Excel2007的『插入』/『表格』功能區中點選『樞紐分析表』下拉選單

image

2.選擇插入『樞紐分析表』

image

3.依照以下樞紐分析表建立精靈的引導,先選取要分析的資料,點選image 按鈕進行表格或範圍選取,也可以使用外部資料,例如從資料庫取得資料。選好資料來源之後,再選擇樞紐分析表要建立的位置,按下確定鈕。

image

4.Excel視窗會出現下圖畫面,引導使用者建立樞紐分析表

image

5.先設定列標簽,也就是要分類統計的依據,以這個例子就是要選擇『分區』這個欄位,在右邊樞紐分析欄位清單工作窗格中勾選『分區』,在下方『列標簽』區域會產生『分區』的名稱,Excel在指定的樞紐分析表區域會自動產生『分區』此欄位的唯一值

image image

6.再將要計算之欄位資料拖拉至image 即可。

舉例要計算各區小學6年級的班級總數,將『普通班6年級班級』拖拉至image

image

7.但是我們從計算值看起來好像不對,因為image預設是統計資料筆數而不是加總,我們只要在將滑鼠移至樞紐分析表區域按下右鍵,叫出浮動的功能表,選擇『摘要資料的方式』,將原來的『項目個數』改為『加總』,即可產生我們要的資料。

image

image