• ベストアンサー

excellの関数について:

excellの関数について: 毎日変化する範囲内の空欄数を数えたいのです。 1行目は毎日の日付、2行目空欄もしくは文字列、2行目の空欄数を数えたい。1行目は毎日増えていきますのでカウントする範囲も当然増えます。COUNTBLANK、IF関数、TODAYとかを使ってみたのですが、どうもうまくいきません。教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.4

 回答番号:ANo.3です。  申し訳御座いません、自分で >今仮に、日付(←シリアル値)を入力するのがワークシートの1行目で、文字列を入力するのがワークシートの2行目であるとした場合、 と書いておきながら、数式では、動作確認のために試しに作成した際の行(16行目と17行目)に対応する形で書いておりました。  ですから、 =SUMPRODUCT(($16:$16>0)*($17:$17="")) は間違いで、正しくは =SUMPRODUCT(($1:$1>0)*($2:$2="")) となります。

asakomasako
質問者

お礼

意味するところはわかりましたので、前回の回答でOKでした。ありがとうございます。回答3のお礼の追加にも書いたのですが、列の場合(例えば、SUMPRODUCT(($A:$A>0)*($B:$B="")))にうまくいきません。windows bistaではOKだったのですが・・・どうして??

その他の回答 (3)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 今仮に、日付(←シリアル値)を入力するのがワークシートの1行目で、文字列を入力するのがワークシートの2行目であるとした場合、空欄をカウントするセルに、次の数式を入力すると良いと思います。 =SUMPRODUCT(($16:$16>0)*($17:$17=""))

asakomasako
質問者

お礼

すごい!!できちゃった。ありがとうございます。でもSUMPRODUCT関数は(,,,・・・)と行くものと思ってましたが・・(*)も使うんですね。感謝します。

asakomasako
質問者

補足

自宅のPC(windows bista:excell 2003)では問題なくできました。 行列の入替 をして、 =SUMPRODUCT(($K:$K>0)*($L:$L=""))などとしても、OKでした。 仕事先のPC(windowsXP、windows2000:excell book)では =SUMPRODUCT(($16:$16>0)*($17:$17=""))は問題ないのですが、 列の時は =SUMPRODUCT(($K:$K>0)*($L:$L=""))では、$K:$K>0にerrorメッセージがでてしまいます。困った!!

回答No.2

回答者1ですが解答欄のレイアウトが崩れていますので読み取っていただけたらと思います。

asakomasako
質問者

お礼

ありがとうございます。

回答No.1

月日  データ      月日                   入力数 40238 tou    >1                       =COUNTA(A2:A50) 40239   空白でないセル                空白のセル 40240 kai   =DCOUNTA(A1:B50,"データ",D1:D2)   =E2-D4 40241 40242 40243 こんな感じです。 まず、DCOUNTA 関数を使って空白ではないセルを数えます。 次は、普通に日付データーが入っているセルの数を数えます。差し引きすると空白のセル数が求められます。なお、日付の部分は、数式扱いで表示のため日付連番として表示されていますが、実際は日付です。 DCOUNTA 関数の使い方などは http://excel.onushi.com/function/dcounta.htm ほかを参考にしてください。条件をあらかじめ書いているところを利用するというちょっと他の関数とは異なる使い方です。

asakomasako
質問者

お礼

さっそくの回答ありがとうございます。まだ、私の中ではすっきりとはわからないのですが、考えてみます。

asakomasako
質問者

補足

この方法でも問題解決しました。ただ、「>1」の意味するところがわかりませんでした。

関連するQ&A