史萊姆論壇

返回   史萊姆論壇 > 專業主討論區 > 軟體應用問題討論區
忘記密碼?
論壇說明 標記討論區已讀

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


發文 回覆
 
主題工具 顯示模式
舊 2015-06-05, 01:03 PM   #1
atie 帥哥
超級版主
 
atie 的頭像
榮譽勳章
UID - 7036
在線等級: 級別:111 | 在線時長:12856小時 | 升級還需:136小時級別:111 | 在線時長:12856小時 | 升級還需:136小時級別:111 | 在線時長:12856小時 | 升級還需:136小時級別:111 | 在線時長:12856小時 | 升級還需:136小時級別:111 | 在線時長:12856小時 | 升級還需:136小時級別:111 | 在線時長:12856小時 | 升級還需:136小時
註冊日期: 2002-12-08
住址: 面壁思過協會
文章: 18203
精華: 0
現金: 33 金幣
資產: 140825147 金幣
Exclamation 求助 - Excel統計問題



--------------------
閱讀本主題的最佳解答
--------------------


在excel上是否可以做到可以統計次數的方法,
我有一個資料
假設欄位為
A1:150A
A2:150B
A3:150C
A4:150A
A5:150B
A6:150D
A7:150E
A8:150A

我要在A9的欄位去統計A1-A8不同資料的出現次數總合(如150A出現三次也視為一次)
請大家幫幫忙了....





.
__________________
 ﹒☆°﹒☆.﹒☆°﹒☆.﹒☆°
°﹒☆°.﹒‧°∴°﹒°.﹒‧°∴°.﹒‧°∴°﹒☆...... ☆
  許好願    做好事    轉好運
   一個願無量善緣;菩提心永不褪變
心中常存善解、包容、感恩、知福、惜福
atie 目前離線  
送花文章: 19079, 收花文章: 13665 篇, 收花: 61022 次
回覆時引用此帖
舊 2015-06-06, 01:46 PM   #2 (permalink)
管理員
 
getter 的頭像
榮譽勳章
UID - 6433
在線等級: 級別:96 | 在線時長:9733小時 | 升級還需:64小時級別:96 | 在線時長:9733小時 | 升級還需:64小時級別:96 | 在線時長:9733小時 | 升級還需:64小時級別:96 | 在線時長:9733小時 | 升級還需:64小時級別:96 | 在線時長:9733小時 | 升級還需:64小時級別:96 | 在線時長:9733小時 | 升級還需:64小時
註冊日期: 2002-12-08
住址: 天線星球
文章: 8157
精華: 0
現金: 19955 金幣
資產: 765391 金幣
預設

先列舉幾個可能會用到的統計函數:

COUNT:在某個範圍內,統計「數值資料的欄位 (包含 0、正負數值,不包含空白欄位)」的出現次數
A9=COUNT(A1:A8)
以 阿姨 提出的範例,「數值資料的欄位」會算出有 0 次

COUNTA:在某個範圍內,統計「非空白欄位」的出現次數
A9=COUNTA(A1:A8)
以 阿姨 提出的範例,「非空白欄位」會算出有 8 次

COUNTBLANK:在某個範圍內,統計「空白欄位」的出現次數
A9=COUNTBLANK(A1:A8)
以 阿姨 提出的範例,「空白欄位」會算出有 0 次

COUNTIF:在某個範圍內,統計「某個指定條件」的出現次數
A9=COUNTIF(A1:A8,"150A")
以 阿姨 提出的範例,以「150A 的條件」會算出有 3 次

─────────────────────────────────────────────────────────

迪西看不太懂 阿姨 想要讓 A9 出現啥內容? 是只要有內容的 +1 次,且重複內容的「僅 +1 次」

因此若是利用 IF 判斷 COUNTIF 算出來的數值 > 0,IF 輸出 1 次,反之為輸出 0 次。
或者是 IF 判斷 COUNTIF 算出來的數值 ≠ 0,IF 輸出 1 次,反之為輸出 0 次。
或者是 IF 判斷 COUNTIF 算出來的數值 = 0,IF 輸出 0 次,反之為輸出 1 次。
最後在用 + 的把這些 IF、COUNTIF 的組合加起來就好了。

