返回列表 上一主題 發帖

[發問] 不同工作表,依日期區間條件加總

[發問] 不同工作表,依日期區間條件加總

大家好,
想請問如何將不同工作表,依日期區間條件加總,相關說明如下:


這是2022年1月的工作表資料,共3筆,金額合計是60

(註:2022年2月~5月的資料都獨立放在各月的工作表資料中。但每個月的筆數不一定都是3筆,例如4、5月的筆數是4筆。)
(註:本例已有簡化,因此僅列示5個月。)


此為「彙總」的工作表。在「計算期間」手動填入期間,
例:「2022年1月~2022年3月」則,公式會自動把2022年1~3月的合計加總起來得到1560
例:「2022年1月~2022年5月」則,公式會自動把2022年1~3月的合計加總起來得到6360
其他依此類推;而若「2022年1月~2022年1月」,則是僅顯示2022年1月的資料

最後附上附檔: 新增 Microsoft Excel 工作表.zip (10.86 KB)

想請教大家,該如何寫公式呢? 再麻煩各位大大,提供幫助,謝謝大家。

回復 2# samwang

samwang大大您好,謝謝您提供的巨集檔案。
經測試後,若改了年份,好像就會出錯了。例如,計算期間改到「2021年1月~2021年1月」,正確結果應該會是0。因為工作表的資料是2022年。但仍會顯示60。請問該如何修改呢? 謝謝。

-----
另外,想請教您,如果每個工作表的筆數都是3筆。亦即每個工作表的合計金額都會出現在各自工作表的B6儲存格。請問這樣有辦法用寫公式的方式處理嗎?謝謝您。

TOP

回復 4# samwang

您好,經過測試後,
2022年3月~2022年5月:應該是5700,而卻顯示5730
2022年1月~2022年1月:應該是30,而卻顯示6390
……

可能要再麻煩您協助看如何修改,謝謝。

(公式的話,我再找看看,謝謝您)

TOP

回復 7# samwang

samwang大大,
非常謝謝您,目前測試是可以運作的^^

TOP

回復 6# quickfixer

quickfixer大大,

謝謝您提供的巨集碼。

TOP

回復 10# quickfixer


謝謝您,我再來試看看

TOP

本帖最後由 gaishutsusuru 於 2022-6-18 14:24 編輯

回復 12# 准提部林

謝謝准提部林大大,

經測試後,
第一個公式好像少寫了一個「\」,所以要加上去後才可以執行,修改後如下:
=SUM(iferror(N(INDIRECT(TEXT(IF(ROW(1:36)<=MOD(C1-B1,88)+1,TEXT(B1,"0-00")+ROW(1:36)*31-31),"'yyyy年m月'\!\B\6"))),0))

而第二個公式,好像無法成功執行,請問該如何修改呢,謝謝您。

TOP

本帖最後由 gaishutsusuru 於 2022-6-18 18:35 編輯
回復  gaishutsusuru


改成如下試試//
=SUM(iferror(SUMIF(INDIRECT(TEXT(IF(ROW(1:36)
准提部林 發表於 2022-6-18 14:42



非常感謝准提部林大大的幫忙,公式和巨集都可以用。:)

TOP

回復 17# 准提部林

您好,原本YYYYMM測試後是可以用的。若我將YYYYMM改為yyyymm,也是可以用的:

Sub 合計匯總()
Dim d0, d1, d2, S
d0 = CDate(Split([彙總!b1], "~")(0))
d1 = Format(Split([彙總!b1], "~")(0), "yyyymm")
d2 = Format(Split([彙總!b1], "~")(1), "yyyymm")
On Error Resume Next
For i = 0 To (d2 - d1) Mod 88
    S = S + Val(Sheets(Format(d0 + i * 31, "yyyy年m月")).[b65536].End(3))
Next i
[彙總!B2] = S
End Sub

請問原本的(YYYYMM)會造成哪個地方出錯呢?  謝謝您。

TOP

        靜思自在 : 人要自愛,才能愛普天下的人。
返回列表 上一主題