お世話になります。


数式が入っていてブランクになっているセルをカウントせずに文字が入ったセルの個数のみをカウントするにはどうしたらよいのでしょうか?困っています教えてください。COUNTBLANK関数を使うのですか?

A 回答 (2件)

空白セル(未入力)、空白文字列( "" )、空白でない文字列("ABC")、数値(1234)のうち、



=COUNTBLANK(範囲) :空白セルと空白文字列を数える。
=COUNTA(範囲) :空白文字列と空白でない文字列を数える。
=COUNT(範囲):数値を数える

なので、

「空白でない文字列だけ数える」だと
=ROWS(範囲)*COLUMNS(範囲)-COUNTBLANK(範囲)-COUNT(範囲)

「空白でない文字列と、数値を数える」だと
=ROWS(範囲)*COLUMNS(範囲)-COUNTBLANK(範囲)

となります。ROWSは行数、COLUMNSは列数を求める関数です。
    • good
    • 4
この回答へのお礼

早速の返答有難う御座います。問題解決できました。本当に困っていたので助かりました。

お礼日時:2005/04/03 10:52

おっしゃるとおりです。

以下のようにすれば文字の入ったセルの個数のみカウントできるでしょう。

=COUNTA(F8:F14)-COUNTBLANK(F8:F14)
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qcountaで空白セルもカウントされてしまう

エクセル2003で、counta関数を使って何かが入力されているセルの数を数えているのですが、
何も入力されていないセルまでカウントされてしまいます。

その何も入力されていないように見えるセルは、スペースもなにも入力されておらず、
そのセルの上でDelキーを押すと、そのセルはカウントされなくなります。
空白に見えるセルをDelキー押していけばいいのですが、空白に見えるセルが大量にあるので、1つ1つDelキーを押していくのは大変です。

空白に見えるセルをカウントしないようにする方法ありますでしょうか?

Aベストアンサー

式の結果が""を返す状態で値貼り付けなどをすると、そのセルは見た目空白ですが実は長さ0の文字列が入っていることになりCOUNTAで数えてしまいます。

式で数えるなら

=COUNTIF(範囲,"?*")

で数えるか(但し文字列データのみ。数値データが混じっているならCOUNT関数と併せて使う)、その対象列を選択し、データ→区切り位置→完了とすると空白セルに戻りますのでそれからCOUNTA関数を使って下さい。

Q数式の計算結果により表示されたセルを数える関数を教えてください

Excel2003です。
「=COUNTA(範囲)」で文字や数値、式などのデータが入力されているセルを数えることができますが

数式の計算結果により表示された文字や数値の入ったセル(数式の計算結果で空白のセルを数えない)を数える関数を教えてください
 

Aベストアンサー

一例です。
=SUMPRODUCT((範囲<>"")*1)

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

QSUMIFS関数で「計算式による空白以外」を条件に指定したい

SUMIFS関数のいくつかの条件の中で、,B1:B10,"<>",とすれば、
B1~B10の空白以外ということになるのは調べてわかったのですが、
B1~B10に式が入っているため、空白と判断されません。
たとえば、=IF(A1=10,"",C1*D1)のような感じで、
A1が10でB1が空白になっている場合、空白とみなされないようです。
計算式による空白以外を条件にするにはどう記述すればいいのでしょうか?

Aベストアンサー

こんばんは。

例:
B1:~B10
=IF(A1=10,"",C1*D1)

A B
10   
1   20
2   30
3   42
4   56
5   72
6   90
7   110
8   132
9   156

としますね。(C列,D列は省略します)

"<>"では数式が入っているとうまく行きません。(Excel 2010)
----------------------------------------------------
 =SUMIFS(A1:A10,B1:B10,"<>*")

これはどうでしょうか?

結果
B列の数式に「""(長さ0の文字列)」が入っている場合は、
 45
Empty(空)の場合は、
 55
----------------------------------------------------
しかし、最初の数式
=SUMIFS(A1:A10,B1:B10,"<>")
では、
B列の数式に「""(長さ0の文字列)」が入っている場合は、
 55
Empty(空)の場合は、
 45
 
と逆の結果になりました。

本来は、">0" とか、"<>0"とかにすればよいとは思います。
ちなみに、""の[長さ0の文字列]を探す数式は、

=SUMIFS(A1:A10,B1:B10,"<""")

