Board logo

標題: [發問] 自動篩選後,如何利用vba計算符合篩選之時間加總 [打印本頁]

作者: app4000    時間: 2010-10-26 11:50     標題: 自動篩選後,如何利用vba計算符合篩選之時間加總

時間(hh:mm):放在A1資料~A10資料
          TYPE   TIME
A1    YES    00:30
A2    YES    10:20
A3    YES    05:30
A4    YES    12:20
A5    YES    03:50
A6    NO     00:20
A7    YES    00:30
A8    YES    02:20
A9    YES    00:30
A10  NO     02:20

如何利用自動篩選功能,TYPE只選擇YES的資料,
再利用vba計算符合YES的TIME加總時間(hh:mm)

謝謝

作者: GBKEE    時間: 2010-10-26 12:01

本帖最後由 GBKEE 於 2010-10-26 12:02 編輯

回復 1# app4000
VBA
Format(Application.SumIf(Range("A1:A10"), "YES", Range("B2")), "HH:MM:SS")
工作表
TEXT(SUMIF(A1:A10,"YES",B2),"HH:MM:SS")
作者: app4000    時間: 2010-10-26 14:55

回復 2# GBKEE


感謝 GBKEE 的解答

另請問一下如果累計大於24小時 要如何 變成 XX月 XX日 XX時 XX分
作者: GBKEE    時間: 2010-10-26 17:43

回復 3# app4000
VBA
Format(Application.SumIf(Range("A1:A10"), "YES", Range("B2")), "M/D HH:MM:SS")
工作表
TEXT(SUMIF(A1:A10,"YES",B2),"M/D HH:MM:SS")
作者: app4000    時間: 2010-10-26 18:22

回復 4# GBKEE

EX:
TIME
11:00
22:30
11:00

總計 44小時 30分

D HH:MM:SS 我要得答案應該如下
1 20:30:00  --->答案

而不是
24 20:30:00  --->怪怪的
作者: Hsieh    時間: 2010-10-26 19:14

本帖最後由 Hsieh 於 2010-10-26 23:09 編輯

[attach]3382[/attach]
樞紐分析,設定儲存格格式
VBA請試試
  1. Sub nn()
  2. Set d = CreateObject("Scripting.Dictionary")
  3. For Each a In Range([A1], [A65536].End(xlUp))
  4.    d(a & "") = d(a & "") + a.Offset(, 1)
  5. Next
  6. For Each ky In d.keys
  7. MsgBox Format(Int(d(ky)), "0") & Format(d(ky) - Int(d(ky)), "天 h:mm:ss")
  8. Next
  9. End Sub
複製代碼

作者: GBKEE    時間: 2010-10-26 19:44

回復 5# app4000
沒錯ㄚ是 1:20:30:00
作者: oobird    時間: 2010-10-27 10:04

咦,怎麼樞紐的結果不一樣?
作者: PD961A    時間: 2010-10-28 13:23

回復 4# GBKEE


    版主
請問代入工作表的程式跟樞紐做出的答案不一樣...
請問哪裡輸入錯誤??
謝謝您..

[attach]3398[/attach]


[attach]3399[/attach]
作者: GBKEE    時間: 2010-10-28 14:39

回復 9# PD961A
一樣啊,那裡不一樣?? 我沒看出來!
作者: PD961A    時間: 2010-10-28 14:58

回復 10# GBKEE
是儲存格公式位置放錯嗎?

    [attach]3401[/attach]
作者: GBKEE    時間: 2010-10-28 15:38

回復 11# PD961A
TEXT(SUMIF(A1:A10,"YY",B1),"M/D HH:MM:SS")=TEXT(SUMIF(A1:A10,"YY",B1:B10),"M/D HH:MM:SS")
作者: PD961A    時間: 2010-10-28 15:55

回復 12# GBKEE


    版主
謝謝您..弄不出來...
粉笨...放棄 = =''

[attach]3402[/attach]

[attach]3403[/attach]
作者: GBKEE    時間: 2010-10-28 16:00

本帖最後由 GBKEE 於 2010-10-28 16:23 編輯

