• 締切済み

エクセルでの桁数一致セルの個数

エクセルで、いくつか数字のデータがあるのですが、 そこから(例えば)3桁の数字が入ったセルがいくつあるのかを知りたい時は、どの様に関数を作ればよいのでしょうか。 データ数が多いので、 IF(AND(A1>=100,A1<1000),1,0)+IF(AND(B1... というようなふうには作れません。 うまく処理できないでしょうか。お願いします。

みんなの回答

回答No.5

数値の桁数はint(log(数値))+1で出るんだけど、logを含むから文字 列や空白や0があるとエラーになるんですよね。lenは小数点がある と使えないし。というわけで、ksishiさんの回答をベースにして、 moji     0    1780 5780    1260   10440 135.2   2500    8000 500    1360    600 10560   1050    640 2210    1260    370 =sumproduct((A1:C6>=10^(桁数-1))*1, (A1:C6<10^桁数)*1)

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.4

例データ 112 232 23 45 678 112 2 2323 145 678 23 4567 23 45 34 112 56 45 1 1567 2桁の数の数 =SUMPRODUCT((LEN(A1:E5)=2)*1) 結果 8 ーー 3桁なら =SUMPRODUCT((LEN(A2:E5)=3)*1) 結果 7 ーー 配列数式では =SUM(IF(LEN(A2:E6)=2,1,0)) SHIFT、CTRL,ENTERキーを同時押し。 文字列があれば =SUMPRODUCT((LEN(A2:E5)=3)*(ISNUMBER(A2:E5))*1)

  • ksishi
  • ベストアンサー率39% (17/43)
回答No.3

No1です。 条件式は文字列のようですね。 ""の位置を変えてと文字列をつなぐ&で数式をいれることができました。(カッコが増えましたが) =COUNTIF($Sheet1!A1:$Sheet1!A300,">="&(10^(A1-1)))-COUNTIF($Sheet1!A1:$Sheet1!A300,">="&(10^A1)) 他にもイイ方法があるかもですが、countifにこだわってみました^^

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

次の方法は如何でしょうか。 =SUMPRODUCT(ISNUMBER(A1:A100)*(LENB(A1:A100)=3))

  • ksishi
  • ベストアンサー率39% (17/43)
回答No.1

もっとイイ方法があるかも知れませんが・・・ =COUNTIF(A1:A300,">100")-COUNTIF(A1:A300,">999") で、どうでしょうか?

gajiji
質問者

補足

なるほど!countifで範囲指定が出来たんですね。 ありがとうございます。 countifの条件式で他のセルを参照させることは出来ないのでしょうか。 結果画面に    A  B 1 2桁 ○個 2 3桁 ○個 3 4桁 ○個 : :  : の様に表示させたいのです。 =COUNTIF($Sheet1!A1:$Sheet1!A300,">=10^(A1-1)")-COUNTIF($Sheet1!A1:$Sheet1!A300,">=10^(A1)") の様な感じで実装したいのですが、無理みたいです。。

関連するQ&A

専門家に質問してみよう