とすれば、結果は、10となります。

こんばんは。

例:
B1:~B10
=IF(A1=10,"",C1*D1)

A B
10   
1   20
2   30
3   42
4   56
5   72
6   90
7   110
8   132
9   156

としますね。(C列,D列は省略します)

"<>"では数式が入っているとうまく行きません。(Excel 2010)
----------------------------------------------------
 =SUMIFS(A1:A10,B1:B10,"<>*")

これはどうでしょうか?

結果
B列の数式に「""(長さ0の文字列)」が入っている場合は、
 45
Empty(空)の場合は...続きを読む

Q【Excel】特定の文字を含むセルをカウントしない方法

エクセルで特定の文字列(仮に「key」とします)を"含む"場合の関数は、

=COUNTIF(A1..A20,"*key)

で処理できるのは分かっているのですが、

特定文字列(key)を"含まない"場合の処理方法が分かりません。
VBAなどを介さずに関数だけで処理する方法がありましたら、ご教示願います。

Aベストアンサー

=COUNTIF(A1:A20,"<>*key*")
でできませんか?

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

QエクセルのCOUNTIFが正しくカウントされない原因について

この度はよろしくお願いします
エクセルのCOUNTIFで、例えば列Aに0~9までの数がランダムに入っているとします。それをカウントすると0~4まではきちんとカウントするのですが、5~9までのカウント数が0になってしまいます。実際には5~9までの数も含まれているのですが、このようになってしまう原因は何でしょうか?
よろしくお願いします。

Aベストアンサー

同じ半角の5に見えていても、数値扱いと文字扱いになっている場合があります
COUNTIFを使う前に、VALUEで数値に統一してみて下さい

Qエクセルで条件に一致したセルの隣のセルを取得したい

下のような「得点」という名前のシートがあります。
(「田中」のセルがA1です。)

 [ 田中 ][ 10 ][ 200 ]
 [ 山田 ][ 21 ][ 150 ]
 [ 佐藤 ][ 76 ][ 250 ]
 [ 鈴木 ][ 53 ][ 350 ]

別のシートのA1セルに、「佐藤」と入力すると、

 [ 佐藤 ]

「得点」シートから「佐藤」の列を見つけて、B1、C1に

 [ 佐藤 ][ 76 ][ 250 ]

のように表示させたいのですが、B1、C1にはどのような式を書けば良いのでしょうか。
「得点」シートでは氏名が重複する事はありません。
IF文を使うと思うのですが、いまいち良く分かりませんでした。

よろしくおねがい致します。

Aベストアンサー

こんにちは!
VLOOKUP関数で対応できます。
IF関数と併用すればエラー処理が可能です。

Excel2007以降のバージョンであれば
B1セルに
=IFERROR(VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0),"")
としてC1セルまでオートフィルでコピー!
そのまま下へコピーすると行が2行目以降でも対応できます。

Excel2003までの場合は
=IF($A1="","",VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0))

としてみてください、m(_ _)m

QSUMIF関数で、「ブランク以外を合計」を指定したい

SUMIF(範囲,検索条件,[合計範囲])
の、検索条件部分に、
「セル内に数字、文字をとわず、とにかく何か入力されていたら合計する」
といった意味合いの条件を指定したいのですが、その方法がわかりません。

画像で説明させていただくと、
A2のセルにSUMIF関数を用いて、
文字が入力されているc,d,e列の数値を合計し、
90という結果が欲しい、ということです。

どなたかご教授をお願いいたしますm(__)m

Aベストアンサー

こんばんは。

なんか皆さん難しく考えすぎのような・・・
SUMIF関数でできますよ。検索条件を空白以外とすればいいだけです。
=SUMIF(B2:F2,"<>",B1:F1) でできます。

Qエクセルで空欄の場合は計算しない方法

A1をA2から引いて答えをA3に入るようにしました。
A1には必ず数字が入るのですがA2は確定したら数字を入れます。
A3の合計を出したいのですがA2に何も記入していない場合0と判断され計算されるので、合計が合いません。
A2に数字を入れて初めて計算されるようにするにはどうしたらいいでしょうか?

Aベストアンサー

セルの中身が空白かどうかチェックするISBLANKという関数があります。

=IF(ISBLANK(A2),"",A1+A2)

こうすれば、A2がブランクの時、この式は長さゼロの文字列を返します。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報