- ベストアンサー
エクセル:条件に合致する直近の値を遡って検索したい
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
式では不可能ですので、イベントで実行します。 以下 http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_event.html#change を参考に「セルの値が変更されたら発生するイベント」に以下のコードを記述して下さい。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 2 Or Target.Count <> 1 Or IsEmpty(Target) = True Or IsEmpty(Cells(Target.Row, 3)) = False Then Exit Sub For i = Target.Row - 1 To 2 Step -1 If Cells(i, 2).Value = Target.Value Then Cells(Target.Row, 3) = Cells(i, 3).Value Exit Sub End If Next End Sub
その他の回答 (1)
- aokii
- ベストアンサー率23% (5210/22062)
回答No.1
数式が複雑になり、上書きで新しい作業を入力する場合に記入ミスもあり得ますので、できれば、顧客コードと日付で並べ替えて作業することをお勧めします。
質問者
お礼
回答ありがとうございます。 補足コメントをご覧ください。
質問者
補足
日付ごとに行を新しくする必要があるため、顧客コードで並べ替えをしたとしても、前の行と同じ作業内容を再度入力する必要があることに変わりはありません。 また、顧客コードで並べ替えをした場合、ショートカットキーctrl+shift+2 で1つ上のセルの値をアクティブセルにコピーしたい場合は、新しい行を挿入しなければならいのも、不便です。
お礼
すばらしいです! やりたいことが、完璧に実現できました。 ありがとうございます! ベストアンサーとさせていただきます。