[算表] google sheet 怎麼免除拖曳?

看板Office作者 (飯夜)時間5年前 (2019/04/08 11:31), 編輯推噓0(007)
留言7則, 2人參與, 5年前最新討論串1/1
軟體:google sheet 版本:google sheet ===「前言」=== 最終目的是免除拖曳這個步驟。 資料經由「表單」輸入到「試算表1」裡面,為了避免誤觸試算表1的資料所以後續的計 算都是由「試算表2」處理。 以下皆為「試算表2」 欄首都有「文字標題」,除了標題外下面的資料都是數字。 欄位的順序如下: A,B,C,D 日期時間,第二資料欄,第三資料欄,運算 A,B,C欄皆為資料欄,諸如: A1='Sheet1'!A1 A2='Sheet1'!A2 A3='Sheet1'!A3 而B,C兩欄也是依照此模式向下拖曳從「sheet1」擷取資料。 而D欄的運算模式為: D1=B1 D2=B2-C1 D3=B3-C2 D4=B4-C3 以此類推。 這樣導致每天資料更新時都要手動向下拖曳資料,很麻煩。 ===「問題一」=== 最近發現有一個函式叫作arrayformula 可以在欄首寫一遍之後就一勞永逸,未來就不用一直拖曳了。 例如: A1=arrayformula('sheet1'!A:A) B1=arrayformula('sheet1'!B:B) C1=arrayformula('sheet1'!C:C) 但是到了D欄就無法那麼簡單寫 D1=arrayformula(B:B-C:C) 這樣子的結果只會出現: D1=B1-C1 D2=B2-C2 D3=B3-C3 D4=B4-C4 而非我期望的: D1=B1-C0 D2=B2-C1 D3=B3-C2 D4=B4-C3 也就是說我希望能達成C欄跟B欄相差一列,兩者再相減。 但問題很多: 1.不知道如何將arrayformula算式呈現在D1 2.在D1,計算B1-C0會出現錯誤(沒有C0這個位址) 3.在D1以及D2,因為運算當中有屬於「標題文字」的B1,C1,這也會跳錯誤。 已解決問題: 當無資料時相減顯示0的解法。 當B999是空白而C998也是空白時,兩者相減會顯示0。 這可以用下面的方法解決: D1=arrayformula (if(isblank(B:B),"",不知道怎麼寫的函式)) 讓結果寫成空白。 ===問題二=== sheet2還有第二個大魔王 另一個欄位,就算是E欄好了。 E欄是以日為單位對B欄進行累加,但是每個月從頭開始累加,以下舉例: A欄,B欄,E欄,「說明」 2019/01/30,8,16 2019/01/31,2,18,「16+2=18」 2019/02/01,20,20,「新的一月0+20=20」 2019/02/02,6,26,「20+6=26」 2019/02/03,9,35,「26+9=35」 . . . 2019/12/30,2,49 2019/12/31,5,54,「49+5=54」 2020/01/01,7,7,「新的一年0+7=7」 2020/01/02,1,8,「7+1=8」 A欄是按照時序排列的,因此在一般計算時很方便,以E6為例基本上就是: E6=if(month(A6)=month(A5),E5+B6,0+B6) 接下來就是向下拖曳就好。 但是我也希望將他整合進arrayformula裡面,這又是一堆問題了。 ===總結=== 我不強求一定要使用arrayformular來進行運算,最終目的是想要在填完表單之後可以馬 上看到sheet2的結果,而非又要拖曳一次。 好像可以在google sheet上面錄製巨集,讓巨集自動在sheet1有由表單輸入的一列新資 料時運作,自動將sheet2也向下拖曳一列。 但因為google sheet的巨集程式實在是沒有經驗,不知道該如何編輯,只好一直研究ar rayformula,目前花了很多時間卻研究不出一個可行的辦法。 希望可以解決這個問題。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.241.187.98 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1554694308.A.1CC.html

04/08 13:38, 5年前 , 1F
問題1如果可以寫在d2的話
04/08 13:38, 1F

04/08 13:38, 5年前 , 2F

04/08 14:15, 5年前 , 3F
問題2如果無合適的方式的話,script方面可看看onEdit觸發
04/08 14:15, 3F

04/08 14:16, 5年前 , 4F
事件和autofill
04/08 14:16, 4F

04/08 14:18, 5年前 , 5F
或是range.copyto的部分
04/08 14:18, 5F

04/08 22:53, 5年前 , 6F
太感謝了,結果因為問題二,我決定開始研究巨集了,似
04/08 22:53, 6F

04/08 22:53, 5年前 , 7F
乎這還比較實際。
04/08 22:53, 7F
文章代碼(AID): #1Sgi2a7C (Office)