Re: [問題] 如何在協作平台上建立"留言板"?

看板Google (谷歌Google)作者 (Joyce)時間14年前 (2011/06/14 19:18), 編輯推噓3(301)
留言4則, 3人參與, 最新討論串5/6 (看更多)
※ 引述《little1011 (Q毛)》之銘言: : 我講一下我用doc的方法 : 但是都是很陽春方法 : 留言板是用文件的 問卷做的 : http://sites.google.com/site/graduate97season/book/board : show 留言 就直接把回報的試算表貼出 但是我用清單呈現 : http://sites.google.com/site/graduate97season/book/board/see : 我一直有再找有沒有辦法把最新的留言放在上面 : 不過還沒試成功 所以就是手動把時間順序調整 這幾天也在試把最新留言放在最上面的方法, http://sites.google.com/site/joycesyyen/home/documents-list/DocsForMsgBoard 我是在同一個試算表中開另一個新的工作表,再利用函數抓值,之後把原來的工 作表隱藏再嵌入到協作平台上,目前的測試結果還沒有問題。 這張圖是問卷回傳的資料(時間越新越下面): http://picasaweb.google.com/lh/photo/lnHXHXtGTtJ1gBCHEWoN98-8QOTBlEXBaFVETIdfO3M?feat=directlink http://goo.gl/VCj8g 這張是利用函數抓值後的資料(時間越新越上面): http://picasaweb.google.com/lh/photo/Px75_qh_UTM5EVa1SDW-Ns-8QOTBlEXBaFVETIdfO3M?feat=directlink http://goo.gl/qP7TX 我主要是利用Google Docs問卷的特性去做,所以其實跟時間序列的函數沒關係XD A3=if(counta(Sheet1!A:A)-(row($A3)-3)<=1,"", concatenate(index(Sheet1!$A:$C,counta(Sheet1!A:A)-(row($A3)-3),1), ":")) B3=if(counta(Sheet1!A:A)-(row($B3)-3)<=1,"", index(Sheet1!$A:$C,counta(Sheet1!$A:$A)-(row($B3)-3),2)) 這裡需要用到的函數有以下幾種: ●counta():計算所有引數裡含有非空白資料的儲存格數目。 ●row():傳回reference中之列號。 ●index(array,row_num_column_num):傳回陣列或儲存格範圍所指定的某一元素的值。 ●concatenate():將多組字串組合成單一字串。 ●if():如果指定的條件為true則傳回一個值,如果為false則傳回另一值。 1.首先利用counta(Sheet1!$A:$A)計算總共有幾筆資料。 2.因為Sheet2的第一列與第二列為我設為標題,資料便從第三列開始,此時A3利用 index(Sheet1!$A:$C,counta(Sheet1!$A:$A)-(row($A3)-3),1)來抓Sheet1最後一筆資料 的第一欄。 (row($A3)-3=0,row($A4)-3=1,此公式中"-3"為常數,與資料從第幾列開始相關。) (counta(Sheet1!$A:$A)-(row($A3)-3):是計算我們要抓Sheet1中第幾列的資料,假設 counta(Sheet1!$A:$A)=12,因為row($A3)-3=0,則我們要抓的資料便位於Sheet1中的第 12列,也就是最新的資料,同樣的,counta(Sheet1!$A:$A)-(row($A4)-3)=11,所以A4的 值是次新的資料。) (index(資料範圍,列,欄):index是根據我們給的儲存格位址抓資料,將上面計算的結果 代入,A3=index(Sheet1!$A:$C),12,1)=Sheet1!A12, A4=index(Sheet1!$A:$C),11,1)=Sheet1!A11, B3=index(Sheet1!$A:$C),12,2)=Sheet1!B12, C3=index(Sheet1!$A:$C),12,3)=Sheet1!C12。) 3.到第2步驟已經算是完成了,但為了更美觀,可以再作一些調整。concatenate(步驟2抓 的資料,":"),因為第一欄是名字,這是將我們抓過來的資料後面加上":",所以B與C欄 便不需要加上這個函數。 4.上面假設共有10筆留言資料(因為計算counta(Sheet1!$A:$A)=11時是包含了標題列,所 以標題列1+留言數10=11),當我到了A13時,counta(Sheet1!$A:$A)-(row($A13)-3)=1, 會抓到Sheet1的標題列,因此我使用if(counta(Sheet1!$A:$A)-(row($A13)-3)<=1,"",執 行步驟2),這代表我若執行步驟2抓到標題列就空白,不是標題列就顯示。 看起來好像很複雜,其實寫完一格其他格都一樣XD -- Joyce S.Y. Yen -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.42.62.240 ※ 編輯: air860418 來自: 114.42.62.240 (06/14 19:39)

06/14 19:56, , 1F
話說沒人覺得嵌入google groups是好主意嗎?
06/14 19:56, 1F

06/14 19:56, , 2F
※ 編輯: air860418 來自: 114.42.62.240 (06/14 23:25)

06/15 11:48, , 3F
不錯 給個推
06/15 11:48, 3F

06/15 22:06, , 4F
http://goo.gl/3JDpo 簡易留言板小工具
06/15 22:06, 4F
※ 編輯: air860418 來自: 114.36.34.208 (08/07 21:35)
文章代碼(AID): #1DzqDyIc (Google)
討論串 (同標題文章)
文章代碼(AID): #1DzqDyIc (Google)