セル内の文字が「未」だったら、AP3セルに「=COUNTA($E3:$AO3)」からそのセル数を引きたいのですが、できますか?
と言いましょうか・・・

やりたいこと;
E3からAO26まで数値を入力しました。
各行ごとに、空白セルと「未」の文字が入力されているセルを除いた、合計セル数を計算させ、
結果を、各行のAP3からAP26に表示させたいのです。

初心者です。
できましたら、安易な言葉を遣って教えていただけると助かります。
よろしくお願い致します。

A 回答 (2件)

こんばんは!



>E3からAO26まで数値を入力しました。
文字列が「未」以外にないのであれば

AP3に =COUNT(E3:AO3)
AP26まで複写

でOKです。

もし他の文字列があるようなら
=COUNTA(E3:AO3)-COUNTIF(E3:AO3,"未")
もしくは
=COUNTIF(E3:AO3,"<>未")-COUNTBLANK(E3:AO3)
で試してみて下さい!
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
試してみましたところ、Hitです。
簡単な数式でよかったようですね。
別の文字列があるときの対処まで教えていただき、感激です。
今回は「未」のみなのですが、ご回答は大切に保存させていただきます。
本当にありがとうございました。

お礼日時:2002/02/20 00:04

COUNTIF($E3:$AO3,"未")で『未』の文字が入力されているセルの数が求まります。


COUNTBLANK($E3:$AO3)で空白セルの数が求まります。

よって
=COUNTA($E3:$AO3)-(COUNTIF($E3:$AO3,"未")+COUNTBLANK($E3:$AO3))
で目的のセル数が求められると思うのですが?

あってますか?
    • good
    • 0
この回答へのお礼

早速のご回答をありがとうございました。
残念ながら、100%うまく作動してくれませんでした。
私の説明が悪かったのかもしれませんね。
ですが、教えていただいた数式を何としても使うべく?試行錯誤しまして、次のように変換してみました。

教えていただきました数式;
=COUNTA($E3:$AO3)-(COUNTIF($E3:$AO3,"未")+COUNTBLANK($E3:$AO3))

変更しました数式;
=37-(COUNTIF($E3:$AO3,"未")+COUNTBLANK($E3:$AO3))

$E3:$AO3のセル数を数えて、数値(37セルありました)に直したのでした。
そうしましたら、一応,数が一致しました。
なので・・・合っているのでしょうか???(笑)。

すばらしいヒントをいただきまして、本当にありがとうございました。

お礼日時:2002/02/20 00:04

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

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

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

QSUMPRODUCT($A$1:$A$10,$B$1:$B$10)とSUMPRODUCT($A$1:$A$10*$B$1:$B$10)

エクセルのSUMPRODUCT関数についてお尋ねします。

=SUMPRODUCT($A$1:$A$10,$B$1:$B$10)

=SUMPRODUCT($A$1:$A$10*$B$1:$B$10)
の違いは何でしょうか?
両者とも同じ答えを返しますが、いろいろ試したところ、前者は範囲内に文字列があってもそれを無視して計算し、後者は文字列があればエラーになるようですが、その理解で正しいでしょうか?
正しいとすれば、なぜでしょうか?

Aベストアンサー

こんばんは。

配列計算をしているのは言うまでもありませんが、この、SUMPRODUCT は、必ず、内部のひとまとまりから計算するという性質を持っています。ただ、VBAのように左から時系列かどうかは、言語が違いますから、分かりません。しかし、この引数は、パラメータ配列になっています。そして、その引数それぞれの有効値を調べて、それを演算出来る値かどうか調べます。

文字列を入れてもエラーにならないのは、元々、そこに注釈などを入れるために考えられたものです。値を文字列か数値かを精査して演算するように出来ています。最初、SUM関数に対し、そのように作られました。プログラムとしては、初歩的なものですが、そのアイデアは、今日まで、踏襲しているようです。このオリジナルの仕組みを考えたのは、VisiCalc の開発者、ブルックリン氏です。昔々、本で読んだことがあります。 PRODUCT関数とも共通です。3つの関数は、同じような仕様を持っています。

こちらが、本来の使い方です。

=SUMPRODUCT($A$1:$A$10,$B$1:$B$10)

つまり、
$A$1:$A$10 と $B$1:$B$10 の値を別々に取得しています。

では、
=SUMPRODUCT($A$1:$A$10,$B$1:$B$11)

とすると、なぜ、エラーが出るかというと、$B$11 に対応する数値が、NULL値(有効な値がない)だからです。それは、全体に反映させてしまいます。(理由は分かると思いますが、プログラムが途中で、エラーで止まってしまうからです)

ところが、こちらは、

=SUMPRODUCT($A$1:$A$10*$B$1:$B$10)

$A$1:$A$10*$B$1:$B$10 は、分割出来ません。したがって、この数式の中でのエラーは、そのまま、元の数式に反映されます。

ご自分で、ユーザー定義関数を作ってみれば分かります。VBAでも、同じように作ることが可能です。一度、試してみるとよいです。

