[算表] 小麻煩的運算 求救QQ

看板Office作者 (小M&小I)時間10年前 (2016/03/22 21:39), 10年前編輯推噓2(2010)
留言12則, 2人參與, 最新討論串1/1
軟體:EXCEL 版本:2010 就是呀我要算一個有點小麻煩的東西 首先 假設第二行有7000-7100 100個數字,然後在這100個數字的上一行 (也就是第一行)都有對應一個數字,例如從1-10不等,每一個對應的都不一樣 然後我要計算一個範圍,這個範圍的算法如下 首先,加總第一行的所有數字 = A ,然後找到第一行中最大的數字(在我上面舉的例子中就是10),假設那個 數字對應的第二行數字是7030,接下來就要以這個7030為中心,然後比較這個7030 左邊兩個數字(7029,7028)對應的第一行數字總和(假設7028的第一行是2,7029的第一行 是3,因此總和是5)和右邊兩個數字(7031,7032)對應的第一行的總和(假設7031對應1, 7032對應2,總和是3),這時候把總和比較大的數字加上7030對應的第一行數字(因此是10 +5),我們把這個總合稱作B。 接下來,檢查B是否有大於或等於A*0.7,若沒有的話,就把剛剛的7028,7029,7030當作中 心,再進行上面那個步驟,直到B大於或等於A*0.7。 然後,最後的那個中心,就是我要找 的範圍。 由於可能要找到大概一萬多行這種範圍,但是我找了一下EXCEL好像沒有迴圈函數,也不 太會用VBA,所以想問一下,有相關的函數可以用嗎? 或者是有人知道該怎麼做比較好嗎 >< 1 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.230.206.32 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1458653984.A.57E.html ※ 編輯: jimmy0413 (36.230.206.32), 03/22/2016 21:41:16

03/23 01:02, , 1F
覺得這種動態的處理,可能還是要用上VBA比較省事
03/23 01:02, 1F

03/23 01:03, , 2F
而且你的步驟都寫那麼具體了,連變數名稱A/B都想好了XD
03/23 01:03, 2F

03/23 01:03, , 3F
只要把中文翻譯成VBA語法即可~
03/23 01:03, 3F

03/23 01:12, , 4F
函數想到的是index配合small
03/23 01:12, 4F

03/23 01:13, , 5F
+if來抓出符合最大數字的第二行數字
03/23 01:13, 5F

03/23 01:14, , 6F
再以sumproduct配合offset來加總上下二筆數字
03/23 01:14, 6F

03/23 01:17, , 7F
取得B後再和A*0.7做判斷,找出原po要的範圍
03/23 01:17, 7F

03/23 01:18, , 8F
也可用篩選的方式,抓出符合最大數字的第二行數字
03/23 01:18, 8F

03/23 09:57, , 9F
原po提到「就把剛剛的7028,7029,7030當作中心」,讓我
03/23 09:57, 9F

03/23 09:57, , 10F
以為是要繼續比較7026/7027和7031/7032的對應總和?
03/23 09:57, 10F

03/23 11:04, , 11F
如y大所述那就不合適上面函數的方式
03/23 11:04, 11F

03/23 11:52, , 12F
改以這樣的方式
03/23 11:52, 12F
文章代碼(AID): #1MyKiWL- (Office)
文章代碼(AID): #1MyKiWL- (Office)