重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

エクセルで、いくつか数字のデータがあるのですが、
そこから(例えば)3桁の数字が入ったセルがいくつあるのかを知りたい時は、どの様に関数を作ればよいのでしょうか。

データ数が多いので、
IF(AND(A1>=100,A1<1000),1,0)+IF(AND(B1...
というようなふうには作れません。

うまく処理できないでしょうか。お願いします。

A 回答 (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)
    • good
    • 0

例データ


1122322345678
11222323145678
234567234534
112564511567
2桁の数の数
=SUMPRODUCT((LEN(A1:E5)=2)*1)
結果

ーー
3桁なら
=SUMPRODUCT((LEN(A2:E5)=3)*1)
結果

ーー
配列数式では
=SUM(IF(LEN(A2:E6)=2,1,0))
SHIFT、CTRL,ENTERキーを同時押し。
文字列があれば
=SUMPRODUCT((LEN(A2:E5)=3)*(ISNUMBER(A2:E5))*1)
    • good
    • 0

No1です。


条件式は文字列のようですね。

""の位置を変えてと文字列をつなぐ&で数式をいれることができました。(カッコが増えましたが)

=COUNTIF($Sheet1!A1:$Sheet1!A300,">="&(10^(A1-1)))-COUNTIF($Sheet1!A1:$Sheet1!A300,">="&(10^A1))

他にもイイ方法があるかもですが、countifにこだわってみました^^
    • good
    • 0

次の方法は如何でしょうか。


=SUMPRODUCT(ISNUMBER(A1:A100)*(LENB(A1:A100)=3))
    • good
    • 0

もっとイイ方法があるかも知れませんが・・・



=COUNTIF(A1:A300,">100")-COUNTIF(A1:A300,">999")

で、どうでしょうか?

この回答への補足

なるほど!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)")
の様な感じで実装したいのですが、無理みたいです。。

補足日時:2007/11/07 15:49
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!