2016-07-23 7 views
-1

列に基づいてStateを取得しようとしていますが、目的の結果を得ることができません。最新のVersionを持つ同じNameレコードの場合は、StateSIGNEDである必要があります。それ以外の場合はSUPERSEDEDになります。複数のレコードを持つ同じ名前の場合、最新のレコードを見つけて別の列に値を設定する方法

Name Version State  OwnerName Language Keywords 
Mohan 1  SUPERSEDED x   ENG   ABCD 
Mohan 2  SUPERSEDED y   ENG   EFGH 
Mohan 3  SUPERSEDED z   ENG   IJKL 
Mohan 4  SIGNED  x   ENG   ABCD 
Shayam 1  SUPERSEDED y   ENG   EFGH 
Shayam 2  SIGNED  z   ENG   IJKL 
Ram  1  SUPERSEDED x   ENG   ABCD 
Ram  2  SIGNED  y   ENG   EFGH 
Sourabh 1  SIGNED  z   ENG   IJKL 

答えて

3

使用この配列数式:C2でこれを入れて

=IF(B2=MAX(IF($A$2:$A$10=A2,$B$2:$B$10)),"SIGNED","SUPERSEDED") 

これは配列式なので、編集モードを終了するときにEnterではなくCtrl-Shift-Enterを押して確定する必要があります。 Excelが正常に実行された場合は、数式の周りに{}を入れます。

次にコピーしてください。

enter image description here


は、Excel 2010以降を持っているなら、あなたは、この非CSE式を使用することができます。これは、Ctrlキーを押しながらShiftキーを入力します必要はありませんが、正常に入力されます。

=IF(B2=AGGREGATE(14,6,$B$2:$B$10/($A$2:$A$10=A2),1),"SIGNED","SUPERSEDED") 

enter image description here


あなたのデータは常に列AとBにソートされている場合、あなたは非配列数式を使用することができます:

=IF(A2<>A3,"SIGNED","SUPERSEDED") 

enter image description here