It’s not actually a bug. When grouping based on a field that contains manually-entered data, Airtable can safely assume that adding a new record to that group should fill that grouped field with the same data. However, when grouping is based on a calculated field, like a formula, that’s not a safe assumption because the field value is based on another field. Depending on the formula, it could be based on multiple other fields.
Going back to your example, though, let’s use the single
Month field as a test case. Say you had entered a date of March 1, 2019 into your date field, so the
Month field becomes 3 based on the formula. You want to add a record to that group, so in theory the
Month field for that new record should also be 3. However, it’s a formula based on your date field, and the date field in a new record would be empty. That means the
Month field would end up blank if your formula tests for a date before extracting the month, or
#ERROR if it doesn’t. In either case, that record would be automatically moved to its own group, which means finding that group before you can enter the correct data so that it becomes grouped with all of the March records again.
Month field value can’t be 3 if there’s no date, what do you want Airtable to do in this scenario? Do you want it to reverse the formula logic and enter a dummy date into the date field? If so, all that Airtable would know—if it could even reverse-engineer the formula, which is a tall order for any application—is that the month for the date field would be March. What would the year and day be? Also consider that some users may be grouping formula fields with far more complex formulas than a simple month-from-date extraction. In the end, there’s virtually no way for Airtable to determine what to do when adding a record to a group where the group is driven by a calculated field.
Duplication of an existing grouped record is the only solution that works because it copies all existing data fields, the formula (and other calculated) fields create identical results, and the grouping stays intact.