Board logo

標題: [發問] 一個有條件合彙計算加聰函數 [打印本頁]

作者: 317    時間: 2010-7-24 22:40     標題: 一個有條件合彙計算加聰函數

請大大們協助解決
=COUNTIF(Sheet2!G4:AK4,X3)我把函數寫於工作表15,X4儲存格內,函數是把工作表2,G4:AK4,符合條件加聰出現次數, 而參照位置是工作表15,X3,顯示於工作表15,X4.儲存格內.
函數可以使用,但問題是如何把Sheet2:Sheet13共12張工作表內g4:ak都作合彙加聰, 顯示於工作表15,X4.儲存格內.
謝謝!!
作者: kimbal    時間: 2010-7-25 00:19

  1. =SUM(COUNTIF(INDIRECT("Sheet"&{2,3,4,5,6,7,8,9,10,11,12,13}&"!G4:AK4"),Sheet15!X3))
複製代碼

作者: 317    時間: 2010-7-25 08:25

謝謝大大, 已試用過, 衷心謝謝, 但小妹有個問題, 假若小妹把sheet2:sheet13共12張工作表重新命名,
sheet2命名為2月,sheet3命名為3月,如此類推,直至sheet13命名為12月,止,
這樣sheet2:sheet13工作表的標籤名稱便是1月,2月,3月,4月,5月,6月,7月,8月,9月,10月,11月,12月..
在這情況下, 函數如何修改,
謝謝!!
作者: kimbal    時間: 2010-7-25 09:15

本帖最後由 kimbal 於 2010-7-25 09:43 編輯

回復 3# 317
  1. =SUM(COUNTIF(INDIRECT({"1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"}&"!G4:AK4"),Sheet15!X3))
複製代碼
貼到手軟
作者: 317    時間: 2010-7-25 10:21

大大,早晨
謝謝回應,函數貼在工作表15, 我在SHEET15,X3填入50,
接著在SHEET2:SHEET13工作表G4:AK4位置上輸入50,
傳回#REF!,不知是否我在程序上出錯, 請大大協助解決, 謝謝,
祝快樂..
作者: 317    時間: 2010-7-25 14:11

先行謝謝大大, 中午回家再度試驗, 一試便成功, 是否今早還未睡醒, 試驗多次都不行,中午人已徹底清醒, 原來問題在於自己,
衷心感謝大大, 祝身體健康..317
作者: 317    時間: 2010-7-25 14:49

大大前輩, 安好,
溜了一個問題發問, 請不要見怪,公式中包含陣列, 假若我想把函數往下複製, 該如何修改, 因我試過往下複製, 按照計算應是複製位置之列g4:ak4才是, 但我往下複製至多列, 計算結果準則還是g4:ak4, 到底如何修改才能做到往下複製, 謝謝!!
作者: kimbal    時間: 2010-7-25 16:01

INDIRECT下用的是文字,下拉也是一樣的,
如果想公式跟行數轉變,可以多加row()來用

假設公式位置在sheet15 的第4 row:
那第一格的公式,把G4:AK4換成
G"&row()&":AK"&row()&
如果公或位置在sheet15的第5 row:
那第一格的公式,把G4:AK4換成
G"&(row()-1)&":AK"&(row()-1)&
作者: 317    時間: 2010-7-25 18:30

衷心謝謝大大指導,小妹真的愚蠢,按大大的指示,但還是不成功,我把公式貼於工作表15,x4,懇請大大看看小妹何處出錯
=SUM(COUNTIF(INDIRECT({"1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"}&"!G"&row()&":AK"&row()&"),Sheet15!$X$3))
真的煩勞大大, 謝謝!!, 祝快樂
作者: 317    時間: 2010-7-26 19:04

這篇文章, 往下拉複製, 加聰準則g4:ak4,跟隨變更,還未有回應,老闆要檔案下月使用,
看來在未有解決方法, 小妹先用古老方法, 便是把函數往下拉複製而1千多列資料,然後在公式中逐列變更G4:AK4,譬如我現時是在第36列, 我便把G4:AK4,修改G36:AK36,逐列逐列變更,這方法也可以, 但時間需廢時.
=SUM(COUNTIF(INDIRECT({"1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"}&"!G4:AK4"),Sheet15!$X$3))
小妹在此再次衷心謝謝kimbal大大指導上述函數給予小妹,謝謝!!
作者: Hsieh    時間: 2010-7-26 19:14

=SUM(COUNTIF(INDIRECT({"1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"}&"!G"&ROW(A4)&":AK"&ROW(A4)),Sheet15!$X$3))
作者: 317    時間: 2010-7-26 19:43

感謝hsieh大大,
程式已試用, 效果頂好,
hsieh大大, 如果這函數用vba編寫是否可以, 因相信效果會更好, 同時亦想認識多點vba程式,
謝謝, 祝快樂, 健康..
作者: luhpro    時間: 2010-7-26 21:43

本帖最後由 luhpro 於 2010-7-26 21:50 編輯
衷心謝謝大大指導,小妹真的愚蠢,按大大的指示,但還是不成功,我把公式貼於工作表15,x4,懇請大大看看小妹何處 ...
317 發表於 2010-7-25 18:30


Excel的公式要把握一個原則,那就是 " 一定要成對,
這樣 Excel 才能知道你的公式中哪些是文字,
又哪些是函數.

從上述內容來看你的公式並沒有成對,
我們在剖析公式的問題時可以試著拆解公式,如 :
=SUM(COUNTIF(INDIRECT({"1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"}&"!G"&row()&":AK"&row()&"),Sheet15!$X$3))
可以拆解為 :
=SUM(
  COUNTIF(
    INDIRECT(
      {"1月"
        ,"2月","3月","4月","5月","6月","7月","8月","9月","10月","11月"      <--- 這邊本應也拆解,不過拆出來文章會變太長,所以省略.
        ,"12月"}
        &     "!G"     &     row()    &    ":AK"   &    row()    &"
     )
   ,Sheet15!$X$3
   )
)
看出來了嗎? 多了 &"
只要把那兩個字刪掉就可以了.
(咦? 沒看到還有第二頁, 也沒有刪文的選項? 如果版主覺得這篇應該刪的話,就請刪了喔.)




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