2017-08-14 21 views
0

私は配列の式を使用して列(クライアント名)に基づいて列(Count)からMAX値を返します。各クライアントには複数のアカウント番号が複数回繰り返されています。私は、クライアントの列(Acct#)の最大時間に存在するアカウント番号のカウントを返すつもりです。条件付きのMAX関数

は、私は同じクライアントのための2つ以上の口座番号がとして同じ数を持って、私はNULLかBLANKではなく、MAX数を返したいときに満足な結果除くを取得することができますよ。以下

は一例であり: アカウンティング#4565 & 7898は、XYZ LTD 6時間繰り返されます。以来、XYZ LTD。 ACCT#が繰り返される最大時間は6であるが、複数のアカウントを6回繰り返して、私は配列数式を使用した列でNULLまたはBLANK(MAXカウント)

表返したい:

Client Name Acct # Count      Count Max 
XYZ LTD. 1234 =COUNTIFS(B:B,B2,A:A,A2) =MAX(IF(A:A=A2,C:C)) 
XYZ LTD. 4565 =COUNTIFS(B:B,B3,A:A,A3) =MAX(IF(A:A=A3,C:C)) 
XYZ LTD. 4565 =COUNTIFS(B:B,B4,A:A,A4) =MAX(IF(A:A=A4,C:C)) 
XYZ LTD. 4565 =COUNTIFS(B:B,B5,A:A,A5) =MAX(IF(A:A=A5,C:C)) 
XYZ LTD. 4565 =COUNTIFS(B:B,B6,A:A,A6) =MAX(IF(A:A=A6,C:C)) 
XYZ LTD. 1234 =COUNTIFS(B:B,B7,A:A,A7) =MAX(IF(A:A=A7,C:C)) 
XYZ LTD. 1234 =COUNTIFS(B:B,B8,A:A,A8) =MAX(IF(A:A=A8,C:C)) 
XYZ LTD. 4565 =COUNTIFS(B:B,B9,A:A,A9) =MAX(IF(A:A=A9,C:C)) 
XYZ LTD. 1234 =COUNTIFS(B:B,B10,A:A,A10) =MAX(IF(A:A=A10,C:C)) 
XYZ LTD. 4565 =COUNTIFS(B:B,B11,A:A,A11) =MAX(IF(A:A=A11,C:C)) 
XYZ LTD. 7898 =COUNTIFS(B:B,B12,A:A,A12) =MAX(IF(A:A=A12,C:C)) 
XYZ LTD. 7898 =COUNTIFS(B:B,B13,A:A,A13) =MAX(IF(A:A=A13,C:C)) 
XYZ LTD. 7898 =COUNTIFS(B:B,B14,A:A,A14) =MAX(IF(A:A=A14,C:C)) 
XYZ LTD. 7898 =COUNTIFS(B:B,B15,A:A,A15) =MAX(IF(A:A=A15,C:C)) 
XYZ LTD. 7898 =COUNTIFS(B:B,B16,A:A,A16) =MAX(IF(A:A=A16,C:C)) 
XYZ LTD. 7898 =COUNTIFS(B:B,B17,A:A,A17) =MAX(IF(A:A=A17,C:C)) 
を結果と

テーブル:この例では

Clien Name Acct # Count Count Max 
XYZ LTD. 1234 4  6 
XYZ LTD. 4565 6  6 
XYZ LTD. 4565 6  6 
XYZ LTD. 4565 6  6 
XYZ LTD. 4565 6  6 
XYZ LTD. 1234 4  6 
XYZ LTD. 1234 4  6 
XYZ LTD. 4565 6  6 
XYZ LTD. 1234 4  6 
XYZ LTD. 4565 6  6 
XYZ LTD. 7898 6  6 
XYZ LTD. 7898 6  6 
XYZ LTD. 7898 6  6 
XYZ LTD. 7898 6  6 
XYZ LTD. 7898 6  6 
XYZ LTD. 7898 6  6 

期待される結果列のは(最大カウント)ブランクの値です。

これはVBAを使用できますか?

+0

これはあなたが求めているのではないことを知っていますが、ユニークな名前とアカウント番号のリストと各ユニークな組み合わせのカウントを生成しますか? –

+0

いいえ、最大数を引き出す理由があります。私はちょうどプロセスの前半を入れました。最大値はクライアントの特定の番号で置き換えられますが、最大数に複数の番号が含まれている場合は使用されません。 –

答えて

0

あなたのために働いているあなたの式を取り、あなたFORMULA

=IF(COUNTIFS($A$2:$A2,$A2,$B$2:$B2,$B2)>1,"",YOUR FORMULA) 

を交換し、この式に配置は、限り、あなたが必要とダウンコピーします。アカウント名と#が繰り返されると ""が表示され、式の値が最初のインスタンスのときに表示されます。

proof of concept

あなたは + をENTER CTRL + SHIFTを使用する必要がありますので、使用している数式は、配列数式で終了したら、ちょうどを入力しません。正しく実行されると、手動で追加できない数式の周りに{}が追加されます。これは単一のセル配列式になります。最初のセルでこれを実行したら、必要に応じてセルをコピーします。

+0

これは機能しません。同じクライアントの下で複数のアカウント#に対して最大値が繰り返されても、最大カウントが返されます。 –

+0

@Mohdakhtar最新の説明が役立つかどうかを確認してください。 –