返回列表 上一主題 發帖

[發問] 請教國別筆數之計算

[發問] 請教國別筆數之計算

本帖最後由 偉婕 於 2010-10-1 05:01 編輯

我有上千筆資料,每一列算一筆資料
在A欄[國別]儲存格中,由一個或數個字串組成,中間以分號隔開
每個儲存格中之國家,不管出現的位置,或者是否重複,只要有出現僅計數1次

例如
國別
Wales
USA; USA; USA; USA; USA
USA; USA; Taiwan; USA
USA; USA; Italy; USA; USA
USA; Spain
USA; South Korea
Switzerland; Switzerland; Belgium; Italy; Belgium; Italy


國家         筆數
Wales        1
USA         5
Taiwan        1
Italy          2
Spain        1
South Korea     1
Switzerland      1
Belgium        1

目前問題是解決了,不過覺得自己的方法不是很有效率,所以,想請教各位有沒有什麼較有效率的技巧,謝謝!

991001.zip (11.76 KB)

偉婕電子書,歡迎免費下載參考
http://www.twbts.com/ebook/?subject=office
http://www.twbts.com/ebook/?subject=soft
偉婕藏書庫---https://www.facebook.com/groups/669579416484096/
有一家柑仔店---https://www.facebook.com/sadodona

本帖最後由 Hsieh 於 2010-10-1 08:08 編輯

E2=SUMPRODUCT(ISNUMBER(FIND($D2,OFFSET($A$1,,,COUNTA($A:$A),)))*1)
學海無涯_不恥下問

TOP

相當強的公式!
不知道上千筆時速度如何?

TOP

回復 3# oobird


    應該很慘
學海無涯_不恥下問

TOP

本帖最後由 偉婕 於 2010-10-2 00:21 編輯

謝謝[Hsieh]版主
我處理七千多筆的資料,不到幾秒鐘就OK了
真的高效率!!

現在有多一種方法可以讓我做為確認之用,謝謝!
偉婕電子書,歡迎免費下載參考
http://www.twbts.com/ebook/?subject=office
http://www.twbts.com/ebook/?subject=soft
偉婕藏書庫---https://www.facebook.com/groups/669579416484096/
有一家柑仔店---https://www.facebook.com/sadodona

TOP

回復 5# 偉婕

能有這麼好的速度嗎?
這應該是只判斷FIND字串是否存在
所以每個國名只需做7千多次判斷
可見內建陣列函數運算應該藏著比VBA更低階的語言
學海無涯_不恥下問

TOP

此公式會將[Serbia Monteneg]算在[Serbia]內且[North Ireland]算在[Ireland]內,同時[Serbia Monteneg]與[North Ireland]亦會再自己計數一次,變成會有重複計數的問題
不知要如何解決?謝謝!

例如
North Ireland; North Ireland
Ireland; Ireland
Ireland
Germany; Ireland
Canada; North Ireland; Peoples R China

結果
Ireland  5
North Ireland   2
偉婕電子書,歡迎免費下載參考
http://www.twbts.com/ebook/?subject=office
http://www.twbts.com/ebook/?subject=soft
偉婕藏書庫---https://www.facebook.com/groups/669579416484096/
有一家柑仔店---https://www.facebook.com/sadodona

TOP

回復 7# 偉婕
Function Word_Count(Word As String, WordRange As Range) As Integer
    Dim i As Integer, E As Range, A
    For Each E In WordRange
        For Each A In Split(E, ";")
            If Trim(A) = Trim(Word) Then i = i + 1: Exit For
        Next
    Next
    Word_Count = i
End Function

TOP

=SUMPRODUCT(ISNUMBER(FIND($D2,OFFSET($A$1,,,COUNTA($A:$A),)))*1)-(SUMPRODUCT(ISNUMBER(FIND($D2,OFFSET($D$1,,,COUNTA($D:$D),)))*1)-1)
學海無涯_不恥下問

TOP

回復 8# GBKEE

謝謝[GBKEE]版主,解決了[Serbia]重複計數[Serbia Monteneg]與[Ireland]重複計數[North Ireland]的問題


回復 9# Hsieh

[Hsieh]版主再提供的公式與我計算出來的結果有些出入
而且不明白[Hsieh]版主公式中的 (SUMPRODUCT(ISNUMBER(FIND($D2,OFFSET($D$1,,,COUNTA($DD),)))*1)-1) 為何要減1
謝謝!

991002-1.zip (14.87 KB)

偉婕電子書,歡迎免費下載參考
http://www.twbts.com/ebook/?subject=office
http://www.twbts.com/ebook/?subject=soft
偉婕藏書庫---https://www.facebook.com/groups/669579416484096/
有一家柑仔店---https://www.facebook.com/sadodona

TOP

        靜思自在 : 【停滯不前,終無所得】人都迷於尋找奇蹟,因而停滯不前;縱使時間再多、路再長,也了無用處,終無所得。
返回列表 上一主題