私は1つずつ増やすことができるように、Excelでいくつかのデータを持っています。数値は001のようなテキストです。また、最大数を特定するために考慮する必要のある3つの参照列もあります。ここVBAは条件に基づいて最大数を取得します
は、私は、次のIDは、上記のように基準が常に連続していないこと006注記であることを見つけなければならない基準XXX-I-17に基づくデータ
A K L N <-These are the columns
Ref1 Ref2 Ref3 ID <-These are the headers
xxx I 17 001 <-Column N is also text
xxx I 17 002
yyy J 15 001
xxx I 17 005 <-The numbers might not be consecutive. Instead of 003 jumps to 005
の一例です。データをフィルタリングすることは最善のアプローチですが、何を把握することはできませんが、最大を見つける方法であれば、私はよく分からない
LastRow = ActiveSheet.Range("A1").Offset(ActiveSheet.Rows.Count - 1, 0).End(xlUp).Row
ActiveSheet.Range("A1:L" & lastRow).AutoFilter Field:=1, Criteria1:="xxx"
ActiveSheet.Range("A1:L" & lastRow).AutoFilter Field:=11, Criteria1:="I"
ActiveSheet.Range("A1:L" & lastRow).AutoFilter Field:=11, Criteria1:="17"
:
私は何をやっていることのようにデータをフィルタリングする最初のものです私はそれを増やすことができるように列Nの値。
アイデア?数式でうまくいくのでしょうか?
使用worksheetfunction.Countifsに列を制限することによって、それはより速く行うことができます。 –
あなたがそれを必要としない限り、単純なCOUNTIFS()関数はあなたが望むことをするでしょう。 –
これをN2に入れてコピーします。 '= TEXT(COUNTIFS($ A $ 1:A2、$、$ K $ 1:K2、K2、$ L $ 1:L2、L2)、" 000 ")' –