Можно попотеть и используя комбинацию псевдокласов nth-child и nth-last-child у ячеек ловить их и расставлять в нужные колонки.
Ну например если колонок пять то шестая ячейка это шестая сначала и первая с конца - ставим ее в третью колонку
Если ячеек семь то она становится уже второй с конца что ее будет отличать от других ячеек, короче говоря каждая n-ная ячейка имеет уникальное сочетание nth-child и nth-last-child даже при разном общем количестве ячеек
Более того с если указывать не только колонку но и ряд для каждой ячейки открывается магия наложения, и тогда расположив одну из этих двух центрируемых ячеек не в одну а в две колонки, одна колонка из которых будет общей с другой ячейкой, и выровняв их по центру можно получить эффект центрирования по ширине)
НИКОГДА ТАК НЕ ДЕЛАЙТЕ ПОЖАЛУЙСТА
Пример мне лень было писать миллион комбинаций псевдоклассов так что надеюсь это понятно и без кода)