- 締切済み
VBAで複数条件に合致した件数を数える
A B C 1 code 質問1 質問2 2 0001 1 3 3 0001 2 3 4 0001 1 2 5 0005 2 1 6 0005 3 2 7 0005 2 3 8 0007 1 2 9 0007 2 3 というようなデータがある中で、 code「0001」と質問2「3」を同時に満たすデータの件数を数えたいのですが、 VBAでコードを作る際にはどのようにすればよろしいでしょうか? ちなみにセルはA2という形ではなくcells(2,1)という形を使うことも条件の一つです。
- みんなの回答 (3)
- 専門家の回答
関連するQ&A
- Excel 複数条件に合致するデータの件数を返す関数は??
複数の条件に合致するデータの件数を出したいのですが、どうしたら良いでしょう?? データは 性別コード|年令コード 1|3 2|1 1|4 1|5 1|1 2|5 といった具合に入力されていて、 性別=1かつ年令=1 の件数はいくつか、というものを出したいのです。 配列数式で {=Count(If(A1:A10=1,B1:B10,""))} 試して見たんですが、一つの条件に合致する件数のみしかカウントできません。(例えば、性別=1の件数) 複数条件のカウントをするにはどうしたら良いでしょうか? ご存知の方がいらっしゃいましたら、教えて下さい。
- ベストアンサー
- オフィス系ソフト
- VBA 各条件にあう件数を抽出
現在VBAで添付画像のフォーマットから条件に合う個数をカウントする、プログラムを作成しようとしています。 内容としては、 申告日のセルから指定された期間の各ステータス合計値を求めたいです。 例. 期間:2012/12/1~2012/12/31 ステータス:A 14 ステータス:B 6 ステータス:C 3 ステータス:D 3 ステータス:E 5 上記のような形で各ステータスの件数を拾いたいのですが、何かいい方法などはあるでしょうか。 現在、オートフィルタの機能を使用し、件数を抽出しようと思いましたが、うまくいきませんでした。 以上、宜しくお願い致します。
- ベストアンサー
- Visual Basic
- 【画像あり】複数条件の件数カウントについて
タイトルの件、質問いたします。 下記の図の、シート2の条件が下記の件数をカウントできる関数を、シート1のB2セルに 作りたいです。 【条件】 A列【受付日】が、4月中で かつ B列【地域 】が、東京で かつ C列【分類1】が、A の件数 ご存知の方、いらっしゃいましたら、宜しくお願いします。
- ベストアンサー
- オフィス系ソフト
- VBAの複数条件分岐について
VBAで下記の構文を使用してシート1にある表より 条件に合致するもののみシート2に抽出するようにしています。 現在はシート1のE2セルの値がシート1のB列の値と比較して 該当するものを抽出しています。 この条件が、 シート1のE1のセルの値が20より小さい場合、 かつE2のセルの値がシート1のB列の値と比較して該当するものを シート1に貼り付け、 シート1のE1のセルの値が20以上の場合、 かつE2のセルの値がシート1のD列の値と比較して該当するものを シート1に貼り付ける というような条件に変えたいのですが どのように変更したらよろしいのでしょうか。 よろしくご教授下さい。 ちなみに現在使用している構文です。 これもきれいな構文かはわからないのですが・・・ Sub test() Dim sh1 As Worksheet Dim sh2 As Worksheet Set sh1 = Worksheets("Sheet1") Set sh2 = Worksheets("Sheet2") k = 1 sh2.Cells(k, "B") = sh1.Cells(1, "A") sh2.Cells(k, "C") = sh1.Cells(1, "B") k = k + 1 d = sh1.Range("A65536").End(xlUp).Row For i = 2 To d If sh1.Cells(i, "B") <= sh1.Range("E2") Then sh2.Cells(k, "B") = sh1.Cells(i, "A") sh2.Cells(k, "C") = sh1.Cells(i, "B") k = k + 1 End If Next i sh2.Activate End Sub
- ベストアンサー
- オフィス系ソフト
- 2つの条件に合致するVBAの作り方
VBA 初心者です。 エクセルで 会員ID(A列) 法人名( B列) 部署名(C列) お名前(姓)(D列) お名前(名)(E列) 購入日 (F列) ・ ・ 以下3500行くらい続く という感じのダウンロードデータがあります。 1.姓と名前が一致したら(同じ人)ならカウントしない (新規購入時のみカウントする) 2.年月別で(日もデータにありますが年月別で)購入者数を出したい(法人と個人でそれぞれカウントする) 法人購入はセルに記入あり、個人は空白セルになっています。 というプログラムをつくりたいのですが、2つの条件にあてはまるとこでつまづいています。 とてもVlookupとか試してみたのですがエラーになります。 助けて下さい!! .
- 締切済み
- オフィス系ソフト
- エクセルVBA 不規則な条件に合致する場合
エクセル2002 VBA での質問です。 A列に100~9999の数値データが不規則に存在しており、 105 108 113 114 121 531 553 2160 ・・・・・ のような不規則な値と合致するときに B列の処理をしたい場合のコードはどのように記述しますか? 私は for MyRow=1 to (最終行) if (cells(MyRow,1) =105 or cells(MyRow,1) =108 or cells(MyRow,1) =113 ・・・) then B列の処理 end if next MyRow のように If文 のなかで or を用いて全てを記述するかElseif でつなぐ方法しか思いつきません。 抽出対象の値は今後メンテナンスする必要はないのでコード内に記述しても構わないのですが or や ElseIf を多用するのもどうかと思っています。 ※現実には50個ほどの条件での合致を検出したいです。 みなさんならどのように記述されるでしょうか?
- ベストアンサー
- オフィス系ソフト
- 複数条件抽出をVBAで
excelの複数条件抽出をVBAでやりたいので教えてください。 エクセル2003で複数条件抽出をしたいと思っています。 dateのシートに、A列:日付、B列:名前、C列:金額があります。 それを1というシートに、日付と名前の2つの条件が合致している金額を抜き出したいと思っています。 抜き出すのは0601&AさんをA5セル~A20 0601&BさんのはB5~B20へ ということは可能でしょうか? もしよろしければ教えていただければ助かります。 'date'シート 日付 名前 金額 0601 Aさん 100円 0601 Aさん 120円 0601 Bさん 150円 シート'1' 0601&Aさん 0601&Bさん 100円 150円 120円 どの人がやってもボタン1つで実行できるようにしたいために、 VBA出できればと思っております。
- 締切済み
- オフィス系ソフト
- VBAで2つの条件に合致するものを、表から抽出する方法を教えてください
A B C D E ・・・ 1 0 10% 20% 30% 2 0 0 1 1.2 1.6 3 100以上 2 2.3 2.5 2.6 4 200以上 3 3.1 3.4 3.8 5 300以上 3 3.2 3.5 3.7 6 400以上 4 4.3 4.5 4.8 上記のような表がシート1にあります。 A列は売上、1行には前年比があり それぞれの条件に合致する係数を取得したいのですが シート2のA1セルに「売上」、A2セルに「前年比」を入力することで B1セルに係数が反映するようにはできるでしょうか? 例えば、A1「250」A2「13」と入力すると B1「3.1」と反映させたいのですが… 他の作業もあり、できればVBAで作成したいと思っています。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- エクセルVBAでセル選択するコードが変
エクセルのワークシートでVBAでセル選択するコードで理解に苦しむことがあります。 通常、Cells(2, 1)はセル番地で言えばA2セル Cells(4, 1)はセル番地で言えばA4セルです。 しかし、 With .Range("B5:B15")でくくれば .Cells(2, 1)はセル番地で言えばB6セルだと思います。 .Cells(4, 1) はセル番地で言えばB8セルだと思います。 ところが下記のコードを動かすと、なぜかC10:C12が選択されてしまいます。 この理屈がわかりません。 Sub test02() With Sheets("Sheet1") With .Range("B5:B15") .Range(.Cells(2, 1), .Cells(4, 1)).Select End With End With End Sub なお、 .Range(.Cells(2, 1), .Cells(4, 1)).Selectを .Range(“A2:A4”).Selectに書きかえると、希望のB6:B8が選択されます。
- ベストアンサー
- Excel(エクセル)
- Excel2000のVBAについて教えてください
はじめまして。 現在、以下のような表があるとき、コードCがブレイクするごとに、データBに対する絶対値の最大値を求めるVBAを作成しようと思っています。 また、求めた絶対値の最大値を持つデータを抽出して、各コードCに対する最大値のみのデータを別シートに貼り付けたいとも思っています。 同一コードC内に絶対値の最大値が複数存在することもあります。 データ件数は処理ごとに変更がありますので未定です。 なお、Microsoft Queryはインストールされていません。 以上の条件でどのようなコードを作成すれば良いのか教えていただければ幸いです。 例として下記のような表1のデータを、表2のように変更したいと考えています。 よろしくお願いいたします。 表1 コードA コードB コードC データA データB データC 48 01 22 -179.4 2.402 3.864 48 20 22 -248.3 4.102 3.826 49 06 22 0.1031 -2.02 3.986 49 07 22 -153.9 1.773 3.902 50 01 22 -179.4 2.402 3.872 50 07 22 -153.9 1.773 3.886 51 08 21 -6.386 0.069 2.622 51 09 21 -74.24 0.073 2.538 52 09 21 -74.24 0.073 2.522 52 12 21 -85.48 0.084 2.508 53 10 20 0.2928 2.427 5.986 53 11 20 -198.4 -1.14 5.903 54 11 20 -198.4 -1.14 5.886 54 13 20 -231.3 -1.73 5.872 55 12 21 -85.48 0.084 2.499 55 26 21 -115.8 0.114 2.462 56 13 20 -231.3 -1.73 5.864 56 22 20 -320.2 -3.32 5.826 表2 コードA コードB コードC データA データB データC 56 22 20 -320.2 -3.32 5.826←コードCが20のグループでデータBが絶対値の最大値を持つデータ 55 26 21 -115.8 0.114 2.462←コードCが21のグループでデータBが絶対値の最大値を持つデータ 48 20 22 -248.3 4.102 3.826←コードCが22のグループでデータBが絶対値の最大値を持つデータ
- 締切済み
- オフィス系ソフト
お礼
いまだ答えは見つからず、闇の中です。。。 集計ができず困ってます。。。