Te anexo una opción para el registro del almuerzo.
En la hoja1 se captura el código en la única celda visible.
Después de dar enter, en automático con una macro, se registra el almuerzo en la hoja "Registro Almuerzo".
Al mismo tiempo, las fórmulas matriciales que están en la hoja "Base de Datos" realizan el conteo de almuerzos por código.
Macro en los eventos de la hoja1
Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
If Not Intersect(Target, Range("B7")) Is Nothing Then
If Target = "" Then Exit Sub
Set h1 = Sheets("Base de Datos")
Set h2 = Sheets("Registro Almuerzo")
Set b = h1.Columns("A").Find(Target, LookAt:=xlWhole)
If Not b Is Nothing Then
u = h2.Range("A" & Rows.Count).End(xlUp).Row + 1
h2.Cells(u, "A") = Target
h2.Cells(u, "B") = h1.Cells(b.Row, "B")
h2.Cells(u, "C") = Date
MsgBox "Almuerzo registrado", vbCritical, "REGISTRO ALMUERZO"
Target = ""
Else
MsgBox "Código no existe, revisa tu código", vbCritical, "REGISTRO ALMUERZO"
SendKeys "{F2}", True
End If
End If
End Sub
Fórmula matricial en las hoja "Base de datos"
=CONTAR(SI($A3='Registro Almuerzo'!A2:A1000,SI(MES('Registro Almuerzo'!C2:C1000=MES(C$2)),'Registro Almuerzo'!A2:A1000)))
Nota: Para aceptar una fórmula matricial debes presionar al mismo tiempo las teclas Shift + Control + Enter.
Te anexo el archivo "Registro almuerzo", con las 3 hojas, la macro y la fórmula
https://www.dropbox.com/s/xcij4cxc60c8o5l/registro%20almuerzo.xlsm?dl=0
Saludos. Dante Amor
No olvides valorar la respuesta.