Re: [問題] excel

看板Office作者 (singer)時間16年前 (2007/10/05 17:57), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串5/10 (看更多)
※ 引述《issyo (二代宅)》之銘言: : (若是和其他不同軟體互動之問題 請記得一併填寫) : 您所使用的軟體為: Microsoft Excel : 版本:2003 : 問題: : 請問我要如何表達出倍數或級數? : 如倍數:A2+A4+A6… 這樣 : 級數:A2+A6+A10… 這樣 : 感謝回答 #3442 edwar 推文中的公式是可行的,那是陣列公式用法,在任一或多儲存格輸入該公式後, 再按下 Ctrl+Shift+Enter 即可。 此外,用VBA亦可解決:(試解如下,若有錯誤請多包涵) 按 Alt+F11 進入程式碼編輯視窗,在資料所在Sheet處點兩下輸入程式碼 Sub test() Dim rng As Range Set rng=Range("A:A")_ rlast=Range("A" & rng.Rows.Count).End(xlUP).Row mySum=0 '初始化總值 myStart=2 '從哪個儲存格開始;若為2代表 A2,若為10代表 A10 myD=4 '每次往下幾個儲存格;若為4代表:A2,A6,A10,... i=0 Do While myStart+i*myD<=rlast mySum=mySum+Range("A1").Cells(myStart+i*myD) i=i+1 LOOP msgbox mySum End Sub 若覺VBA輸入太麻煩或陣列公式仍不懂,提供另一方法(輔助欄位) 假設你的資料在A欄,欲計算 A2+A6+A10+... 則: 在B1輸入 =if(mod(row(A1)+2,4)=0,A1,0) 往下複製可形成除了 B2,B6,B10,...以外的值皆為0 而B2=A2,B6=A6,B10=A10,... 在C1填入 =sum(B:B) 即為所求 [說明] row(A1) 可得到A1所在的Row值,會傳回1 同理,row(A10)=10 mod(x,y) 會傳回 x 除以 y 的餘數 例: mod(10,4)=2 if(條件式,成立的話執行這邊,不成立的話執行這邊) 例: =if(5>3,1000,30) 結果會是 1000 =if(5>30,1000,30) 結果會是 30 把三個湊起來就可以解決了 希望能解決你的問題.... (這三個方法中應該是陣列公式最快吧) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.114.34.114

10/05 22:52, , 1F
謝謝專業的回答 我研究一下<(__"__)>
10/05 22:52, 1F
文章代碼(AID): #171WfjK5 (Office)
討論串 (同標題文章)
本文引述了以下文章的的內容:
問題
完整討論串 (本文為第 5 之 10 篇):
問題
問題
1
1
問題
1
1
問題
問題
1
1
問題
1
2
問題
2
3
問題
問題
4
8
問題
0
1
文章代碼(AID): #171WfjK5 (Office)