Board logo

標題: [發問] 請問 搜尋 部分字串 相同 然後累加 問題 [打印本頁]

作者: mycmyc    時間: 2011-7-30 11:49     標題: 請問 搜尋 部分字串 相同 然後累加 問題

本帖最後由 mycmyc 於 2011-7-30 11:53 編輯

[attach]7186[/attach][attach]7187[/attach]
請教 我想搜尋  日期期間  部分字串相同 如內含210  做數量累加 函數應該怎麼寫呢
請各位大大  幫忙解惑  謝謝



[attach]7187[/attach][attach]7187[/attach]
作者: gong    時間: 2011-7-30 12:34

=SUMPRODUCT(($A$2:$A$7>=$A$2)*($A$2:$A$7<=$A$5)*ISNUMBER(FIND("210",$B$2:$B$7))*$C$2:$C$7)
作者: mycmyc    時間: 2011-7-30 13:53

感謝 gong 解答 可以運用  謝謝
再煩請問你  如果 條件 必須 210 且 擋土  成立  才累加
應該怎麼修正  試了很久  無法完成  你可以再幫我嗎
謝謝
作者: gong    時間: 2011-7-30 14:12

=SUMPRODUCT(($A$2:$A$7>=$A$2)*($A$2:$A$7<=$A$5)*ISNUMBER(FIND("210",$B$2:$B$7))*ISNUMBER(FIND("擋土",$B$2:$B$7))*$C$2:$C$7)
作者: mycmyc    時間: 2011-7-30 15:29

謝謝 gong  再次指導
OK能用
可能我對函數了解太淺   雖試著如你方式  
但不成功
謝謝你 指導
作者: infoverdad    時間: 2011-7-30 19:26

回復 1# mycmyc


    版主的公式蠻有用的 試著用你的檔案改了一下 請參考看看吧!!
    [attach]7191[/attach]
作者: 火耀    時間: 2011-7-30 20:08

gong  的函數為陣列涵數
陣列公式輸入方法是Ctrl+Shift+Enter三鍵一起完成輸入
作者: gong    時間: 2011-7-30 21:10

SUMPRODUCT就是一種陣列函數
所以可以不用Ctrl+Shift+Enter結尾
如果將SUMPRODUCT(...)改用用SUM(...)那就要以Ctrl+Shift+Enter結尾
作者: mycmyc    時間: 2011-7-31 01:53

本帖最後由 mycmyc 於 2011-7-31 02:12 編輯

回復 9# gong


    感謝 大家指導
這公式變化很多很好用
但有一個問題 可能不好解決

=SUMPRODUCT(($A$2:$A$7>=$A$2)*($A$2:$A$7<=$A$5)*ISNUMBER(FIND("210",$B$2:$B$7))*$C$2:$C$7)

$A$2:$A$7  是資料 會隨日期增加
那   $A$7  是變數  怎麼才能 解決   $A$7   變數 問題

請樓主 指導

補上一些心得  讓版友 做參考  
SUMPRODUCT運算,是將兩個陣列拿來相乘。而在運算中,True視為1,False視為0。所以兩組資料的相乘積不為0者,代表兩個條件都滿足,所以使用SUMPRODUCT函數,正好可以算出有幾個1,可以視為幾個數字
說錯請補充
作者: infoverdad    時間: 2011-7-31 02:13

回復 10# mycmyc


#7 revised.rar的檔因已想到你那個日期可能會需要變才先那樣改的
(若你要把它當變數, 那你的規則是?? 至統計當日為止的累計? or 特定哪一天為止的? or 每月累計? .....?),
請參考看看.再依您的需求調吧
作者: mycmyc    時間: 2011-7-31 11:44

本帖最後由 gong 於 2011-7-31 21:30 編輯

小弟看法
必須先讀 data  看總共幾行 如 從7月3日開始  
讀若有 20行 則是 7月23  
就從 7月3日 搜尋累加至  7月23
累加至特定哪一天為止  那已解決  
=SUMPRODUCT(($A$2:$A$7>=$A$2)*($A$2:$A$7<=$A$5)*ISNUMBER(FIND("210",$B$2:$B$7))*$C$2:$C$7)
=$A$5  改成=A5  
對最後一筆 $A$7 $B$7  $C$7
必須先讀  data  看總共幾行  
才能 使$A$7 $B$7  $C$7 便動態變數

不知對不對  請指導
作者: gong    時間: 2011-7-31 21:29

使用動態範圍
$a$2:$a$7
改為
offset($a$1,1,,counta($a:$a)-1,)

$b$2:$b$7
改為
offset($a$1,1,1,counta($a:$a)-1,)
餘類推
作者: mycmyc    時間: 2011-8-1 00:01

本帖最後由 mycmyc 於 2011-8-1 00:09 編輯

感謝版主 指導
先研究函數運用  再嘗試

=OFFSET(C2,2,-1,1,1)
C 2 - 參照的儲存格。
2 - 指出要移動的資料列數目。 正數表示, 向下移動, 負值表示向上移動。
- 1 - 指出要移動的資料行數目。 正數表示將向右移動, 負值代表要向左移動。
- 1 (第二個最後一個值 (選擇項)。 指出要傳回的資料多少資料列。 這個數字必須是正數。
1 (最後一個值) - (選擇項)。 表示要傳回的資料多少資料行。 這個數字必須是正數。

COUNTA 是計算非空白儲存格數目的函數

有問題再請教  謝謝
作者: zeny    時間: 2011-8-13 13:49     標題: 看我做得對不對?

[attach]7404[/attach]




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