Board logo

標題: [發問] 此函數該如何簡化? [打印本頁]

作者: 電暖爐    時間: 2015-1-29 23:57     標題: 此函數該如何簡化?

  1. B7=IF(COUNTIF(1:1,8)=0,,COUNTIF(1:1,A7))+IF(COUNTIF(2:2,8)=0,,COUNTIF(2:2,A7))+IF(COUNTIF(3:3,8)=0,,COUNTIF(3:3,A7))+IF(COUNTIF(4:4,8)=0,,COUNTIF(4:4,A7))+IF(COUNTIF(5:5,8)=0,,COUNTIF(5:5,A7))
複製代碼
如果第一列有出現8的話,就計算A7出現的次數
第二列有出現8的話,就計算A7出現的次數
一直到第5列
5列計算出現的值相加

這段函數該怎麼簡化?
作者: p212    時間: 2015-1-30 08:15

本帖最後由 p212 於 2015-1-30 08:23 編輯

回復 1# 電暖爐
儲存格B7輸入
SUMPRODUCT(($1:$5=$A$7)*1)

=IF($A$7="","",SUMPRODUCT(($1:$5=$A$7)*1))
請參考!
作者: fantersy    時間: 2015-1-30 08:47

=SUMPRODUCT(N($1:$5=8))
指的是出現8的次數相加嗎?
作者: 電暖爐    時間: 2015-1-30 19:29

回復 2# p212


    那個,測試出來是錯的喔!
我要的是那一列有出現8才要計算A7出現的次數

不過還是謝謝你的回答
作者: 電暖爐    時間: 2015-1-30 19:30

回復 3# fantersy


    是列中有出現8,才要計算A7出現的次數
例如1、3、5列有出現8
2、4列沒有,就計算1、3、5列A7出現的次數
作者: 准提部林    時間: 2015-1-31 12:20

1.取得A1:F9範圍,〔各列〕含有8的個數:
 公式:
 =MMULT(--(A1:F9=8),{1;1;1;1;1;1})
  或
 =COUNTIF(OFFSET(A1:F1,ROW(1:9)-1,),8)

 在公式編輯列按F9可查看陣列中的結果

以下方為例:
7        4        7        8        5        7
7        7        6        8        3        7
3        4        8        4        4        6
5        7        7        5        7        7
7        8        4        8        3        7
6        3        4        5        5        3
4        4        4        5        7        7
6        4        3        7        8        5
8        7        8        6        7        6

陣列值:{1;1;1;0;2;0;0;1;2}
 
2.從符合含有8的各列中,計算5的個數:
公式:
=SUMPRODUCT(N((MMULT(--(A1:F9=8),{1;1;1;1;1;1})>0)*A1:F9=5))

公式原理不算複雜,多使用F9去理解,恕不多作說明∼
 
作者: 電暖爐    時間: 2015-1-31 16:04

回復 6# 准提部林


    謝啦!又學到一招啦!:)




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