エクセル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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelの入力規則にいれる関数について 7 2022/12/22 10:19
- Excel(エクセル) SUMIFのIF分岐について 4 2023/04/15 12:57
- Excel(エクセル) <スプレッドシート>IF関数の複数条件について 5 2022/10/27 14:38
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Excel(エクセル) ExcelのIF関数について 4 2023/05/24 12:54
- Excel(エクセル) エクセルの関数に関しての質問です。 5 2022/10/07 11:17
- Excel(エクセル) エクセルの数式で教えてください。 3 2022/12/22 17:29
- Excel(エクセル) エクセル関数について 2 2022/04/13 18:25
- Visual Basic(VBA) エクセル関数のことで質問です。 別シートセルから値をもってくるように関数を設定しているときに、 別シ 3 2023/01/31 14:10
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
このQ&Aを見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
複数のセルのいずれかに数字がある場合に表示する関数
Excel(エクセル)
-
複数のセルを参照したい
Excel(エクセル)
-
エクセルで指定したセルのどれかに○がはいっていたら○を表示したいです。
その他(コンピューター・テクノロジー)
-
-
4
ある範囲のセルから任意の値を検索して、その隣のセルの値を取得するという関数はありますか?
Excel(エクセル)
-
5
【エクセル】関数で「A1が0でないならB1を表示」の式
その他(コンピューター・テクノロジー)
-
6
エクセルでアルファベットか数値の判定をしたいのですが
Excel(エクセル)
-
7
エクセルで、「複数のセルの中に"が一つでもある時」の式は
Excel(エクセル)
-
8
値が入っているときだけ計算結果が表示されるようにするには・・?
Excel(エクセル)
-
9
エクセルで、日付を入力すると、別のセルに文字を自動的に表示させるようにするには。
Excel(エクセル)
-
10
対象セル内(複数)が埋まったら文字を表示させたい
Excel(エクセル)
-
11
LARGE関数 飛び飛びの範囲を指定
Excel(エクセル)
-
12
複数のセルすべてに数値が入れば別セルに1と入力
Excel(エクセル)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
在庫管理表に使うエクセルの関...
-
下記マクロでMsgBox "空白です...
-
REGEXREPLACE関数について、
-
エクセルでバーコード作成し使...
-
【マクロ】for next構文について
-
ユーザー定義関数をアドイン登...
-
職場の人から聞かれており、こ...
-
Excel関数-文字列で自動作成さ...
-
エクセルで表
-
PDFの請求明細をエクセルにしたい
-
エクセルの関数について教えて...
-
Excelデータをコピペして、ペー...
-
スプレッドシート、Excelでの数...
-
LOOKUP関数を使えばいいのでし...
-
Excel VBについての質問です。
-
【マクロ】 IFERROR関数をマク...
-
エクセル日付 文字列の関数がエ...
-
【マクロ】読取専用のファイル...
-
【マクロ】その時、その時で変...
-
時間によってファイル名が変わ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA、別ブックへ転記す...
-
エクセルでの作業計算方法について
-
時間によってファイル名が変わ...
-
【関数】適切な文字数の数字を...
-
Excelについて教えてください
-
エクセル初心者です 関数の入れ...
-
【マクロ】ファイル名の変更に...
-
UNIQUE関数が使えないバージョ...
-
エクセルの計算
-
【関数】先頭だけにある、半角...
-
Excelで、決まった行を繰り返し...
-
Excelでセルの値が同じか...
-
LOOKUP関数を使えばいいのでし...
-
Excel
-
はがきについて。
-
エクセルの条件付き書式につい...
-
エクセルのデーターが2か月前の...
-
エクセル②
-
エクセルで「-0.0」と表示さ...
-
Microsoft1Officeの互換ソフト...
おすすめ情報