
エクセル2000です。ワークシート関数での質問です。
特定の複数のセルのすべてに数値が入力されているかどうかの判定は、たとえば以下のような関数で調べられますね?
=AND(ISNUMBER(B2),ISNUMBER(C3),ISNUMBER(D4))
このように少ないセルならこれでもいいのですが、多くなってくるといちいち、セルの数だけISNUMBER()を書いていくのが大変になります。
'=ISNUMBER(B2,C3,D4)←これでは当然エラーになりますが、こんな感じで簡単に判定するワークシート関数はないのでしょうか?
No.7
- 回答日時:
=ISNUMBER(SUMPRODUCT(B2,C3,D4)) だと、
B2,C3,D4:E5 とかは、ダメなのでは?
調べたい数値にゼロが無ければ、配列数式で
=PRODUCT(B2*C3*D4:E5)
文字列があればエラー、ブランクがあればゼロになります。
他には、一発で出さないで、これも配列数式で
=ISNUMBER(INDEX(($B$2,$C$3,$D$4:$E$5),,,ROW(A1)))
下にコピーして、FALSEが無いか調べるとか。
それから、AREAS関数は、
=AREAS(D4:E5) これは 1
=AREAS((D4,E4,D5,E5)) これは 4
カンマで区切る時はカッコを二重にしなければなりません。
行数・列数を数えるROWS,COLUMNSのように、セルの数を数える関数があれば簡単なのかもしれませんけど、無いみたい・・・
> =ISNUMBER(SUMPRODUCT(B2,C3,D4)) だと、
> B2,C3,D4:E5 とかは、ダメなのでは?
そのようですね。範囲はダメみたいです。
そういうときは
=ISNUMBER(SUMPRODUCT(B2,C3,D4,D5,E4,E5))
で対処します。
> =AREAS((D4,E4,D5,E5)) これは 4
> カンマで区切る時はカッコを二重にしなければなりません。
またひとつものを覚えました。
ありがとうございました。
No.6
- 回答日時:
こんばんは。
Wendy02です。>指定したセルの数をいちいち指で数えるのもちょっと・・・。
それは、まあ、指で数えるか、それとも他のもので数えるかは、なんとも言えないものがありますが……。^^;(ちなみに、私がそのような仕事の時は、すべて電卓で数えていました。)
今、#5 さんの数式について、チェックしてみましたが、名前登録で、それぞれが別々な限りは、AREAS 関数で、ひとつとして勘定してくれるようですね。
今、いくつかやってみて、引数が、パラメータ配列 (COUNT がパラメータ配列で、COUNTBLANK は、範囲が引数)になっているものを使わなければ、バラバラの場所については、検索しませんね。あまり、この種のものに、わざとExcelの機能に制限を加えて考えてもクイズではないので、手を掛けてもしょうがないような気がしますね。^^; たぶん、将来に渡って解ける人はいるとは思いますが。
人それぞれですから、私なら、100でも、1,000でも、数えてしまいます。というか、業種とか職種に関わることで、そういう仕事だったし、そういう仕事の仕方を教わってきました。ただ、そういうものには、向き不向きがありますから、無理強いは出来ませんね。
そんな話は的外れでしょうから、パラメータ配列で作ってみました。
'-----------------------------------------------------
Public Function FISBLANK(ParamArray arg1() As Variant) As Boolean
'引数を複数許すISBLANK関数
Dim v As Variant
Dim c As Variant
Application.Volatile
For Each v In arg1
If TypeName(v) = "Range" Then
For Each c In v
If IsEmpty(c) = True Then
FISBLANK = True
Exit Function
End If
Next c
End If
Next v
End Function
'-----------------------------------------------------
使用例:
=FISBLANK(hanni)
=FISBLANK(hanni,A1)
引数を複数許すISBLANK関数、すごいですね!
今回は、
=ISNUMBER(SUMPRODUCT(B2,C3,D4))
でやりましたが、今後の参考にさせていただきます。
ありがとうございました。
No.5
- 回答日時:
NO3です。
他の方を参考に次の方法は如何でしょうか。
=COUNT(aaa)=AREAS(aaa)
aaaは対象範囲を名前定義をして下さい。
なんどもありがとうございます。
名前定義をすれば、OKでしたが、
=COUNT(B2,C3,D4)=AREAS(B2,C3,D4) では不可でした。
また、AREAS()ではセルが接続している場合(不規則なので、こういう場所もあります)、正しく数えてくれないことがありました。
No.4
- 回答日時:
こんにちは。
>配置に規則性はなく、範囲でもありません。
配置に規則性がないのでしたら、名前-定義(以下の場合は、"hanni")を付けて、COUNT関数とCOUNTA関数で比較すればよいのではありませんか?
=COUNT(hanni)=COUNTA(hanni)
これには、COUNTBLNAK関数は使えないようですので(引数の型が決められている)、ブランクがある場合は、予め、数を数えて、数で比較する必要があるかもしれません。
ありがとうございます。
COUNTとCOUNTAだけでは、入力値しか見てくれませんので、指定した複数のセルのすべてに数値が入力されているかどうかの判定には使えません。
=AND(COUNT(B2,C3,D4)=COUNTA(B2,C3,D4),COUNTBLANK(B2,C3,D4)=0)
が有効なら、これでも良いのですが、COUNTBLNAK関数は使えないようですのでダメですね。
指定したセルの数をいちいち指で数えるのもちょっと・・・。
No.1
- 回答日時:
範囲のセルなら
=SUMPRODUCT(ISNUMBER(A1:A10)*1)=10
で判定できます。
特定のだと
=NOT(ISERR(B2+C3+D4))
なら文字列(ブランクと数値変換できる文字列を除く)はFALSEとなります。
もっとも配置に規則性があればSUMPRODUCTで確認できますが...
B2,C3,D4→行と列が同じ(B=2,C=3,D=4)なら
=SUMPRODUCT(ISNUMBER(B2:D4)*(COLUMN(B2:D4)=ROW(B2:D4))=3
さっそくありがとうございます。
残念ながら、配置に規則性はなく、範囲でもありません。
特定なので、=NOT(ISERR(B2+C3+D4))を試すと、数値が無い場合もOKとなり、判定できませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
複数のセルのいずれかに数字がある場合に表示する関数
Excel(エクセル)
-
複数のセルを参照したい
Excel(エクセル)
-
IF, ISNUMBER, INDIRECTの組み合わせ方を教えてください。
Excel(エクセル)
-
-
4
【Excel】特定の文字を含むセルをカウントしない方法
Excel(エクセル)
-
5
エクセル if文で偽判定のとき、何も起こらないようにしたいのですが・・・
Access(アクセス)
-
6
エクセルで、日付を入力すると、別のセルに文字を自動的に表示させるようにするには。
Excel(エクセル)
-
7
EXCELで2つの数値のうち大きい方を採択する数式
Excel(エクセル)
-
8
マクロ オートフィルタの検索値を所定のセルから参照
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VLOOKUP FALSEのこと
-
【関数】【マクロ】売上X円以上...
-
【マクロ 画像あり】Exact関数...
-
空白処理を空白に
-
同じ名前(重複)かつ 日本 ア...
-
エクセルでフィルターした値を...
-
エクセルシートの見出しの文字...
-
空白のはずがSUBTOTAL関数でカ...
-
excel
-
if関数の複数条件について
-
【マクロ】数式を入力したい。...
-
Excelで4択問題を作成したい
-
Excel 複数のセルが一致すると...
-
Excel 日付の表示が直せません...
-
表計算ソフトでの様式の呼称
-
【マクロ】既存ファイルの名前...
-
【マクロ】エラー【#DIV/0!】が...
-
【マクロ】実行時エラー '424':...
-
エクセルの文字数列関数と競馬...
-
エクセルに写真が貼れない(フ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでフィルターした値を...
-
if関数の複数条件について
-
エクセルシートの見出しの文字...
-
excel
-
エクセルの文字数列関数と競馬...
-
VLOOKUP FALSEのこと
-
同じ名前(重複)かつ 日本 ア...
-
表計算ソフトでの様式の呼称
-
エクセルに写真が貼れない(フ...
-
【マクロ】数式を入力したい。...
-
【マクロ】実行時エラー '424':...
-
【画像あり】オートフィルター...
-
Office2021のエクセルで米国株...
-
【画像あり】【関数】指定した...
-
エクセルのVBAで集計をしたい
-
【マクロ】【画像あり】4つの...
-
【関数】3つのセルの中で最新...
-
【マクロ】excelファイルを開く...
-
LibreOffice Clalc(またはエク...
-
エクセルのライセンスが分かり...
おすすめ情報