Hi @Tom_Muller, and welcome to the community!
Yes. The API supports sorting.

Thanks @Bill.French, but this itself does not help. I do not want to sort by a field, but by the accuracy of the match. So if I have to records, where record A has just the element “First” selected in the column and the record B has both “First” and “Second” selected, I want to sort the results, so that record B comes before record A.
Thanks @Bill.French, but this itself does not help. I do not want to sort by a field, but by the accuracy of the match. So if I have to records, where record A has just the element “First” selected in the column and the record B has both “First” and “Second” selected, I want to sort the results, so that record B comes before record A.
Since Airtable doesn’t support fuzzy matching, you have to build that.
- Perform a query that retrieves all the possibilities.
- Use javascript to apply the last mile of the query logic.
@Bill.French tends to do a lot of work with the REST API, so he tends to think in those terms. However, I think that @Tom_Muller is asking for a simple formula field for sorting within the regular interface.
Have your formula return a value that says how accurate the match is.
- If both values are found, return a 1
- If only one of the values is found, return a 2
- If neither value is found, return a 3
Then sort on the formula value.
IF(
AND(
FIND(LOWER("First"),LOWER({Select})),
FIND(LOWER("Second"),LOWER({Select}))
),
1,
IF(
OR(
FIND(LOWER("First"),LOWER({Select})),
FIND(LOWER("Second"),LOWER({Select}))
),
2,
3
)
)
@Bill.French tends to do a lot of work with the REST API, so he tends to think in those terms. However, I think that @Tom_Muller is asking for a simple formula field for sorting within the regular interface.
Have your formula return a value that says how accurate the match is.
- If both values are found, return a 1
- If only one of the values is found, return a 2
- If neither value is found, return a 3
Then sort on the formula value.
IF(
AND(
FIND(LOWER("First"),LOWER({Select})),
FIND(LOWER("Second"),LOWER({Select}))
),
1,
IF(
OR(
FIND(LOWER("First"),LOWER({Select})),
FIND(LOWER("Second"),LOWER({Select}))
),
2,
3
)
)
I thought exactly the opposite because he said this – which I interpreted to mean he was using a filterByFormula
in the API call.
“I am using the airtable API with a formula to basically filter a set of records from a table.”
I thought exactly the opposite because he said this – which I interpreted to mean he was using a filterByFormula
in the API call.
“I am using the airtable API with a formula to basically filter a set of records from a table.”
Lol, You’re right! Sometimes answering questions is too much fun.