[[20070307162654]] 『COUNTA方法』(竹鶴) ページの最後に飛ぶ

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

 

『COUNTA方法』(竹鶴)
 こんにちわ
 早速質問なのですが 
   A	 B	 C
  商品	    在庫数	
 ・・・	東京	大阪
 ・・・	 ○	
 ・・・	 ○	
 ・・・		 ○
 ・・・		 ○
 ・・・		
 ・・・	 ○	
 ・・・	 ○	
  	空欄
     空欄	
 =========== ここまで表の罫線がある

 B列とC列の○だけの値を数えたくてVBA作ってます
 んで 表は予備として最後尾に何行か空欄行があります
 どうしても全行数を数えて空欄も数に加算されちゃうんです(泣
 できれば○だけの個数を出すにはどのような式にすればよいですか!
 (竹鶴)


 COUNTIF関数で○を数えればよいのでは?
あるいはループしてIFステートメントで○だったら変数に1加算していくとか。
COUNTAだと、=""で空白に見えているセルも数えますよ。
=""は文字長0の文字列だから、カウント対象。
(みやほりん)(-_∂)b

 (みやほりん)(-_∂)b さん
 ほむほむ
 IIf(a = Application.CountA(.Offset(1, 2)), "b") 'これ東京の部分
 本からこんなの見つけて書いてみたんですけど 数が貼り付けられるとこにb・・・て文字が出ちゃったりして苦戦ちゅです
 COUNTAだと空白も数えちゃうのですか 使い方間違ってました(照
 IFステートメントて私使ったことないのですが
 時間かかりますか?(涙
 あっCOUNTIFだと○以外に文字列が入った場合は対象ならないですよね
 (竹鶴)
  

 みやほりんさんが提示されたCountIf関数は?
 (seiya)

 >本からこんなの見つけて書いてみたんですけど
 >数が貼り付けられるとこにb・・・て文字が
失礼ですが、完全に的外れの構文です。引数も足りませんからコンパイルエラー。
このままでは動きもしないはずです。
 
一応解説しておきますと、
 「[不明なセル範囲]から一行下、二列右に移動したセル範囲の何らかの入力のある
 セル数と変数[a]が等しければ ["b"]という文字列、等しくなければ、[という記述
 が欠如]」
という関数になっていますので、書かれたとおりの動作をしているだけです。
 
次の構文はB列の○の入力されたセル数をカウントし、メッセージボックスへ表示します。
MsgBox WorksheetFunction.CountIf(Range("B:B"), "○")
 
> IFステートメントて私使ったことないのですが
> 時間かかりますか?(涙
そのやり方では時間がかかるでしょう。
それらしきサンプルを貼り付けて闇雲に実行しても上達しません。
(Excelの関数や基本機能も含めて)体系的に学ばれることをお勧めします。
(みやほりん)(-_∂)b


 (seiya)さん
 CountIfの方法も試してみたのですが 私が作成した表ではなく他の者が作成しているためなぜか関数入れようとしても=Countif(b:b,"○")をやっても弾かれるというか反映されない【(=countif(b:b,"○")とそのまま文字列に表示される】ので別のシートに合計を貼り付けなおしたいのです
 下手に表を変えたくはなかったのでxlsブックだけひらいて その○もしくは取寄せ中みたいな文字も入ってるので 一概に○だけ数えるのではなくて文字も対象となって、かつ、表の空白な罫線は対象外とできると理想なのですが

 情報が20行しかないのに 表は30行設けてあると30として数えられてしまうのです

 もっかい (みやほりん)(-_∂)bさん参考にがんばってみます
 (竹鶴)


 >弾かれるというか反映されない【(=countif(b:b,"○")とそのまま文字列に表示される】
セルの表示形式を標準にしてください。
>一概に○だけ数えるのではなくて文字も対象となって、かつ、表の空白な罫線は対象外とできると
「空白な罫線」がいかなるものか不明ですが、普通、セルの罫線はカウントされません。
>表は30行設けてあると30として数えられてしまうのです
COUNTA関数での結果ですか?何か入力があるのでしょうね。
 
=ROWS(B3:B10)-COUNTIF(B3:B10,"")
こういうのでカウントできませんか?
(みやほりん)(-_∂)b

コメント返信:

[ 一覧(最新更新順) ]


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