Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


64105 / 76733 ←次へ | 前へ→

【17211】Re:行数が特定されていないデータの計算について
発言  ichinose  - 04/8/24(火) 19:42 -

引用なし
パスワード
   ▼かーくん さん:
こんばんは。

>1.まず、以下の文ついてですが、これは書式のことだと理解していますが
>どのようなことを想定して入れたのでしょうか?なければないで
>良いものなのでしょうか?
>  .NumberFormatLocal = "G/標準"
これは、配列数式を設定するセルの書式が文字列に設定されていたりすると
数式の計算をしてくれません。よって、数式を設定する前に書式を標準に
しておくために記述しました。書式が文字列でなければ要りませんよ!!


>
>2.次の配列数式について、カウントを求める数式だと思うのですが、
>IS関数である「ISERROR」とは、私が調べた解釈だと、
>エラー値を検索するときに使用すると
>理解していたのですが、これは、どのように解釈すればいいのでしょうか?
>また、最後の部分の「,0,1)」が、これも調べたのですが、
>ヘルプには載っていなくて分かりませんでした。
>さらに、カウント数を求めるのに、何故、「SUM」なのでしょうか?
>
>  .FormulaArray = "=SUM(IF(ISERROR(FIND(1,A1:A" & _
>              rw & ")),0,1))"
Find関数は、検索する文字が見つからないとエラー値を返しますから、
Iserror関数を使って分岐しています。

つまり、Iserror関数の結果がTrueで1が含まれない、Falseで含まれる
ということになりませんか?

さらにIserror関数の結果がTrueなら、0、Falseなら1の合計(SUM関数)が
件数に相当します。

新規ブックに以下のコードをコピーして実行してみて下さい。
'====================================================
Sub Macro1()
  With Range("A1")
   .Value = 1
   .AutoFill Destination:=Range("A1:A20"), Type:=xlFillSeries
   End With
  Range("b1:b20").Formula = "=find(1,a1)"
  Range("c1:c20").Formula = "=iserror(b1)"
  Range("d1:d20").Formula = "=if(c1,0,1)"
End Sub

アクティブシートにコードの実行結果が表示されます。
B列では、
A1〜A20に対して1があるか否かを知るためにFind関数を使用しています。
結果、B列では、1が含まれないセルは、エラーになっていますよね?

C列では、
Find関数の結果をIserror関数を使用してTrueかFalseで結果を出しています。
1が含まれない(エラー値)は、True、1が含まれる(エラーではない)がFalse
という結果を出しているはずです。

D列では、
1が含まれるセルは1、含まれないセルは0

よって、このD列の合計が件数に相当します。

前回の配列数式は、この計算をしてくれる数式です。

尚、配列数式については、ここでは何回かリンクを貼りましたが、

http://pc21.nikkeibp.co.jp/special/hr/

を参考にして下さい。

わかりやすく説明されていると思います。

2 hits

【17124】行数が特定されていないデータの計算について かーくん 04/8/23(月) 15:25 質問
【17125】Re:行数が特定されていないデータの計算に... IROC 04/8/23(月) 15:30 回答
【17138】Re:行数が特定されていないデータの計算に... かーくん 04/8/23(月) 18:10 質問
【17139】Re:行数が特定されていないデータの計算に... IROC 04/8/23(月) 18:19 回答
【17140】Re:行数が特定されていないデータの計算に... かーくん 04/8/23(月) 19:00 質問
【17141】Re:行数が特定されていないデータの計算に... IROC 04/8/23(月) 20:37 回答
【17144】Re:行数が特定されていないデータの計算に... かーくん 04/8/23(月) 23:13 質問
【17152】Re:行数が特定されていないデータの計算に... IROC 04/8/24(火) 8:35 回答
【17160】Re:行数が特定されていないデータの計算に... ichinose 04/8/24(火) 12:15 発言
【17178】Re:行数が特定されていないデータの計算に... かーくん 04/8/24(火) 16:40 質問
【17211】Re:行数が特定されていないデータの計算に... ichinose 04/8/24(火) 19:42 発言
【17219】Re:行数が特定されていないデータの計算に... かーくん 04/8/24(火) 21:58 お礼

64105 / 76733 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free