[[20080514124407]] 『数える方法』(新米測定者) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『数える方法』(新米測定者)

毎日ある測定をするんですが、回数は最高10回までやります。
下がその結果の表になります。
 数えたいのは、その日の最終測定結果がゼロで終わった時

そのゼロが何個続いたかを数えたいのです。
12行目の様に、計算したいのです。
うまく説明出来ないですが、お願いします。

 	A	B	C	D	E
1		5/1	5/2	5/3	5/4	
2	1回目	9	0	0	1	
3	2回目	3	0	3	2	
4	3回目	1	7	4	13	
5	4回目	0	11	0	0	
6	5回目	0	0	0	2	
7	6回目	1	0	0	0	
8	7回目		0		0	
9	8回目				0	
10	9回目				0	
11	10回目				0	
12		0	3	3	5	


 12 行目が空白だとします。(あるいは 12行目に1行挿入します)
 12 行目にカーソルを置いて、Ctrl+[↑] で、各列のデータ最終行がわかります。

 そのセルが 0 以外だったら、カウント 0
 そのセルが 0 だったら、0 でなくなるセルまで上へさかのぼっていく

 というような考えではどうでしょう?

  (kanabun)


  (kanabun)さん回答ありがとう御座います。

すいません。
いまいち理解出来ないです、どの様な関数式にすれば計算出来るか
解りません。

宜しくお願いします。


 一例です。B12セルに↓を入れ、右にコピー。
=IF(OFFSET(B$1,COUNT(B$2:B$11),0)=0,
MAX(INDEX((B$2:B$11=0)*(B$2:B$11<>"")*ROW(B$2:B$11),0))-
MAX(INDEX((B$2:B$11<>0)*(B$2:B$11<>"")*ROW(B$2:B$11),0)),0)
※改行してます。
 1行目:B1セルからB2:B11セルで数値の入っているセル数分、下がったセルの値が0かどうかの条件式
 2行目:B2:B11セルの値が 0で空欄でない条件(TRUE=1,FALSE=0)に、その行番号を掛けた値の配列の最大値を求め、
 3行目:B2:B11セルの値が 0でなく空欄でない条件(TRUE=1,FALSE=0)に、その行番号を掛けた値の配列の最大値を求めています。
 1行目がTRUEの場合、2行目の結果-3行目の結果。FALSEの場合、0 となります。
※上から順に数値入力されている事が条件です。空欄や文字列があると正しく計算できません。
(sin)


 ※途中に空白セルがないものとします。
 B12
 =COUNT(B2:B11)-MAX((B2:B11<>0)*ROW(B1:B10))
 配列数式なので、Ctr+Shift+Enter で確定。
 右にコピー。
 でいかがでしょう。

 下記のように考えています。
 1.列に数値の入っているセルの数をカウント。
 2.その内、0でないセルに1〜10(何行目か)の数値を当てはめる。
 3.その中で最大の数値を求める。
 4.1の数値から3の数値を引く。
 (kkk)

 こんにちは、だるまです。
http://hp.vector.co.jp/authors/VA033788/index.html

 ユーザー定義関数で作ってみました。
 使い方は、=CountZero(B2:B11) のような感じです。^d^

 Function CountZero(Target As Range) As Integer
    Dim i As Integer
    Dim C As Integer

    With Target
        For i = .Cells.Count To 1 Step -1
            Select Case .Cells(i).Value
                Case ""
                Case 0
                    C = C + 1
                Case Else
                    Exit For
            End Select
        Next
    End With
    CountZero = C
 End Function


 こんにちは〜♪

 あとから、失礼します。

 B12セルへ
 =COUNT(B1:B11)-MATCH(0,INDEX(0/B1:B11,))

 右へコピーします。。。

 じゃ、ダメかな〜。。。

 。。。Ms.Rin〜♪♪


皆さんのおかげで解決しました。
色々なやり方があるので参考になりました。

有り難う御座いました。(新米測定者)


 Ms. Rinさん♪ オヒサでーす。
             この「0」少々リスキーではないですか?「1」の書き間違いですか?
                 ↓
 B12セル =COUNT(B1:B11)-MATCH(0,INDEX(0/B1:B11,))

 行   __A___  ___B____
  1           2008/5/4
  2   1回目          1
  3   2回目          2
  4   3回目         13
  5   4回目          0
  6   5回目          2
  7   6回目          0
  8   7回目          1
  9   8回目          1
 10   9回目          1
 11   10回目         0
 12                  5 ←

 (半平太)


 半平太さん
 ごぶさたで〜す。。。♪

 >               この「0」少々リスキーではないですか?「1」の書き間違いですか?
 >                  ↓
 > B12セル =COUNT(B1:B11)-MATCH(0,INDEX(0/B1:B11,))

 あら〜ッ!!

 いろいろ試していて、検索値が 1 で出来た〜!!と思っていながら
 そそっかしいので、検索値が、0 の式をアップしてしまいました。。。

 半平太さんのおっしゃる通りです。。。

 いつもフォローありがとうございます。。

 という事で。。。
 私の式は
 B12セルへ
 =COUNT(B1:B11)-MATCH(1,INDEX(0/B1:B11,))

 でした。。。

 。。。Ms.Rin〜♪♪


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.