Excel的結構化參照(structured references) - 從參照到結構化參照系列(1/5)

Excel的廣度學習:從「參照」到「結構化參照」系列分享 1/5

Excel的結構化參照(structured references) - 了解什麼是結構化參照與一般儲存格參照的差異與應用。

試算表軟體的運用,正是在工作表上建立資料內容後,再透過公式的建立、函數的應用,來實行相關的自動化運算。而在儲存格裡輸入以等號「=」為首所串連的公式,諸如:

=A2+B2-K10

或者

=SUM($A$2:$C$10)

而這正是所謂的儲存格參照,意即在公式中參照了儲存格位址,以取得儲存格的內容或內含公式的運算結果,以進行完整的公式運算。根據筆者的教學經驗,大多數使用過Excel的朋友們也可以回顧一下,想想當年在剛開始學習試算表軟體時,對於公式裡的儲存格位址參照的表達上,在儲存格位址的欄名/列號之前是否需要加上錢號「$」,應該都有著一小段時間的困擾與適應期。後來也幾乎都搞懂了,這「$」所代表的參照意義即為相對(relative)、絕對(absolute)或混合(mixed)位址的參照。而這個系列文章,則要來跟各位更進一步的分享另一種公式參照的運用,即此文章的標題 - Excel的結構化參照(structured references)。

結構化參照

所謂的結構化參照(structured references),指的是在Excel中可以透過使用表格中預先定義的欄位名稱(例如[加班費])取代實際的儲存格參照位址(例如F2:F9),讓Excel表格在建立公式、運用公式時變得更加直覺且容易。以下圖所示的工作表範例為例:
總加班費的傳統儲存格範圍之公式參照,可寫成:

=SUM(F2:F9)

總加班費的結構化參照之公式參照範例,則可寫成:

=SUM(表格1[加班費])

傳統的儲存格範圍

若要進行結構化參照的公式輸入,就得先了解傳統的儲存格範圍(Range)與資料表格(Data Table)之間的不同。這可是個歷史性的故事喔!就從Excel 2003的清單(List)功能開始談起。在Excel 2003時開始具備了將傳統的儲存格範圍轉換為Excel清單(List)的功能,而所謂的清單是由標準的行列式範圍所轉換過來的元件,一個清單即為一張資料表,因此,轉換為清單的範圍內,將不再容許有合併或分割儲存格,而清單的首列必須為資料表的各個欄位名稱(Fields)。在Excel 2003的操作環境中,您可以透過快顯功能表的操作[建立清單],或者藉由[資料]功能表單的操作,輕鬆地將範圍轉換為清單。

完成清單的轉換後,儲存格指標(也就是作用中的儲存格)停在清單裡的任一儲存格時,清單外圍會以藍色框標示,底端列是新增資料記錄的空白列,此列首格裡有星號標示。而清單裡頂端列的各欄位名稱旁有倒三角形符號的排序篩選按鈕,點按後可直接展開下拉式功能選單。畫面上也提供有[清單]工具列,包含了所有與清單相關的功能操作選項。不過,此時在公式參照的建立上,仍是使用傳統的儲存格位址參照。

資料表格結構

直到Excel 2007/2010/2013/2016/2019,甚至現在最新版本的Microsoft 365,在這些版本的Excel操作環境中,清單(List)這一個資料庫資料表用途的詞彙已經不復存在,改為新的專有名詞 - 資料表(Data Table)。而產生資料表的方式有二,一是直接在工作表上插入一個空白資料表,並決定預設的表格大小,此時,您可以透過[插入]索引標籤內[表格]群組裡的[表格]命令按鈕來完成。另一方式則是由工作表上既有的儲存格範圍轉換而成,意即將選取的傳統範圍格式化為資料表。若有此需求,可以在選取工作表上既有的範圍後,除了同樣透過[插入]索引標籤內[表格]群組裡的[表格]命令按鈕來完成外,也可利用[常用]索引標籤內[格式]群組裡的[格式化為表格]命令按鈕來完成轉換。

每當您建立或轉換成資料表時,每個資料表皆會有欄位名稱(欄標題)的需求,也就是資料表裡的各個欄位名稱(Field Name)或稱之為資料行名稱(Column Name)。所以,在將傳統的儲存格範圍格式化(轉換)為資料表格時,都會彈跳出是否將首列當做欄位名稱的核取選項(「我的表格有標題」核取方塊)對話。

而每當您建立一個新的Excel資料表格,或者將傳統的儲存格範圍格式化(轉換)為資料表格時,只要儲存格指標,也就是作用中的儲存格是停在資料表格裡的任一儲存格位址,在活頁簿上方的功能區裡,便會自動啟動[表格工具],並提供[設計]索引標籤,包含與資料表相關的所有命令功能。以下圖所示的範例為例,上方截圖是Excel 2007在操控Excel資料表時的功能區操作介面;中間的截圖則是Excel 2010至Excel 2019在操控Excel資料表時的功能區操作介面;下方截圖是Microsoft 365中的Excel在操控Excel資料表時的功能區操作介面。

在完成資料表的建立或轉換時,Excel也會自動指派一個資料表名稱(Table Name),預設狀態下,這是一個流水號形式的資料表名稱,例如:「表格1」、「表格2」、「表格3」、...(英文版的Excel則預設是「Table1」、「Table 2」、「Table3」、...)。強烈建議您將資料表格的名稱重新命名為較有意義也容易記誦的名稱,以利於結構化參照的公式編輯與解讀。此外,在資料表格的設計上,預設表格樣式雖然經過視覺化,色彩顯得變化多端,但不套用表格樣式的白底黑字格式也顯得十分自然得體,甚至頂端列資料欄位名稱旁的篩選按鈕,常常遮住部分的欄位名稱,其實也可以暫時關閉,有需要時再勾選啟用便可。

(註:此Excel陣列函數系列文章的實作檔案下載)