
説明するよりキャプチャーの方が分かりやすいと思って画像を貼りました。
A列からある数以上の値が入っているセル個数をカウントするために、
「=COUNTIF(A:A,">="&C1)」という数式を作りました。
C1に入っている値でカウントできるようにしていて、例では8000を入れています。
E1に入っている式だと、本来「5」が返されるべきですが「4」となる場合の対処法について質問です。
A列の表示形式が標準でも文字列でも正しく「5」とカウントしてくれましたが、
A3だけダブルクリック又はF2で編集状態にしてEnterすると、
セルの左上に緑の▲マークが出て、
「数値が文字列として保存されています」という警告が表示されます。
するとそこだけカウントされなくなります。
実際にはA列には数百レコードあるので、いちいちこの状態のセルをチェックせずに
正常にカウントするために、数式の工夫で対処できないでしょうか?

No.2ベストアンサー
- 回答日時:
おそらく、元々はA列のデータも文字列なんでしょうね。
>A列の表示形式が標準でも文字列でも
すでに入力されたデータのデータ型は表示形式では変えることはできません。表示形式は見た目(右寄せとか左寄せとか)を変える程度です。
ですから表示形式をいくら変えても元が文字列データで、C1も文字列なのでその時はうまくいっていたのかと思います。
ですが、A3を数値にしてしまうと、文字列の8000以上と数値の8000以上は比較できません(というか文字列は必ず数値より大きいと判断されるので桁とかの問題ではなく比較にならない)のでカウントの対象にならなくなってしまうのです。
>正常にカウントするために、数式の工夫で対処できないでしょうか
まずはすべてのデータ型を揃えるようにするしかないでしょうね。
全て文字列か全て数値か。
No.4
- 回答日時:
こんにちは
No2様のご指摘はごもっともと思います。
そのままでも無理矢理計算はできますが(後述)、面倒がって膠着をしていれば、いつまでたってもそのデータは使いにくい(=使い物にならない)データのままです。
そのデータを利用しようとする毎に、ご質問の問題が発生することになり、ご自分で解決することになりますけれど・・・?
数値化する簡単な方法は、
1)A列の書式を「標準」等に設定
2)数値の「1」をコピーしておきます
3)A列の値のあるセル範囲を選択した状態で、貼り付けのオプションから
値、乗算にチェックを入れてOK
以上の操作で、数値に変換できるものは変換されると思います。
(空白セルがあると「0」になりますので、ご注意)
さて、ご質問の件ですが・・
少々回りくどい方法ですが、
=SUMPRODUCT(NOT(ISERROR(1/(-A:A<=-C1)))*1)
で求められると思います。
No.3
- 回答日時:
COUNTIF関数では参照範囲にある文字列数字を数値に変換できないと思われます。
SUMPRODUCT(N(--(A:A>=C1)))で試してください。
※ -- で文字列認識の8002を数値変換しています。
No.1
- 回答日時:
A3のセルだけ、書式が数値でない、文字列として
判断されているので、カウントされてないんでしょうね。
A列の条件に、設定されてる値を「数値変換して」
判断するようにしてみたらいいんじゃないでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【Excel質問】 「本日の日付」から指定条件を満たす営業日経過後の日数を表示させる関数式 3 2022/06/06 23:28
- Excel(エクセル) エクセルで、 A1セルに「A」という値、 B1セルに「B」という値が入っています。 どちらも表示形式 5 2023/02/22 23:05
- その他(Microsoft Office) 【スプレッドシート】白色のセルをカウントしたい 2 2023/02/24 07:39
- Excel(エクセル) Countifよりも早く重複数をカウントする方法ありますか? 18 2022/07/04 13:39
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- Excel(エクセル) マクロだと数式が表示される 2 2022/09/10 14:48
- Excel(エクセル) 重複しているか否かをソートせずに判断する方法ありますか? 2 2022/07/06 21:16
- Excel(エクセル) Excel ユーザー定義で変換したセルについて 3 2023/02/04 01:25
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- Excel(エクセル) Excel countif関数で取り消し線のセルをカウントしないようにしたい countif関数で文 2 2023/08/21 10:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでアルファベットか数...
-
EXCELで=より左の文字を一括で...
-
アクセスで特定の数字以外(複...
-
エクセルで文字列の最大値を抽...
-
VBAでの Replace関数で、ワイル...
-
VBA2005 16進を2桁で表示したい。
-
【Excel VBA】複数ある特定の文...
-
文字列からタブコードを取り除...
-
textboxユーザーコントロールの...
-
A B C D E の五文字のすべてを...
-
SQL の Update文(?) と ...
-
エクセル 数値データを桁をそ...
-
アクセスでのインポート時の改...
-
同一セル内に関数と文字列を同...
-
OnTime 使用時のプロシージャへ...
-
【COBOL】文字列から数値項目に...
-
MS SQLServer のSQLで文字列の...
-
“丸(〇/○/◯)”に似た文字…
-
リストボックスの文字列の取得
-
wordマクロ 文字列A~文字列Bを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでアルファベットか数...
-
EXCELで=より左の文字を一括で...
-
文字列からタブコードを取り除...
-
VBAでの Replace関数で、ワイル...
-
エクセルで文字列をtxtファイル...
-
【Excel VBA】複数ある特定の文...
-
エクセル 数値データを桁をそ...
-
Excelで3E8を3.00E+8にしない方...
-
VBA2005 16進を2桁で表示したい。
-
エクセルで文字列の最大値を抽...
-
同一セル内に関数と文字列を同...
-
Left関数とRight関数を合わせた...
-
Excelで指数表現しないようにす...
-
MS SQLServer のSQLで文字列の...
-
VBの「As String * 128」とは?
-
エクセルでセル内の文字列の最...
-
ORCLEでの小数の表示方法の変更...
-
bashスクリプトでの文字列から...
-
LEFT関数で文字数を指定しない...
-
アクセスで特定の数字以外(複...
おすすめ情報