[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『条件付きカウント』(きーちゃん)
excelを使ってある条件のもとで、数を数える、数えないようにしたいのですが。。。
【データ】
A列 B列
1 商品コード カウント数
2 0 0
3 100 0
4 200 0
5 300 1
6 555 1
7 555 0
8 800 1
9 810 1
10 950 1
11 800 0
合計カウント 5
◆条件1:「商品コード」が「0」「100」「200」のコードは数のカウントをしない。 ◆条件2:同じ商品コードが2つ以上ある場合、1つはカウントするが、2個目からはカウントしない。
最終的に『カウントの合計数を求めたい』のですが(この場合は5になるように)、どのように関数を組んだらいいのかさっぱりわかりませんので、どなたか教えていただきたいです。
きっとCOUNTやCOUNTIFを使うとおもうのですが…。
よろしくお願いします。 エクセルはexcel2003だと思われます。
B2セル=IF(OR(COUNTIF(A2,0),COUNTIF(A2,100),COUNTIF(A2,200),COUNTIF($A$2:A2,A2)>1),0,1) B12セル=SUM(C2:C11) といった数式で計算できそうです。
作業列(B列)を使わないとすると、以下のような計算でしょうか・・・(Hatch) Sub test() Dim x Dim i As Long, j As Long Dim a As Long, ans As Long x = Range("A2:A11").Value For i = 1 To UBound(x) a = 0 If x(i, 1) = 0 Or x(i, 1) = 100 Or x(i, 1) = 200 Then a = 0 Else For j = 1 To i If x(i, 1) = x(j, 1) Then a = a + 1 Next j If a <> 1 Then a = 0 End If If a = 1 Then ans = ans + 1 Next i Range("B12").Value = ans End Sub
> どのように関数を組んだらいいのかさっぱりわかりませんので、どなたか教えていただきたいです 「さっぱりわからない」という言葉は回答者側にはいい印象を与えない表現ですので 使用しないほうがいいと思います。 > きっとCOUNTやCOUNTIFを使うとおもうのですが…。 実際はある程度はわかっていますよね?
例外がありそうではありますが たとえば B1 =IF(OR(A1=0,A1=100,A1=200,COUNTIF($A$1:A1,A1)>1),0,1) フィルハンドルで下にコピー
とりあえずサンプルデータの場合なら可能です。
(えくせる青年)2010.1/10 21:49
質問の仕方についても的確なご指導ありがとうございます。 ただ、「COUNTやCOUNTIFを使うとおもうのですが」といのは、なんとなくこの関数を使用して数式を組むのではないかという私の勝手な推測でしたので、お力添えをいただいた限りです。 毎月発生するデータなので、有効に活用させていただきます。 ありがとうございました。(きーちゃん)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.