iT邦幫忙

0

如何利用函數去尋找當前值減下一個大於0的數據公式函數呢?這該怎麼做呢?

  • 分享至 

  • xImage

excel 如何利用函數去計算得到C:C的數據?
C欄公式是C2-C3 C3-C4 ...
但數據中的0是我想排除的,不想被干擾的
B欄中有0的話,C欄就顯示 空白
B欄中有0的話,當期數據減去下一個首先大於0的數據
如何利用函數去尋找當前值減下一個大於0的公式函數呢?這該怎麼做呢?
目前我只能想到 =IF(B2=0," ",B2-B3) 但是這還是不能達到我想要的公式
https://ithelp.ithome.com.tw/upload/images/20231223/201496742HCpYWcdhV.jpg

期別 上期數據 C欄的公式怎麼寫呢?
600 100 68
599 32 -39
598 71 25
597 0
596 0
595 0
594 46 -6
593 52 -12
592 0
591 0
590 0
589 64 55
588 9 -69
587 78 74
586 0
585 4 3
584 1 -1
583 2 1
582 1 0
581 0
580 0
579 0
578 1 0
577 1 -2
576 3

froce iT邦大師 1 級 ‧ 2023-12-24 13:21:19 檢舉
公式做不到,但是你可以先把資料篩過一遍,資料篩選完,複製一份過去新表就好。
感覺上公式應該如下,
C2=IF(B3>0,B2-B3)
C3=IF(B4>0,B3-B4)

樓主的描述誤區太多 ...
按照樓主的敘述,請問 C4 的 25 怎麼來的
C2 = 100 - 32 = 68
C3 = 32 - 71 = -39
C4 = 71 - 0 = null ,因為 B5 等於 0 ,這一欄就該是 NULL
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

0
ccenjor
iT邦高手 1 級 ‧ 2023-12-25 22:24:01
最佳解答

D2:
=IF(B2>0,MAX($D$1:D1)+1,0)
向下複製到D3:D26。
C2:
=IF(B2>0,SUMIF($D$2:$D$26,D2,$B$2:$B$26)-SUMIF($D$2:$D$26,D2+1,$B$2:$B$26),"")
向下複製到C3:C26。
https://ithelp.ithome.com.tw/upload/images/20231225/20109881srbPIJvKPT.jpg

skypara iT邦新手 5 級 ‧ 2023-12-28 22:13:31 檢舉

太強了

0
papshaw
iT邦新手 5 級 ‧ 2023-12-25 09:31:37

建议使用power query来处理:
首先创建查询0,
复制查询0,更名为查询1,筛除B为0的行;
复制查询1,,更名为查询2,删除首行;
采用新建查询的方式,以查询1为底合并查询2创建查询3,合并方式采用左外部,展开后将原查询2的B列中的空值用0替换,然后将原查询1的B列减去原查询2的B列,得到最终结果。

我要發表回答

立即登入回答