部門為了配合公司導入KPI政策
重新開始檢視各同仁的工作效率
為此,在Google Grive 開了一個Spreadsheet
為此,在Google Grive 開了一個Spreadsheet
將每次的工作項目分配,列在上面
並且規定了,各項工作的相關細節
包含工作內容 / 負責人 / 執行同仁 / 工作指派日 / 預定工作日……
包含工作內容 / 負責人 / 執行同仁 / 工作指派日 / 預定工作日……
因為職務分配,我有時候會是負責人這個角色(F欄位 )
為了檢視我負責的所有工作事項
我在不影響總表的情況下,另外開了一個Sheet,準備把我的資料篩選過來這邊
假設,表頭沒有合併儲存格
其實只要在最左上角的儲存格,打上這段語法,就可以完成篩選工作
=QUERY(部門工作清單!A:P;”SELECT * Where F like ‘%Chieh%’ and N=’Open'”)
這段Query的概念其實跟SQL語法沒兩樣,用起來的概念是一樣的
意思大概是
- Query(部門工作清單 / 從部門工作清單(Sheet)
- A:P / 取出A~P欄位的資料
- Select * / 選取步驟二,A~P欄位的內容資料
- Where F like ‘%Chieh%’ / 篩遠F欄位有包含Chieh的字串 (我的名稱縮寫Chieh)
- N=Open / 代表這個工作項尚未被完成 (所以我必須要關注一下 XD)
這個就是篩選過後的資料,也由於我是新開一個Sheet,所以每次只要我切換到這個Sheet
=Query….這段語法就會自動執行一次,保證看到的時候,都是最新的資料
參考上圖的左上角=> =Continue(A1,9,5)
在這邊,每個欄位的資料都是”參考”來的,所以,你在這邊進行任何的編輯,都是無效的
記得要到參考來源,”部門工作清單” Sheet 進行修改 !
到這邊,還缺個小小的美化功能
每一行都是空白背景,其實分不清楚所謂的Header跟Body
特別是Body還希望能夠依據序號,分不同顏色背景色,以利閱讀
下面這段Code,我是改自於Script Gallery的一個範例檔案
(用Alternating Row當關鍵字找到的)
我重新定義了一下顏色,跟背景色換色規則
改用序號這個欄位,當作判斷依據,基號一種背景色,偶數一種背景色
- 取目前正在被開啓的Sheet
- 找到有多少Rows跟Columns被使用中
- 每Row都檢查第一個欄位(序號欄位)
- 如果Row=1,當Header處理,給一個特別顏色’#AADAF2′
- 序號欄位基數偶數用%2來做判斷
- 每一Row都依據Color變數,決定該用哪種背景色
- 當然,如果你背景色都是白色,可以改寫最下面的While迴圈,提高執行效率
/**
* Alternating row colors in Google Docs Spreadsheets
*
* To adjust the alternate color applied, change the value of “setBackgroundColor” with a color
* name (‘grey’) or hex value (‘#F2F2F2’). Default here is light grey.
*
* Source http://www.alearningaday.me/post/11868586161/google-doc-hack-for-alternate-row-formatting
*/
function alternateColor() {
var totalRows = SpreadsheetApp.getActiveRange().getNumRows();
var totalColumns = 20;//SpreadsheetApp.getActiveRange().getNumColumns();
var startRow = SpreadsheetApp.getActiveRange().getRow();
var startColumn = SpreadsheetApp.getActiveRange().getColumn();
var sheet = SpreadsheetApp.getActiveSheet();
var row = startRow;
var color = ‘#FFFFFF’;
while (row < totalRows+startRow)
{
var column = startColumn;
color = ‘#FFFFFF’;
if(row==1)
{
color = ‘#AADAF2’;
}
else
{
if(sheet.getRange(row,1).getValue()%2 == 0 && row>2)
{
color=’#FFF8D1′;
}
}
while (column < totalColumns+startColumn){
sheet.getRange(row, column).setBackgroundColor(color);
column++;
}
row++;
}
}
寫完,實際跑跑看,就可以看到你剛剛的Sheet開始變色
整個效果大概會變成這樣