IF、COUNTIF > 0 的條件 Then = 1、Else = 0, 會算出 5 次
PHP 語法:
A9=IF(COUNTIF(A1:A8,"150A")>0,1,0)
  +IF(COUNTIF(A1:A8,"150B")>0,1,0)
  +IF(COUNTIF(A1:A8,"150C")>0,1,0)
  +IF(COUNTIF(A1:A8,"150D")>0,1,0)
  +IF(COUNTIF(A1:A8,"150E")>0,1,0


IF、COUNTIF ≠ 0 的條件 Then = 1、Else = 0, 會算出 5 次
PHP 語法:
A9=IF(COUNTIF(A1:A8,"150A")<>0,1,0)
  +IF(COUNTIF(A1:A8,"150B")<>0,1,0)
  +IF(COUNTIF(A1:A8,"150C")<>0,1,0)
  +IF(COUNTIF(A1:A8,"150D")<>0,1,0)
  +IF(COUNTIF(A1:A8,"150E")<>0,1,0


IF、COUNTIF = 0 的條件 Then = 0、Else = 1, 會算出 5 次
PHP 語法:
A9=IF(COUNTIF(A1:A8,"150A")=0,0,1)
  +IF(COUNTIF(A1:A8,"150B")=0,0,1)
  +IF(COUNTIF(A1:A8,"150C")=0,0,1)
  +IF(COUNTIF(A1:A8,"150D")=0,0,1)
  +IF(COUNTIF(A1:A8,"150E")=0,0,1

此帖於 2015-06-07 10:27 AM 被 getter 編輯.
__________________
在「專業主討論區」中的問題解決後,要記得按一下 http://forum.slime.com.tw/images/stamps/is_solved.gif 按鈕喔,
這是一種禮貌動作。

一樣是在「專業主討論區」中發問,不管問題解決與否,都要回應別人的回答文喔。
不然搞 [斷頭文],只看不回應,下次被別人列入黑名單就不要怪人喔。

天線寶寶說再見啦~ ... 天線寶寶說再見啦~

迪西:「再見~ 再見~」

Otaku Culture Party 關心您 ...
getter 目前離線  
送花文章: 37855, 收花文章: 6441 篇, 收花: 26052 次
回覆時引用此帖
有 3 位會員向 getter 送花:
a471 (2015-06-07),atie (2015-06-06),haluko (2015-09-15)
感謝您發表一篇好文章
舊 2015-06-06, 07:13 PM   #3 (permalink)
超級版主
 
atie 的頭像
榮譽勳章
UID - 7036
在線等級: 級別:111 | 在線時長:12856小時 | 升級還需:136小時級別:111 | 在線時長:12856小時 | 升級還需:136小時級別:111 | 在線時長:12856小時 | 升級還需:136小時級別:111 | 在線時長:12856小時 | 升級還需:136小時級別:111 | 在線時長:12856小時 | 升級還需:136小時級別:111 | 在線時長:12856小時 | 升級還需:136小時
註冊日期: 2002-12-08
住址: 面壁思過協會
文章: 18203
精華: 0
現金: 33 金幣
資產: 140825147 金幣
預設

謝謝說明,我會試試看的。

主要是要統計每日開機的機台有幾台。

因為有時機台每日生產的產品有兩種、三種的產品。

現場人員在填表格時會將生產機台與對應生產產品都寫在生產統計單上,

但我主要是只想要知道今天有幾台機器有開機生產,

因為單子上會記錄著重覆的機台編號,很難去計算。

也試很多的公式,但都無法正確得知,所以才會請教諸位論友。
atie 目前離線  
送花文章: 19079, 收花文章: 13665 篇, 收花: 61022 次
回覆時引用此帖
向 atie 送花的會員:
getter (2015-06-06)
感謝您發表一篇好文章
舊 2015-06-06, 07:51 PM   #4 (permalink)
管理員
 
getter 的頭像
榮譽勳章
UID - 6433
在線等級: 級別:96 | 在線時長:9733小時 | 升級還需:64小時級別:96 | 在線時長:9733小時 | 升級還需:64小時級別:96 | 在線時長:9733小時 | 升級還需:64小時級別:96 | 在線時長:9733小時 | 升級還需:64小時級別:96 | 在線時長:9733小時 | 升級還需:64小時級別:96 | 在線時長:9733小時 | 升級還需:64小時
註冊日期: 2002-12-08
住址: 天線星球
文章: 8157
精華: 0
現金: 19955 金幣
資產: 765391 金幣
預設

引用:
作者: atie 查看文章
謝謝說明,我會試試看的。

主要是要統計每日開機的機台有幾台。

因為有時機台每日生產的產品有兩種、三種的產品。

現場人員在填表格時會將生產機台與對應生產產品都寫在生產統計單上,

但我主要是只想要知道今天有幾台機器有開機生產,

因為單子上會記錄著重覆的機台編號,很難去計算。

也試很多的公式,但都無法正確得知,所以才會請教諸位論友。
使用函數的也是有缺點的 ...

比方說有些情況是有公式的函數限制 ... 比方說長度或是深度的限制 ...
目前迪西比較確定的式 IF 有巢狀深度的限制,一格儲存格最多 7 層,如 IF( IF( IF( ... )))。
超過無法結束與計算。新版的 Excel 2007 或 2010 還有沒有這種限制就不清楚了。
本次的這種 if + if +if ... 就不知道限制何時會出現限制了。

就變成要使用 VBA 來開發「自訂函數」來使用,用法也會像 Excel 內建函數的用法
以這次的例子來說 ...

理論上 VBA 可以把這個阿姨要的功能的函數寫的不用指定條件 ...
動作上就是
1.選擇範圍
2.排除重複項目
3.統計項目
4.回饋資料

迪西目前懂的 VBA 部份,可以處理 2~4,1 就搞不出來,因為選擇範圍的話
有分 A1:B2 或是 A1,A5,C3,B4:B16 ... 諸多類型,這裡迪西就卡住了 ...
所以放棄 ...

若真的要使用「自訂函數」的話,阿姨還要會插入 VBA 「自訂函數」才有用,所幸
這不難很簡單,網路上都找的到教學。比較麻煩的是,有些公司會把 Excel 的 book
作安全鎖定,只開放局部輸入或是安全性限制。
getter 目前離線  
送花文章: 37855, 收花文章: 6441 篇, 收花: 26052 次
回覆時引用此帖
有 2 位會員向 getter 送花:
a471 (2015-06-07),atie (2015-06-06)
感謝您發表一篇好文章
舊 2015-06-06, 08:49 PM   #5 (permalink)
超級版主
 
atie 的頭像
榮譽勳章
UID - 7036
在線等級: 級別:111 | 在線時長:12856小時 | 升級還需:136小時級別:111 | 在線時長:12856小時 | 升級還需:136小時級別:111 | 在線時長:12856小時 | 升級還需:136小時級別:111 | 在線時長:12856小時 | 升級還需:136小時級別:111 | 在線時長:12856小時 | 升級還需:136小時級別:111 | 在線時長:12856小時 | 升級還需:136小時
註冊日期: 2002-12-08
住址: 面壁思過協會
文章: 18203
精華: 0
現金: 33 金幣
資產: 140825147 金幣
預設

我也是卡關了.............

卡了近一個星期了...........

試這近一個星期了,套入公式後去驗證,都是錯誤.......
atie 目前離線  
送花文章: 19079, 收花文章: 13665 篇, 收花: 61022 次
回覆時引用此帖
向 atie 送花的會員:
getter (2015-06-07)
感謝您發表一篇好文章
舊 2015-06-07, 02:28 PM   #6 (permalink)
管理員
 
getter 的頭像
榮譽勳章
UID - 6433
在線等級: 級別:96 | 在線時長:9733小時 | 升級還需:64小時級別:96 | 在線時長:9733小時 | 升級還需:64小時級別:96 | 在線時長:9733小時 | 升級還需:64小時級別:96 | 在線時長:9733小時 | 升級還需:64小時級別:96 | 在線時長:9733小時 | 升級還需:64小時級別:96 | 在線時長:9733小時 | 升級還需:64小時
註冊日期: 2002-12-08
住址: 天線星球
文章: 8157
精華: 0
現金: 19955 金幣
資產: 765391 金幣
預設 為自己的Excel加入自定義函數



為自己的Excel加入自定義函數

可以參考以下:
Excel 2010 可以自訂公式(函數)來補足內建公式(函數)無法處理的情形
為自己的 Excel 2003 加入自定義函數
如何在另一個活頁簿中使用自訂函式
Excel 2003 自訂函數_簡單說明
如何讓 Excel 2010 的自訂函數顯示說明文字

以阿姨提的例子 ... 迪西也寫了一個「自訂函數」 ...

用法就是跟一般的函數差不多,經過測試,無法接受「連續型的位址 (A1:A8)」 ...
只要輸入的參數其中有一個「連續型的位址」是就會有問題了 #VALUE!,如下:

A9=COUNT_NR(A1:A8)
A9=COUNT_NR(A1,A2, ...,B1:C3, ...)
A9=COUNT_NR(A1:A8,B1,C3,A18)

值與儲存格混合的也不行,一樣會有 #VALUE!
A9=COUNT_NR(1,1,2,3,5,4,4,1,B1,C2,D6)

只要拿掉這個「連續型的位址 (A1:A8)」就正常了,如下:

A9=COUNT_NR(A1,A2,A3,A4,A5,A6,A7,A8)
A9=COUNT_NR(1,1,2,3,5,4,4,1)


把以下的方塊中的 VBA 程式碼,貼到工作表「巨集/VBA編輯器中」,可以參考上述連結
的文章,程式效果與 IF、COUNTIF + IF、COUNTIF ... 相當類似
語法:
Function COUNT_NR(ParamArray argList() As Variant)
  ' 函數(1,2,3, ...) 或是 函數(A1,B2,C3, ...) ok
  ' #VALUE! 異常終止 類型:
  ' 1.引數其中之一只要有 A1:A3 這種連續型位址
  '   函數(A1:A8)
  '   函數(A1,A2, ...,B1:C3, ...)
  '   函數(A1:A8,B1,C3,A18)
  ' 2、值與儲存格混核的類型
  '   函數(1,1,2,3,5,4,4,1,B1,C2,D6)
  '   函數(A1,A2, ...,1,2,3, ...)
  
  Dim i, j, Count As Variant
  
  For i = LBound(argList) To UBound(argList)
    If i = UBound(argList) Then
       Exit For
    End If
    For j = i + 1 To UBound(argList)
      If argList(i) = "" Then
         Exit For
      End If
      If argList(i) = argList(j) Then
         argList(j) = ""
      End If
    Next j
  Next i

 
  Count = 0
  For Each arg In argList
    If arg <> "" Then
       Count = Count + 1
    End If
  Next arg
  
  COUNT_NR = Count
    
End Function

此帖於 2015-06-07 10:14 PM 被 getter 編輯.
getter 目前離線  
送花文章: 37855, 收花文章: 6441 篇, 收花: 26052 次
回覆時引用此帖
有 3 位會員向 getter 送花:
a471 (2015-06-09),atie (2015-06-07),runonetime (2015-06-07)
感謝您發表一篇好文章
舊 2015-09-15, 10:40 AM   #7 (permalink)
註冊會員
榮譽勳章

勳章總數
UID - 370026
在線等級: 級別:1 | 在線時長:5小時 | 升級還需:7小時
註冊日期: 2015-09-14
文章: 2
精華: 0
現金: 4 金幣
資產: 4 金幣
預設

引用:
作者: atie 查看文章
在excel上是否可以做到可以統計次數的方法,
我有一個資料
假設欄位為
A1:150A
A2:150B
A3:150C
A4:150A
A5:150B
A6:150D
A7:150E
A8:150A

我要在A9的欄位去統計A1-A8不同資料的出現次數總合(如150A出現三次也視為一次)
請大家幫幫忙了....





.
1.給欄位名稱才能使用樞紐分析表
2.樞紐分析表版面配置將欄位名稱拉入[列]做[判斷]
3.樞紐分析表版面配置將欄位名稱拉入[資料]做[統計]
//因為資料型態為文字所以自動作COUNTA()計算項目個數


不需要寫程式碼

//取欄位下不重複資料就是這樣做
一個欄位就可以使用樞紐分析表

Test樞紐分析表版面配置將欄位名稱[列]拉入[欄]>>完工
比較原來位名稱拉入[列]有何不同?
//原來是做轉置工作轉90度

******************************************************

樞紐分析表滑鼠指向右側數字儲存格
滑鼠左鍵快點2下

//新開一張工作表,列出該筆合併資料所有明細
//資料>>篩選>>Ctrl+Shift+8>>複製>貼上其它地方[操作麻煩]
//我選樞紐分析表

此帖於 2015-09-17 11:15 AM 被 老夏0522 編輯. 原因: 增加解說
老夏0522 目前離線  
送花文章: 0, 收花文章: 2 篇, 收花: 4 次
回覆時引用此帖
有 3 位會員向 老夏0522 送花:
a471 (2015-09-15),atie (2015-09-15),getter (2015-09-15)
感謝您發表一篇好文章
舊 2020-10-19, 12:07 PM   #8 (permalink)
長老會員
 
AthenaLin 的頭像
榮譽勳章
UID - 16868
在線等級: 級別:22 | 在線時長:573小時 | 升級還需:48小時級別:22 | 在線時長:573小時 | 升級還需:48小時級別:22 | 在線時長:573小時 | 升級還需:48小時級別:22 | 在線時長:573小時 | 升級還需:48小時級別:22 | 在線時長:573小時 | 升級還需:48小時級別:22 | 在線時長:573小時 | 升級還需:48小時級別:22 | 在線時長:573小時 | 升級還需:48小時
註冊日期: 2002-12-24
文章: 562
精華: 0
現金: 10029 金幣
資產: 18106118 金幣
預設

A1-A8 欄位 (A150A ,A150B,A150C,A150D,A150E 各自出現幾次 可以用 B1=COUNTIF(B1,$A$1:$A$8) 去計算 如果是要計算A1-A8 共出現幾次不同的名稱, 可以在A9欄位 用陣列公式 =SUMPORDUCT(1/COUNTIF($A$1:$A$8,$A$1:$A$8))來計算 計算出來=5(但是計算欄位裡如果有0值 要記得-1 (扣除0值出現的值),還有欄位裡如果有空白值,就會出現#DIV/0! 無法計算,所以計算範圍不能有空白儲存格,但是可以有0值)
__________________
---------------------------------------------------------------
http://i2.imgbus.com/doimg/6miscath5ena8linfe7d8.gif
~~~~~劈哩啪啦,劈哩啪啦,叭叭啪拉叭~~~~~

-------------------------------------------
AthenaLin 目前離線  
送花文章: 1710, 收花文章: 204 篇, 收花: 610 次
回覆時引用此帖
發文 回覆


主題工具
顯示模式

發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用

相似的主題
主題 主題作者 討論區 回覆 最後發表
請問Excel列印的問題 Ken1655 軟體應用問題討論區 3 2004-05-23 09:23 AM
EXCEL VBA專案被鎖?? suchunta 軟體應用問題討論區 0 2004-05-19 04:29 PM
EXCEL 文件中有可以一次大量更改 超鏈結 的方法嗎!? 995 一般電腦疑難討論區 12 2003-11-27 11:50 AM
Microsoft Excel 問題 ascendaniel 一般電腦疑難討論區 3 2003-11-21 10:08 PM


所有時間均為台北時間。現在的時間是 11:03 AM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2025, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1