Welcome to the community, @Sav_Aylett! :grinning_face_with_big_eyes: Airtable formulas always execute on all records, meaning that they always generate some output, even if that output is nothing (blank). They also can’t look at the output from a previous execution of the same formula and use that as input for the current execution (your “if a value already exists” idea). If part of a formula’s input changes—e.g. a value in a specific field used by the formula—the formula will re-run for that record.
One way to do what you’re seeking is to include a manual date field where you can input a deadline—I’ll call it the {Build End Manual}
field—and then use the contents of that field in your formula logic. Maybe something like this:
IF(
{Build Start},
IF(
{Build End Manual},
{Build End Manual},
DATEADD({Build Start}, {Build Days}, 'days'),
),
IF(
{Build End Manual},
{Build End Manual}
)
)
The logic is this: if there’s a specified start date, use that to calculate the end date, but only if there’s no manual end date entered; otherwise use the manual end date. If there’s no start date, use the manual end date if it exists.
Welcome to the community, @Sav_Aylett! :grinning_face_with_big_eyes: Airtable formulas always execute on all records, meaning that they always generate some output, even if that output is nothing (blank). They also can’t look at the output from a previous execution of the same formula and use that as input for the current execution (your “if a value already exists” idea). If part of a formula’s input changes—e.g. a value in a specific field used by the formula—the formula will re-run for that record.
One way to do what you’re seeking is to include a manual date field where you can input a deadline—I’ll call it the {Build End Manual}
field—and then use the contents of that field in your formula logic. Maybe something like this:
IF(
{Build Start},
IF(
{Build End Manual},
{Build End Manual},
DATEADD({Build Start}, {Build Days}, 'days'),
),
IF(
{Build End Manual},
{Build End Manual}
)
)
The logic is this: if there’s a specified start date, use that to calculate the end date, but only if there’s no manual end date entered; otherwise use the manual end date. If there’s no start date, use the manual end date if it exists.
Cheers Justin, I shall give it a go and get back to you. Again many thanks for the pointer.