program define meanvar
version 10
syntax varlist [if]
syntax [varlist] [if] [in]

* messungen, die nicht in die analyse eingehen vor erstellung der kontextvariablen ausschließen
qui generate usempf=1
qui foreach i in `varlist' {
replace usempf=0 if `i'==.
}

tokenize `varlist'
local first `1'
macro shift
local rest `*'

qui foreach var in `rest' {
egen kv_`var' = mean (`var') if usempf==1, by (`first')
}

drop  usempf
end