返回列表 上一主題 發帖

年度只加大於零

年度只加大於零

各位前輩你們好!!   
    年度只加大於零不知公式為何?
    請知道的前輩,不吝賜教謝謝再三!!

Leo40.rar (4.13 KB)

不好意思, 無法下載附件
是否可以 將範例拍照po出 or 清楚描述問題

TOP

本帖最後由 p212 於 2015-3-26 11:08 編輯

回復 1# myleoyes
假設儲存格R1為指定「年分」之輸入欄位,且只加大於零的「金額」
1.若輸入年分為「民國」年,則儲存格Q1公式
=SUMPRODUCT((YEAR($K$4:$K$12)=$R$1+1911)*($Q$4:$Q$12>0)*($Q$4:$Q$12))
2.若輸入年分為「西元」年,則儲存格Q1公式
=SUMPRODUCT((YEAR($K$4:$K$12)=$R$1)*($Q$4:$Q$12>0)*($Q$4:$Q$12))
請參考!

Leo40_2.zip (4.56 KB)

TOP

回復 3# p212
k123456770前輩!請看動畫檔...
前輩!你可能誤解小弟的問題
         這樣公式無法得到答案
           =SUMPRODUCT((TEXT(K$4:K$12,"YYY")=TEXT(AY2,"YYY"))*SUMIF(Q4:Q12,">0"))
          =SUMPRODUCT((TEXT(K$4:K$12,"YYY")=TEXT(AY2,"YYY"))*SUMIF(Q4:Q12,">0"))
        所以用補助欄是可以達成需求
       AY2=DATE(YEAR(TODAY()),1,1)
      AY3=DATE(YEAR(TODAY()),12,31)
      AY4=IF(AND(K4>=AY$2,K4<=AY$3,Q4>0),Q4,"")下拉
     但心想應該不需要靠補助欄就可以達到目的不是嗎?
      請前輩不吝再賜教謝謝再三!!

Le40o.gif (776.68 KB)

Le40o.gif

Leo40.gif (776.68 KB)

Leo40.gif

TOP

......這樣公式無法得到答案
=SUMPRODUCT((TEXT(K$4:K$12,"YYY")=TEXT(AY2,"YYY"))*SUMIF(Q4:Q12,">0"))


=SUMPRODUCT((YEAR(K$4:K$12)=YEAR(TODAY()))*(Q4:Q12>0),Q4:Q12)

TOP

本帖最後由 p212 於 2015-3-27 10:10 編輯

回復 4# myleoyes
很抱歉誤解了您的意思,以增加輔助儲存格方式處理。
將3#的公式內容改為5# JBY大提供的修改公式即可,所以不需另增輔助儲存格 (3#中儲存格R1指定「年分」)。
=SUMPRODUCT((YEAR($K$4:$K$12)=$R$1)*($Q$4:$Q$12>0)*($Q$4:$Q$12))

=SUMPRODUCT((YEAR(K$4:K$12)=YEAR(TODAY()))*(Q4:Q12>0),Q4:Q12)
請參考!

TOP

回復 6# p212
兩位前輩!真抱歉小弟也弄錯原始檔的用意
      應該 AY4=IF(AND(K4>=AY$2,K4<=AY$3,M4>0,Q4>0),Q4,"")
      也就是說M欄與Q欄要同時大於零才加總
      再附檔請不吝再賜教謝謝再三!! 辛苦囉!

Leo40-1.rar (4.17 KB)

TOP

回復 7# myleoyes

=SUMPRODUCT((YEAR(K$4:K$12)=YEAR(TODAY()))*(M4:M12>0)*(Q4:Q12>0),Q4:Q12)

或者

=SUMPRODUCT((TEXT(K$4:K$12,"yyy")=TEXT(TODAY(),"yyy"))*(M4:M12>0)*(Q4:Q12>0),Q4:Q12)

TOP

回復 8# JBY
    前輩想到囉謝謝!!另一問題請教
    L1為 67 顯示為 67年次 型態
    K1輸入1978/2/16 顯示為 67/2/16 型態
    K2=CONCATENATE(MID(YEAR(K1),1,4)-1911)
    照理說 K2=L1沒錯
    按分析鈕卻無法執行程式   
    Sub 分析()
        If [K2] <> [L1] Then MsgBox ("很抱歉系統無法分析!輸入資料為 " & [K2] & " 年次不等於來源 " & [L1] & " 年次的資料,請修改輸入資料OK!!"): End
           執行程式
    End Sub
    為何K2的 67非L1的 67
    不知有何公式可以取代或其他方法
    請不吝賜教謝謝再三!!辛苦囉!  
    K2不能用程式轉為值如右 [K2]=Evaluate("=CONCATENATE(MID(YEAR(K1),1,4)-1911)")

TOP

回復 9# myleoyes
L1: 67

K1: 1978/2/16

K2 =CONCATENATE(MID(YEAR(K1),1,4)-1911)

為何 K2 的 67 非 L1 的 67 ?

因為 K2 公式返回的 67 為文本, 而, L1 的 67 為數值

....................................................................................................................

K2, 改為 =--CONCATENATE(MID(YEAR(K1),1,4)-1911)

但是,

為什麼公式使用 CONCATENATE 和 MID 函數 ??

K2 公式, 可以直接使用 :

=YEAR(K1)-1911

TOP

        靜思自在 : 【時間成就一切】時間可以造就人格,可以成就事業,也可以儲積功德。
返回列表 上一主題