- ベストアンサー
特定範囲の不規則なセルを集計・順位付けしたいのですが・・・
A1~A50の範囲に、1-1~8-8の64個の文字列がランダムに入る可能性があるのですが、 その範囲内に出て来た文字列をカウントし、順位を付けるには どうすればよいのでしょうか?順位はRANKで行けると思うのですが、 最初のカウントがどうにも出来ず困っています。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは~♪ こんな表の場合で~す。。。 A B C D 1 2-3 3 1 1 2 3 2-3 4 1-4 2 3 3 5 2-5 3 1 2 6 2-3 7 2-5 8 2-6 1 4 4 9 1-4 10 2-5 11 A列の途中空白があるかどうかも わかりませんので。。。 ★例えば、B列を作業列にして 文字列の個数を表示します。 B1: =IF(A1="","",IF(COUNTIF($A1:$A$50,A1)=COUNTIF(A:A,A1),COUNTIF(A:A,A1),"")) 下にコピーします。 ★文字列の数が同じ場合は、 同じ順位にします。 C1: =IF(B1="","",RANK(B1,$B$1:$B$50)) 下にコピーします。 ★文字列の数が同じ場合でも 順位を付けます。 D1: =IF(B1="","",RANK(B1,$B$1:$B$50)+COUNTIF($B$1:B1,B1)-1) 下にコピーします。 カン違いならゴメンナサイ!! 。。。Rinでした~♪♪
その他の回答 (2)
- 134
- ベストアンサー率27% (162/600)
文字列の入っているセルの総数は、#1さまの書き込みの通り、COUNTA でできそうです。 また、「この文字」というのであれば、countif文もあります。 COUNTIF 指定された範囲に含まれるセルのうち、検索条件に一致するセルの個数を返します。 書式 COUNTIF(範囲,検索条件) 範囲 セルの個数を求めるセル範囲を指定します。 検索条件 計算の対象となるセルを定義する条件を、数値、式、または文字列で指定します。式および文字列を指定する場合は、">32"、"Windows" のように、半角の二重引用符 (") で囲む必要があります。 また、似たような機能で、配列関数をつかって =sum(if(条件,1,"")) と入力して、Ctrl+Shiftの状態でEnterを打ち、入力する関数もあります。
補足
アンケートなので範囲内に入力された文字列を個別にカウントする必要があります。 条件指定しまくり以外に、方法があるかなぁと思ったのですが厳しそうですね。
COUNTA関数使えませんか?
補足
やはりCOUNT関数系で全ての文字列を指定して 個数をカウントしてから順位を出すしかないのでしょうか?なんかスマートなやり方があるかなと思ったのですが。。
お礼
ありがとうございます!!求めていた表が作成出来ました。COUNTIFを上手く使えばこんなことも出来るんだなぁと感激しました。