• 締切済み

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

エクセルで、いくつか数字のデータがあるのですが、 そこから(例えば)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/17068)
回答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

  • エクセル:必ず指定の桁数で表示させるには?

    エクセルで、1桁の数字でも必ず指定した桁数になるように したいのですが、適切な関数はありますか? 例えば2桁で表示させたいとき、「2」は「02」となるように することです。 わからないので、とりあえずif関数を使って、10以上ならそのまま、 それ以外なら"0"&「そのセル」という風にしています。 text関数とかであるのでしょうか?

  • エクセルで複数のセルにセルにある数字を1つのセルに

    こんばんは、エクセルに関してあまり詳しくないので教えて頂けませんか? A1のセルに1 B1のセルに3 C1のセルに5と、数字が1~8まで並んでいます。 その数字を、ほかの一つのセルに、135~と8桁表示するにはどうしたらよいでしょうか? その数字はrank関数で入力されたものです。 詳しい方よろしくお願いいたいます!

  • エクセルの数字の桁数

    エクセル2000です。 3000行程のデータです。横に並べた3つのセル(A~C列)の数字をひとつのセルにまとめてD列に表示しようと思います。希望はゼロも含めて8桁の番号10036803にしたいのですが、ゼロがとれて13683になってしまいます。 なお、Dのセルには=A1&B1&C1としています。    A  B  C    D  1 1 00368 03  10036803 よろしくお願いします。

  • EXCEL 桁数を合わせた数値型セルの結合

    EXCELでのセル操作に関して下記のような結果を求めたいのですが、どういう関数なり操作を行えばいいのでしょうか? よろしくお願いします。 セルA(数値型) 123 セルB(数値型) 89 → セルC 12300089 セルA(数値型) 4567 セルB(数値型) 765 → セルC 456700765 ※セルBの部分を5桁扱いにしてセルCを完成させたいのです。 セルBの桁数が何桁になってもうまくいく方法を 教えてください。よろしくお願いします。

  • エクセルにて別々のセルにあるデータを、一つのセルに出して、その個数を合

    エクセルにて別々のセルにあるデータを、一つのセルに出して、その個数を合計にして出す、という風に行いたいのですが・・ Aセルに品物名、Bセルに品物の規格、Cセルに品物の個数 と入力して、 2~100まではα部署、101~200までがβ部署、201~300までがγ部署 と入力したとします。 ここから、各部署に入力したデータをまとめたいのですが、 AとBが一致した場合、Cに入力してある個数をまとめる、という具合にしたいのです。 例: α部署の所に、Aセルに「鉛筆」 Bセルに「10cm」 Cセルに「10個」 β部署の所に、Aセルに「鉛筆」 Bセルに「10cm」 Cセルに「8個」 とあった場合、一つにまとめて、鉛筆10cmは18個と出す。 上記のようにやるのにうまいやり方はないでしょうか? 数が膨大なためマクロか関数とかでまとめられたら教えていただきたいです。 宜しくお願いいたします。

  • エクセル関数/任意の桁数の数字1個1個を別々のセルに読み込む関数

    こんにちは 例えば、あるセルに123456という6桁の数字が入っていたとして、1、2、3、4、5、6の6個の数字をそれぞれ別々の(6個の)セルにコピーしてくれるようなエクセル関数はあるでしょうか?

  • エクセルの桁数表示

    エクセル2003を使っています。 セルの同じ列にたくさん数字を入れているのですが、その列の中から例えば6桁の数字は2つ、7桁の数字は4つある、という風にカウントしたいのですが、どの様にすればいいのでしょうか、教えて下さい。

  • エクセルで一つのセルの中の数字を並び替え

    エクセル2000にて、下記のような事は可能でしょうか? A1のセルに仮に「4321」と入力済みのデータがあるとします。 これをB1のセルに数字の小さな順番に「1234」と並び替えが出来る 関数は有るのでしょうか? 理由) 友人が過去のナンバーズ4のデータを持って来ました。 この数字は、全てストレートの当選数字なのです。 これをボックスの当選数字として並び替えて欲しいと言われました。 数字は4桁の数字を小さな数字から並び替えて欲しいと依頼されました。 色々と試行錯誤行いましたが上手くいきません。 どうか宜しくご指導頂きますようお願い致します。

  • Excel セル内の文字列の数字の桁数を増す方法について

    エクセル2000にて、セル内に4桁、6桁、7桁、8桁の文字列の数字が、別々に入っているとき、文字列の数字が7桁の時のみ 0 を書き加えて、8桁にする方法を教えてください。 例)A1 4001 33000018 6200095 →06200095 6100092 →06100092 4176 200025 6100061

  • EXCELで数字を入れて隣のセルに特定の文字を表示させたい場合

    仕事でエクセルを使い始めたばかりで、いくら調べてもいい案が 浮かびません。皆さんのお知恵を貸してください。 A列のセルに数値(5桁、もしくは6桁)を入力した時、 ・末尾が0の時は「営業所」、 ・末尾が9の時は「支店」 とB列のセルに表示させるようにしたいです。 営業所は数字が5桁で末尾が必ず「0」に、支店は数字が6桁で末尾が 必ず「9」になります。 自分なりにIF関数を使ってみましたが、♯NAME?のエラーが出るなど まったく進みません。 初歩的な質問で申し訳ありませんが、よろしくお願いいたします。

専門家に質問してみよう