- 締切済み
エクセルでの桁数一致セルの個数
エクセルで、いくつか数字のデータがあるのですが、 そこから(例えば)3桁の数字が入ったセルがいくつあるのかを知りたい時は、どの様に関数を作ればよいのでしょうか。 データ数が多いので、 IF(AND(A1>=100,A1<1000),1,0)+IF(AND(B1... というようなふうには作れません。 うまく処理できないでしょうか。お願いします。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- grumpy_the_dwarf
- ベストアンサー率48% (1628/3337)
数値の桁数は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)
例データ 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)
No1です。 条件式は文字列のようですね。 ""の位置を変えてと文字列をつなぐ&で数式をいれることができました。(カッコが増えましたが) =COUNTIF($Sheet1!A1:$Sheet1!A300,">="&(10^(A1-1)))-COUNTIF($Sheet1!A1:$Sheet1!A300,">="&(10^A1)) 他にもイイ方法があるかもですが、countifにこだわってみました^^
- mu2011
- ベストアンサー率38% (1910/4994)
次の方法は如何でしょうか。 =SUMPRODUCT(ISNUMBER(A1:A100)*(LENB(A1:A100)=3))
- ksishi
- ベストアンサー率39% (17/43)
もっとイイ方法があるかも知れませんが・・・ =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)") の様な感じで実装したいのですが、無理みたいです。。