Help

The Community will be temporarily unavailable starting on Friday February 28. We’ll be back as soon as we can! To learn more, check out our Announcements blog post.

Formula to convert E164 to US phone number

Topic Labels: Formulas
Solved
Jump to Solution
3064 6
cancel
Showing results for 
Search instead for 
Did you mean: 
Ambroise_Dhenai
8 - Airtable Astronomer
8 - Airtable Astronomer

I have the following phone number +33661291700, do you know a formula that converts it to a US phone number? (e.g: (415) 555-2671)

Thank you

1 Solution

Accepted Solutions
Zack_S
8 - Airtable Astronomer
8 - Airtable Astronomer

I believe it’s because a lookup field is a list (array), should be able to convert this to a string if there is only one number in it.

Change each studentPhoneNumberAsE164 to CONCATENATE(studentPhoneNumberAsE164)

:crossed_fingers:

See Solution in Thread

6 Replies 6
Zack_S
8 - Airtable Astronomer
8 - Airtable Astronomer

Formula is here

CONCATENATE( "(", MID(RIGHT(REGEX_REPLACE({Phone Number}, "[+ -.]", ""),10), 1,3), ") ", MID(RIGHT(REGEX_REPLACE({Phone Number}, "[+ -.]", ""),10), 4,3), "-", MID(RIGHT(REGEX_REPLACE({Phone Number}, "[+ -.]", ""),10), 7,4) )

This formula isn’t compatible with a E164 format as input.

What field types are you using?

The direct copy and paste worked for me.

image
image

Using

CONCATENATE( "(", MID(RIGHT(REGEX_REPLACE(studentPhoneNumberAsE164, "[+ -.]", ""),10), 1,3), ") ", MID(RIGHT(REGEX_REPLACE({studentPhoneNumberAsE164}, "[+ -.]", ""),10), 4,3), "-", MID(RIGHT(REGEX_REPLACE({studentPhoneNumberAsE164}, "[+ -.]", ""),10), 7,4) )

Getting #ERROR! for all, even when valid.
image

My studentPhoneNumberAsE164 field is a lookup field from a formula (text) field, not a native Phone number field, may that be why it fails? :thinking:

Zack_S
8 - Airtable Astronomer
8 - Airtable Astronomer

I believe it’s because a lookup field is a list (array), should be able to convert this to a string if there is only one number in it.

Change each studentPhoneNumberAsE164 to CONCATENATE(studentPhoneNumberAsE164)

:crossed_fingers:

Ambroise_Dhenai
8 - Airtable Astronomer
8 - Airtable Astronomer

You’re right. It worked with ARRAYJOIN.

CONCATENATE( "(", MID(RIGHT(REGEX_REPLACE(ARRAYJOIN(studentPhoneNumberAsE164), "[+ -.]", ""),10), 1,3), ") ", MID(RIGHT(REGEX_REPLACE(ARRAYJOIN(studentPhoneNumberAsE164), "[+ -.]", ""),10), 4,3), "-", MID(RIGHT(REGEX_REPLACE(ARRAYJOIN(studentPhoneNumberAsE164), "[+ -.]", ""),10), 7,4) )