Aug 26, 2022 06:46 AM
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
Solved! Go to Solution.
Aug 26, 2022 09:02 AM
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:
Aug 26, 2022 07:49 AM
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) )
Aug 26, 2022 08:13 AM
This formula isn’t compatible with a E164 format as input.
Aug 26, 2022 08:25 AM
What field types are you using?
The direct copy and paste worked for me.
Aug 26, 2022 08:41 AM
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.
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:
Aug 26, 2022 09:02 AM
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:
Aug 26, 2022 09:21 AM
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) )