- ベストアンサー
エクセルで…
countif関数を使い、ある列内で(例えば)文字列'0E1'の数をカウントしたいのですが、正しく動いてくれません。 どうやら'0E1','0E2'、…、'0E9' のような文字列は全て 0 と認識しているようです。 (表示形式を「標準」等にして'0E0'や、'0E1'と入力すると'0.00E+00'と表示される為、そう考えます。表示形式は「文字列」にしてあったので、しばらく気付きませんでしたが。) このような文字列は正しくカウントすることは出来ないのでしょうか? 出来るとしたらどうすれば良いのでしょうか?
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは~ とりあえずアスタリスク(*)をつけて、 =COUNTIF(A1:A10,"0E1*") のようにすればカウントしましたが・・・
その他の回答 (5)
- aotmu
- ベストアンサー率0% (0/2)
No1の方とNo4の方wミックスしたら良いと思います
- shiotan99
- ベストアンサー率68% (140/203)
No.4です。 ちょっと確認ですが、入っている文字列は 0E0 から 0E9 までですか? もし、0E10のようなものもあると、No.4の式では 0E1 も 0E10 もいっしょにカウントしてしまいます。 「0E1で始まる」データの個数になりますから・・・ 0E0 から 0E9 までなら、No.4 の式でできると思います。
お礼
ありがとうございました。 今のところ頂いた回答で解決できそうです。
補足
正確に言うと、ある列に英数字5桁の不特定の文字列をもつセルがいくつもあって、同列に自分と同じデータを持つセルの数をカウントさせたかったのですが、質問に挙げたようなデータパターンを含むセル(ex. "00E00" のような)の場合に正しくカウントできなかったのです。 たしかに"*"を付加したやり方だと"0E1"も"0E10"も同じようにカウントされてしまいますが、今回は固定長ですので大丈夫です!
(表示形式を「標準」等にして'0E0'や、'0E1'と入力すると'0.00E+00'と表示される為、そう考えます。表示形式は「文字列」にしてあったので、しばらく気付きませんでしたが。) 表示形式を「標準」にして入力すると'0.00E+00'になるように出来ており、これがカウントされない原因ではありません。 (1) "0E1" 等を入力するセルを NO1 の方が書かれた方法か、「表示形式」を「文字列」として から入力する。 (2) "0E1" の数を表示したいセルに次の式を入力る。 =COUNTIF(A1:A10,"0E1") <A1~A10の間の"0E1"の個数を計算する場合> これで出来ましたよ。もう一度やってみて下さい。
補足
…駄目でした。 具体的には以下のようにやりました。 ↓A1:A5に入力(表示形式=文字列)。 0E0 0E1 0E2 0E3 0E5 ↓B1に入力 =COUNTIF(A1:A5,"0E1") 結果=5
- tajitaji1957
- ベストアンサー率30% (31/102)
カウント対象に”●”のダブルコロンを付記されていますか? ●は任意のカウント対象です
補足
回答ありがとうございます。 はい、このようにしております。→「=COUNTIF(A:A,"0E1")」 初め、「=COUNTIF(A:A,0E1)」と入力してエンターを押したら「=COUNTIF(A:A,0)」となってしまいましたので…。 エクセル97だからでしょうか?
データが数字ではなく文字列であることをエクセルに明示的に知らせればよいのでは? 「0E1」→「'0E1」 が標準的なやり方だと考えます。
補足
回答ありがとうございます。 データの方(セルの文字列)の頭に'を付けるんですよね?試してみましたが、駄目でした。 やはり 0 と認識しているみたいです。
補足
すばらしい。 出来ました! ありがとうございました!