回復 13# PD961A
對不起  沒專心沒看到有附檔,所以一直沒說到重點 還真的以為妳說你很笨的.
咐檔的A1:A10的字元 你是網上抓下來的"YES     "有不可見字元  要刪掉 重keyIn  "YES"   
這裡也要改
TEXT(SUMIF(A1:A10,"YES",B1),"M/D HH:MM:SS")=TEXT(SUMIF(A1:A10,"YES",B1:B10),"M/D HH:MM:SS")
作者: PD961A    時間: 2010-10-28 16:08

本帖最後由 GBKEE 於 2010-10-28 16:25 編輯

回復 14# GBKEE


    版主
現在我真的覺得是非常笨了...很簡單的公式怎麼會弄不出??
另外A欄沒YES是儲存格置左..剪輯時沒有放入

[attach]3405[/attach]


[attach]3404[/attach]



對不起 請看 14#    GBKEE上
作者: Hsieh    時間: 2010-10-28 18:23

回復 15# PD961A


    [attach]3409[/attach]
作者: PD961A    時間: 2010-10-29 07:45

回復 16# Hsieh
HS版主
謝謝您..

回復 14# GBKEE
GB版主
現在覺得自己不只是"粉笨"...簡直是來亂的.....= ='''
還是弄不出..
可以麻煩您直接幫我修正在檔案裡嗎??
真的找不出原因在哪裡....
感恩!!! ^ ^....

[attach]3411[/attach]

[attach]3412[/attach]
作者: GBKEE    時間: 2010-10-29 08:38

回復 17# PD961A
錯在 A1:A10 中的"YES"<>公式中的"YES"   
請在D2 打上 "YES"
請在D3 打上 公式 =A2=D2  得到 FALSE  表示 兩者文字是不一樣
A1:A10 的文字全部刪掉 重新打上就正常了.
之後Hsieh 版主的公式就不一樣了
在這裡要請教Hsieh 版主公式中"YES"是如何製成的?

作者: Hsieh    時間: 2010-10-29 11:29

回復 18# GBKEE
我只是複製貼上
不論如何準則就是要跟資料內容相符
book5的檔案a欄的不可見字元是alt+160
將資料取代成不含不可見字元即可直接輸入文字計算
或用儲存格參照即可
=TEXT(SUMIF(A1:A10,$A$1,B1:B10),"M/D HH:MM:SS")
作者: GBKEE    時間: 2010-10-29 17:55

回復 19# Hsieh
謝謝!
我知道是複製的,但先前複製一定要"YES " 要多一個空格.
說也奇怪看到你的回文 再試試複製後就正常.
作者: Hsieh    時間: 2010-10-29 18:14

回復 20# GBKEE
所以這樣的狀況最好是能夠清除不可見字元或用儲存格參照
才能避免一些不必要的困擾
作者: PD961A    時間: 2010-11-1 18:07

回復 18# GBKEE


    [attach]3444[/attach]
作者: GBKEE    時間: 2010-11-1 19:12

回復 22# PD961A
不可見字元 是從網頁上直接複製資料下來,不可預期所產生的.
A30 -  或用儲存格參照即可      
A31 -  1/0 00:00:00        =TEXT(SUMIF(A2:A11,$A$1,B2:B11),"M/D HH:MM:SS")  是2才對
A32 -  1/1 11:50:00        它的答案也不是1天11:50(都是1/1 11:50)
它的公式  =TEXT(SUMIF(A2:A11,$A$2,B2:B11),"D HH:MM:SS")
作者: PD961A    時間: 2010-11-2 07:51

回復 23# GBKEE


    [attach]3452[/attach]
作者: oobird    時間: 2010-11-2 08:16

A欄與D2的值一樣,但不等於"YES"
你用公式:=D2="YES"  試試。
作者: PD961A    時間: 2010-11-2 08:52

回復 25# oobird


    超級版主
終於找到問題點了
謝謝您.....
感恩!!  ^ ^....
作者: ounmaxz    時間: 2011-11-21 16:29

回復  GBKEE


    版主
請問代入工作表的程式跟樞紐做出的答案不一樣...
請問哪裡輸入錯誤??
謝謝您 ...
PD961A 發表於 2010-10-28 13:23



    樞紐的部分 有NO YES   
    VBA的部分選的是NO的部分
    值都是一樣的
作者: echern0705    時間: 2012-3-9 13:15

我也正在學習時間的計算,謝謝分享!




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)