CONCATENATE function

CONCATENATE(First, Other...) CONCATENATE(First; Other...)

First

Number, Logical, Text, Color, { Number }, { Logical }, { Text } or { Color }

The first parameter.

Other

Number, Logical, Text, Color, { Number }, { Logical }, { Text } or { Color } (accepts many)

Additional parameters.

Returns

Text or { Text }

A text string containing all given values in the order they are given.

Joins any number of values together as a single text string and returns it. CONCATENATE("te", "st")CONCATENATE("te"; "st") returns "test" and CONCATENATE("The value is: ", TextField1)CONCATENATE("The value is: "; TextField1) returns "The value is: ", followed by the value of the text field TextField1.

Converting numbers to text strings

If a number is given as a parameter, it is converted to a text string:

CONCATENATE("The value is: ", NumberField1)CONCATENATE("The value is: "; NumberField1)

This formula returns a value such as "The value is: 1234.56", using the decimal separator of the language the app has been configured to use. If that language is German, for instance, "The value is: 1234,56" is returned instead. Thousands separators are not used.

Determining how numbers are converted to text

To get a formatted value, respecting a field's formatting options like the use of thousands separators, use the FormattedValue property instead:

CONCATENATE("The value is: ", NumberField1.FormattedValue)CONCATENATE("The value is: "; NumberField1,FormattedValue)

This formula produces a text string like "The value is: 1,234.56" for an app set to US English, and one like "The value is: 1 234,56" for an app in German (depending on the formatting options of NumberField1).

Use any of these functions to specify formatting preferences through the formula itself:

Colors, logical values and blank values

Colors are converted to CSS color values, such as "#00ff00ff" for green with no transparency. The logical value FALSE is converted to "FALSE" and TRUE is converted to "TRUE". Blank values (including those produced by the BLANK function) are converted to "".

CONCATENATE and the & operator versus CONCAT

CONCATENATE is fully equivalent to the & operator. In many ways, it is also similar to the CONCAT function. These formulas all return the same value:

CONCATENATE("Value: ", Field1)CONCATENATE("Value: "; Field1)
"Value: " & Field1"Value: " & Field1
CONCAT("Value: ", Field1)CONCAT("Value: "; Field1)

CONCAT differs from CONCATENATE and & in that it always returns a single text string, even when invoked with arrays. These two formulas both return the array { "a1", "b1" }{ "a1"; "b1" }:

CONCATENATE({ "a", "b" }, 1)CONCATENATE({ "a"; "b" }; 1)
{ "a", "b" } & 1{ "a"; "b" } & 1

However, this CONCAT formula returns "ab1":

CONCAT({ "a", "b" }, 1)CONCAT({ "a"; "b" }; 1)

These two formulas both return the array { "ac", "bd" }{ "ac"; "bd" }:

CONCATENATE({ "a", "b" }, { "c", "d" })CONCATENATE({ "a"; "b" }; { "c"; "d" })
{ "a", "b" } & { "c", "d" }{ "a"; "b" } & { "c"; "d" }

However, this CONCAT formula returns "abcd":

CONCAT({ "a", "b" }, { "c", "d" })CONCAT({ "a"; "b" }; { "c"; "d" })

Examples

CONCATENATE("te", "st")CONCATENATE("te"; "st")

Returns "test".

CONCATENATE("The value is: ", TextField1)CONCATENATE("The value is: "; TextField1)

Returns "The value is: ", followed by the value of the text field TextField1.

CONCATENATE("The value is: ", NumberField1)CONCATENATE("The value is: "; NumberField1)

Returns "The value is: 1234.56" if the language of the app is set to Australian English and "The value is: 1234,56" if the language of the app is set to German. Thousands separators are not used.

CONCATENATE("The value is: ", NumberField1.FormattedValue)CONCATENATE("The value is: "; NumberField1,FormattedValue)

Returns a text string like "The value is: 1,234.56" for an app set to US English, and one like "The value is: 1 234,56" for an app in German. The particulars of the formatted number are determined by the formatting settings for NumberField1.

CONCATENATE("The value is: ", FORMATNUMBER(NumberField1, 2, 2))CONCATENATE("The value is: "; FORMATNUMBER(NumberField1; 2; 2))

Returns a text string like "The value is: 1,234.56" for an app set to US English, and one like "The value is: 1 234,56" for an app in German. The particulars of the formatted number are determined by the parameters given to the FORMATNUMBER function. Here, the second parameter 2 signifies that the number should be formatted with at least two decimal places. Refer to the documentation for FORMATNUMBER for more information.

CONCATENATE({ "a", 3 }, "b")CONCATENATE({ "a"; 3 }; "b")

Returns the array { "ab", "3b" }{ "ab"; "3b" } (equivalent to { "a" & "b", 3 & "b" }{ "a" & "b"; 3 & "b" }.

CONCATENATE({ "a", 3 }, { "b", TRUE })CONCATENATE({ "a"; 3 }; { "b"; TRUE })

Returns the array { "ab", "3TRUE" }{ "ab"; "3TRUE" } (equivalent to { "a" & "b", 3 & TRUE }{ "a" & "b"; 3 & TRUE }.

{ "a", 3 } & { "b", TRUE }{ "a"; 3 } & { "b"; TRUE }

Returns the array { "ab", "3TRUE" }{ "ab"; "3TRUE" } (equivalent to { CONCATENATE("a", "b"), CONCATENATE(3, TRUE) }{ CONCATENATE("a"; "b"); CONCATENATE(3; TRUE) }. & is equivalent to CONCATENATE.

CONCAT({ "a", 3 }, { "b", TRUE })CONCAT({ "a"; 3 }; { "b"; TRUE })

Returns the text string "a3bTRUE". CONCAT always returns a single text string, never an array.