Re: [算表] 如何取得這個陣列中第一個(最小)大於0ꨠ…
原始問題,
是要定出"這一天"的範圍以提供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)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Office 近期熱門文章
PTT數位生活區 即時熱門文章