こんばんは。

配列計算をしているのは言うまでもありませんが、この、SUMPRODUCT は、必ず、内部のひとまとまりから計算するという性質を持っています。ただ、VBAのように左から時系列かどうかは、言語が違いますから、分かりません。しかし、この引数は、パラメータ配列になっています。そして、その引数それぞれの有効値を調べて、それを演算出来る値かどうか調べます。

文字列を入れてもエラーにならないのは、元々、そこに注釈などを入れるために考えられたものです。値を文字列か数値かを精査して演算...続きを読む

Q=IF(ISNA(VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)),"",VLOOKUP($A1,sheet2!$A$1:$B $

いつもお世話になってます。
以下の関数式について、お時間がありましたらどうぞご教示ください。

=IF(ISNA(VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)),"",VLOOKUP($A1,sheet2!$A$1:$B $12,2,FALSE))

「シート2の範囲指定した表にA1セルの値と同じ値の右隣になる値を返せ。ただし該当なき場合は空白とせよ。」

純粋になんでこのような構文になるのかが解りません。

1.ISNAってそもそもなんでしょう?
2.同じ式を繰り返すのはなぜ?
(模範式で、このように同じ式を繰り返す構文があまり無いように思えたのです。)

・参考となる他所のページがあれば教えて下さい。
・素人です。お手柔らかにお願いします。

(エクセル2003)

Aベストアンサー

1.ISNAってそもそもなんでしょう?
ISで始まる情報関数の一つで、#N/A!エラーのみを判定する関数
結果はTRUE(真),FALSE(偽)のいずれかになります。
エラー判定のIS関数には他に
ISERR:#N/A!を除くすべてのエラーを判定する関数
ISERROR:すべてのエラーを判定する関数
があります。

2.同じ式を繰り返すのはなぜ?
ISNAの判定する値がセルでなく数式の結果だからです。
A2=VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)
なら
A3=IF(ISNA(A2),"",A2)
ということになります。A2のように計算の為のセルを省略する為に
=IF(ISNA(数式),"",数式)のように同じ数式を2回繰り返しになってます。

Q"$B$32:$H$32,$K$32:$N$32,$P$32:$AH$32" を変数に置き換えたい

こんにちは。よろしくお願いします。いつもgooの皆さんには大変お世話になっています。
エクセルは2013です。どなたか教えてください。

質問内容
Wクリックの範囲指定が現状はこのようになっています
If Not Intersect(Target, Range("$B$32:$H$32,$K$32:$N$32,$P$32:$AH$32")) Is Nothing Then

行を指定する32を
Dim shg as long
shg=32
とした場合、上記の範囲指定を & と変数 shg でつなげていくと、あまりにも長くなってしまいます
もっとスマートな書き方はないでしょうか

Aベストアンサー

If Not Intersect(Target, Rows(shg), Range("$B:$H, $K:$N, $P:$AH")) Is Nothing Then

QEXCELの条件付き書式で、各行のE列よりも当該セルの値が大きい場合は

EXCELの条件付き書式で、各行のE列よりも当該セルの値が大きい場合は塗りつぶしを赤、小さい場良いには青にするには?

条件付き書式で、例えば
E15セルよりも値の大きいF15は赤、小さい場合は青
E16セルよりも値の大きいF16は赤、小さい場合は青
以下、同様
という書式絵っていをF列に等に設定したい場合に
条件記述の上手い方法が分かりません。
Exxのxxの部分が自動的にインクリメントされない気がするのですが
どうしたら、上記を実現できますか?

Aベストアンサー

添付画像のようにF15に対して条件付書式を設定します。

式入力の際にセル選択を普通にマウスクリックで行うと$E$15のように絶対セル表現になってしまうので、$が付かないセル表現にするのがポイントです。

これで、F15に書式設定できましたので、F15をコピーして
F16以降を選択して、
「編集メニュー→形式を選択して貼り付け」
を行い、書式だけを貼り付ければご所望の状態になると思います。

Qエクセル2003で、あるシートのAからCの各行のセル1からセル100

エクセル2003で、あるシートのAからCの各行のセル1からセル100にどんどん氏名を入力をしてゆき(つまり、A1からC100までということ)、それらの中で、ダブり入力をしてしまつた氏名を、D列のセルD1から下の行にどんどん表示をしてゆきたいのですが、、
出来ますでしょうか?

Aベストアンサー

エクセルは、同じ入力文字だと打ち込んだ時点で後が出てきますよね。
それを利用して、A1~A300まで打ち込んで見ては?
ダブりになる所は、勝手に氏名が漢字で出てくるので、気づいたら印をつければいいと思います。
A300まで打ったら100ずつ移動できるので。
ダブった氏名をD1から、メモを見ながら打ってはいかがですか?
よっぽど同じ氏名が出てくるのであれば、抜き取る事も出来ますが、二件や三件がいくつかなら関数ではよけい大変かと思います。


人気Q&Aランキング

おすすめ情報