I have seen sheets where an array is used with an on(change) event for a group of related attributes, skills etc. All the examples i have found have been quite complex and i have got lost trying to follow the logic. my code; ['wit','wil','str','dft','spd','hlh'].forEach(attr => { on('change:${attr}', (info) => { getAttrs(['${attr}'], function(v) { setAttrs({ ${attr}ST: Math.floor((parseInt(v.${attr})||0)/2), ${attr}ST_max: Math.round((parseInt(v.${attr})||0)/3), ${attr}Grp: attrGroup((parseInt(v.${attr})||0)), ${attr}Grp_max: attrED((parseInt(v.${attr})||0)) }); }); }); }); This doesn't work, but hopefully somone can see what im trying to do and point me to where i can find the answers on how to do this. I really want to understand the process, but not even sure what this is called to do proper searching to figure it out.