返回列表 上一主題 發帖

[發問] 請問如何將資料進行截取後,再相加呢?

[發問] 請問如何將資料進行截取後,再相加呢?

大家好,

想請教如何將資料先進行截取後,再相加呢? 說明如下:



由E4開始往下是資料,希望將這些資料進行處理:
E4:3~10  , 相減是7
E5:是0
E6:10~24,相減是14
E7:是7
ぴ其餘類推

希望將E4開始往下的值都相加:7+0+14+7+0+13+6=47填在E1 (而E1的公式該如何下呢?)
資料不只有7筆,但為了方便,僅列出7筆。

最後附上附件檔: 活頁簿1.zip (6.95 KB)

想請大家協助提供想法,謝謝您們。

本帖最後由 Andy2483 於 2023-11-30 09:38 編輯

謝謝論壇,謝謝各位前輩
後學藉此帖應用剛剛學到的名稱 的建立與使用,學習方案如下,請各位前輩指教
執行結果:


建立的名稱:


Option Explicit
Sub TEST()
Dim Brr, V&, i&
'↑宣告變數
Range([E4], [E65536].End(3)).Name = "資料範圍"
'↑令指定儲存格範圍以 "資料範圍"字串為名 納入名稱裡
[E1].Name = "結果格"
'↑令[E1]儲存格以 "結果格"字串為名 納入名稱裡
Brr = Range("資料範圍")
'↑令Brr變數是二維陣列,以名稱為 "資料範圍"的參照儲存格值帶入陣列
For i = 1 To UBound(Brr)
'↑設順迴圈!i從1 到 Brr陣列縱向最大索引列號
   If Not Trim(Brr(i, 1)) Like "#*" Then GoTo i01
   '↑如果陣列值去除頭尾空白字元後的字串 不是以數字開頭,就跳到標示 i01位置
   V = V + Abs(Evaluate(Replace(Brr(i, 1), "~", "-")))
   '↑令V變數累加 計算的數值
i01: Next
Range("結果格") = V: MsgBox V
'↑令V變數值帶入 [E1]儲存格
End Sub
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流

TOP

回復 10# 准提部林


謝謝准提大大的幫忙和提供想法!

TOP

回復 8# hcm19522


  
非常謝謝您抽空幫忙,公式可以用!

TOP

陣列
=SUM(ABS(INT(SUBSTITUTE(0&E4:E19,"~","."))-(0&MID(E4:E19,FIND("~",E4:E19&"~")+1,9))))

TOP

若是計算箱數,
3~10 ... 應該是8箱

TOP

回復 3# gaishutsusuru


    {=SUM(IFERROR(LEFT(RIGHT(SUBSTITUTE("~"&B4:B99,"~",REPT(" ",9)),{18,9}),9)*{-1,1},))
google"EXCEL迷"  blog  或google網址:https://hcm19522.blogspot.com/

TOP

回復 6# ML089


原來如此,謝謝您的幫忙,公式可以用!!

TOP

回復 5# gaishutsusuru


    =SUM(MMULT(-LEFT(RIGHT(SUBSTITUTE(REPT(0,30)&E4:E20,"~",REPT(" ",15)),{30,15}),15),{1;-1}))
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復 4# ML089


  謝謝您的協助,但好像若範圍改成E4:E20,則會出現錯誤。(似乎是因為如果儲存格是空白時,會不能執行)

請問該如何處理呢? 謝謝您。

TOP

        靜思自在 : 小事不做、大事難成。
返回列表 上一主題