Help

This Product Ideas board is currently undergoing updates, but please continue to submit your ideas.

Add a CURRENCY() function for Formula Fields

cancel
Showing results for 
Search instead for 
Did you mean: 
Kamille_Parks
16 - Uranus
16 - Uranus

Right now, to format values pulled from a Currency field in a Formula field, users have to use something akin to the following formula to get “$65,756” to display as such. Otherwise, AirTable displays it as “65756”, no commas, no currency symbol:

IF(
  LEN(CONCATENATE({Trip Budget}))<4,
  {Trip Budget},
  IF(
AND(LEN(CONCATENATE({Trip Budget}))>3,LEN(CONCATENATE({Trip Budget}))<7),
LEFT(CONCATENATE({Trip Budget}),LEN(CONCATENATE({Trip Budget}))-3)&","&RIGHT(CONCATENATE({Trip Budget}),3),
IF(
  AND(LEN(CONCATENATE({Trip Budget}))>6,LEN(CONCATENATE({Trip Budget}))<10),
  LEFT(CONCATENATE({Trip Budget}),LEN(CONCATENATE({Trip Budget}))-6)&","&LEFT(RIGHT(CONCATENATE({Trip Budget}),6),3)&","&RIGHT(CONCATENATE({Trip Budget}),3),
  IF(
    AND(LEN(CONCATENATE({Trip Budget}))>9,LEN(CONCATENATE({Trip Budget}))<13),
    LEFT(CONCATENATE({Trip Budget}),LEN(CONCATENATE({Trip Budget}))-9)&","&LEFT(RIGHT(CONCATENATE({Trip Budget}),9),3)&","&LEFT(RIGHT(CONCATENATE({Trip Budget}),6),3)&","&RIGHT(CONCATENATE({Trip Budget}),3),
  )
)
  )
)

This is obviously inconvenient, and it doesn’t even take into account decimals or amounts greater than $999,999,999.

I propose a new formula function that operates something like this:
CURRENCY([number or field reference], [currency symbol]) => CURRENCY(12345.6,"$") = $12,345.60

29 Comments
Nathan_Heironim
6 - Interface Innovator
6 - Interface Innovator

+1 for me! This function would be fantastic!

Edd_Read
4 - Data Explorer
4 - Data Explorer

+1 this feels like a fairly sizeable omission

Guido_Hoffmann
5 - Automation Enthusiast
5 - Automation Enthusiast

Would also +1 the ability to format numbers within a formula like this.

itoldusoandso
10 - Mercury
10 - Mercury

Seems to me the need would be also to reformat a number output (as text from another formula) into plain number format. e.g. IF(Column1=ABCD,“6666”,“tryagain”) will always produce text string, whether the result is 6666 or tryagain. So the result can’t be used in subsequent formulas. Still looking for answers how to solve it.

UPDATE: OK sorry, I found a solution to my “Number” format problem. Crazy I need to add another formula to do something so simple. Formula needded is … VALUE({NumberIWant}&’’)

This is not giving any answer to the question of the OP but I am leaving this here just in case somebody looking for the answer, it seems related to me.

Source:

Creative_Renais
4 - Data Explorer
4 - Data Explorer

Hi Kamille, I tried this formula but when I click ‘Formatting’ to see how it looks it says “Your field is not fully configured. You need to have a valid field configuration in the formula tab before adding formatting options”

What did I miss?

Kamille_Parks
16 - Uranus
16 - Uranus

@Creative_Renaissance You’ve missed nothing, you can’t format the field as anything other than a string because it returns a string.

AlliAlosa
10 - Mercury
10 - Mercury

I’d still love a CURRENCY() function, but here’s a solution in the meantime using the scripting app! This particular use-case involved formatting just one number prior to sending it in an email, but could easily be adapted.

DamonH
6 - Interface Innovator
6 - Interface Innovator

+1 for me. I use a formula to concatenate a budget line so that the linked record makes sense when you see it in the link. Right now it looks like ‘Smith Foundation - 100000’. With this feature, it would return ‘Smith Foundation - $100,000’. Thanks!

CottageKeeper
6 - Interface Innovator
6 - Interface Innovator

Count me in - I too need this feature! @Kamille_Parks you’re brilliant! :high_brightness: :high_brightness: :high_brightness:

Rascode
5 - Automation Enthusiast
5 - Automation Enthusiast

As we speak, I’m working on creating a formula title field that pulls in the “Fee” from a currency field. I scrolled through the entire list of functions only to find that no such native function exists.

@Kamille_Parks is absolutely right. A “Currency()” filter should be baked into the cake. No reaching for contrived solutions. So yeah, I’m a +1 on this suggestion.