Re: [算表] 如何取得這個陣列中第一個(最小)大於0ꨠ…

看板Office作者 (David)時間17年前 (2008/11/12 01:16), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
原始問題, 是要定出"這一天"的範圍以提供sumif計算 所以算出"高度"(幾列)應該也行? 比如在D1求高度(陣列公式) =MATCH(TRUE,A2:A999>0,) 得到3 再在E1算SUMIF =IF(A1,SUMIF(OFFSET(C1,,,D1),"吃",B1)) 即算出該日"吃"的部分 分開寫只是強調MATCH的部分, 使用時大可合在一起~ 另需注意最下面一天因找不到之後大於0的數 會傳回錯誤 要處理這種錯誤的話 還是回到IF(陣列公式) =MIN(IF(A2:A999>0,ROW($1:$998),999)) 或是在A999先隨便打一個大於0的數字 ※ 引述《ozone (加油)》之銘言: : 標題: [算表] 如何取得這個陣列中第一個(最小)大於0的數? : 時間: Tue Nov 11 23:35:54 2008 : : 軟體:excel : 版本:2007 : : 我弄出了一個陣列 裡面的有不特定個數的0 和一些大於0的數 : : 例如 {0,0,0,17,0,0,0,0,0,23,0,0,0,0,28,0,0,0,0,0,0,0,36,0,0,0,0} : : 要用什麼公式才可以得到這個陣列中不為0的數中最小的那一個(17)啊? : : 我原始的問題是這樣: : : A B C D : 日期 花費 吃total : 1 2008/10/5 500 吃 : 2 200 玩 : 3 100 吃 : 4 2008/10/7 400 玩 : 5 600 玩 : 6 200 吃 : 7 30 吃 : 8 2008/10/8 1200 玩 : 9 80 吃 : 10 170 玩 : 11 2008/11/7 800 玩 : 12 50 吃 : : 我想在A欄具有日期那列的D欄呈現當日花在吃的總額 : : 例如在D1呈現600 D4呈現230 D8呈現80 D11呈現50 : : 想法是用sumifs 所以要取得A欄中下一個不是空白的位置 : : {=(A:A<>"")*row(A:A)} 即我一開始問的陣列 : : 不曉得有沒有更好的方法... : : 謝謝 : : -- : ※ 發信站: 批踢踢實業坊(ptt.cc) : ◆ From: 140.112.213.190 : ※ 編輯: ozone 來自: 140.112.213.190 (11/11 23:36) : ※ 編輯: ozone 來自: 140.112.213.190 (11/11 23:42) : → ozone:啊 我試出來了 11/11 23:45 : → ozone:{min(if((A:A<>"")*row(A:A)>0,(A:A<>"")*row(A:A),""))} 11/11 23:45 : 推 JieJuen:#17EVbXPa 3806 11/12 00:46 : → JieJuen:意思大略相同^^ 11/12 00:51 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.47.35.27 ※ 編輯: JieJuen 來自: 114.47.35.27 (11/12 01:57)
文章代碼(AID): #196RtOfb (Office)
文章代碼(AID): #196RtOfb (Office)