Где находятся кликаемые элементы; где находятся элементы, которые надо посчитать; каким data-атрибутом задаётся связь между элементами:
const buttons = document.querySelector('.content');
const blocks = document.querySelector('.wrap');
const dataAttr = 'block';
Считаем:
buttons.addEventListener('click', e => {
const block = e.target.dataset[dataAttr];
if (block) {
console.log(blocks.querySelectorAll(`:scope > [data-${dataAttr}="${block}"]`).length);
}
});
или
const onClick = ({ target: { attributes: { ['data-' + dataAttr]: { value } } } }) =>
console.log(Array.prototype.reduce.call(
blocks.children,
(acc, n) => acc + (n.getAttribute('data-'.concat(dataAttr)) === value),
0
));
for (const n of buttons.children) {
n.addEventListener('click', onClick);
}