Functions

FD.Utility.RemoveVolatility

=FD.Utility.RemoveVolatility(volatileCell, targetAddress)
  • volatileCell: The volatile cell - a proper reference. Can only be a single cell, not a range of multiple cells.
  • targetAddress: The address (text addres, not an actual reference ie: "A2" not A2) of the cell to update with the value of the volatileCell (volatile cell).

Description: Update the target address only when the volatileCell value changes, not on every recalculation of the volatile cell. This essentially removes the volatility of all dependent cells, as long as they refer to the new target cell instead of the volatile cell. Note: Tracing precedents will stop at the target cell because Excel has no way of knowing that the target cell refers to the volatile cell. In the same way, tracing dependents of the volatile cell won't identify the target cell as a dependent. This function returns the value of the volatile cell.

Example: =FD.Utility.RemoveVolatility(A1, "A2") where cell A1 has a value of "Hello"
Output: "Hello", and A2's value will also be set to "Hello"

FD.Utility.RunMacroWhenValueChanges

=FD.Utility.RunMacroWhenValueChanges(cellToWatch, macroName, param1, param2, param3)
  • cellToWatch: The cell to watch for when it's value changes.
  • macroName: The name of the macro to run.
  • param1: Macro's first argument [optional - only use if macro needs this parameter].
  • param2: Macro's second argument [optional - only use if macro needs this parameter].
  • param3: Macro's third argument [optional - only use if macro needs this parameter].

Description: This function will run the specified macro with the specified parameters when the value of the target cell changes. ie: changing the value of the target cell causes the macro to run.

Example 1: =RunMacroWhenValueChanges(A1, "MyMacro1", 111, "Red", D5) where cell D5 has a value of "Hello", and MyMacro1 has three parameters.
Output: The macro will be called like this: MyMacro1(111, "Red", "Hello")

Example 2: =RunMacroWhenValueChanges(A1, "MyMacro2") where MyMacro2 has no parameters.
Output: The macro will be called like this: MyMacro2(111, "Red", "Hello")

FD.Text.ToStringFormat

=FD.Text.ToStringFormat(format, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9)
  • format The format string which is the text output you want with placeholders for p0 to p9.
  • p0: The value to be inserted into the format string.
  • p1 to p9: [optional] The values to be inserted into the format string.

Description: Replaces the format items in the specified string with the string representation of the specified arguments.

Example: =FD.Text.ToStringFormat("Hello {0}. How is the weather in {1}?", "Bob", "New York")
Output: "Hello Bob. How is the weather in New York?"

FD.Text.Concatenate

=FD.Text.Concatenate(arg, separator, [includeEmptyValues])
  • arg: Array of text values.
  • separator: The separator (text) to join them with.
  • includeEmptyValues (Optional) Specifies whether empty values should be included. Default value is FALSE.

Description: Concatenates the values of a range where the cells have a non-whitespace value.

Example 1: =FD.Text.Concatenate(A1:A3, ", ") where the cell values are: A1: "Red", A2: "Blue", A3: "Green"
Output: "Red, Blue, Green"

Example 2: =FD.Text.Concatenate({11, 22, 33}, " - ")
Output: "11 - 22 - 33"

Example 3: =FD.Text.Concatenate({"aa", "bb", "cc"}, "*")
Output: "aa*bb*cc"

Example 4: =FD.Text.Concatenate({"aa", "", "cc"}, "*", FALSE)
Output: "aa*cc"

Example 5: =FD.Text.Concatenate({"aa", "", "cc"}, "*", TRUE)
Output: "aa**cc"

Example 6: (add new lines)=FD.Text.Concatenate({"Line1", "Line2", "Line3"}, CHAR(13) & CHAR(10))
Output: "Line1
Line2
Line3"

FD.Text.Split

=FD.Text.Split(text, delimiter, indexToReturn)
  • text: Text to split.
  • delimiter: Splits the text into parts, based on the delimiter. Returns the part at position specified by the 'part' parameter. Part is 1 based.
  • indexToReturn: [optional] The index to return. Must be between 1 and the total number of items resulting from the split. If no value is supplied, then an array of the split values is returned.

Description: Splits the text into parts, based on the delimiter. If a value is supplied for the 'indexToReturn' parameter, then it returns the part at position specified by the 'indexToReturn' parameter. If no value is supplied for the 'indexToReturn' parameter, then an array is returned.

Example 1: =FD.Text.Split("a,b,c", ",", 2)
Output: "b"

Example 2: =FD.Text.Split("a,b,c", ",")
Output: {a, b, c} [ARRAY]

FD.Text.NumberToOrdinal

=FD.Text.NumberToOrdinal(number, genderChar)
  • number: Number to convert. Must be an integer.
  • genderChar (optional): For languages that support gender, "M" denotes masculine, "F" denotes feminine, "N" denotes neutral.

Description: Converts a number into an ordinal string eg: 1 > 1st, 2 > 2nd etc. Note: the current language of the computer will be used.

Example 1: =FD.Text.NumberToOrdinal(2)
Output: "2nd"

Example 2: =FD.Text.NumberToOrdinal(23)
Output: "23rd"

FD.Text.NumberToWords

=FD.Text.NumberToWords(number, culture, genderChar)
  • number: Number to convert. Must be an integer.
  • culture: Language to use eg: "es" for Spanish, "fr" for French. See a full list of culture codes: here.
  • genderChar (optional): For languages that support gender, "M" denotes masculine, "F" denotes feminine, "N" denotes neutral.

Description: Converts a number into words eg: 1 > one, 53 > fifty three

Example 1: =FD.Text.NumberToWords(2)
Output: "two"

Example 2: =FD.Text.NumberToWords(53)
Output: "fifty three"

Example 2: =FD.Text.NumberToWords(2, "es")
Output: "dos"

FD.Text.NumberToOrdinalWords

=FD.Text.NumberToOrdinalWords(number, culture, genderChar)
  • number: Number to convert. Must be an integer.
  • culture: Language to use eg: "es" for Spanish, "fr" for French. See a full list of culture codes: here.
  • genderChar (optional): For languages that support gender, "M" denotes masculine, "F" denotes feminine, "N" denotes neutral.

Description: Converts a number into ordinal words.

Example 1: =FD.Text.NumberToOrdinalWords(2)
Output: "second"

Example 2: =FD.Text.NumberToOrdinalWords(53)
Output: "fifty third"

FD.Text.NumberToRoman

=FD.Text.NumberToRoman(number)
  • number: Number to convert. Must be an integer.

Description: Converts a number into Roman numerals.

Example 1: =FD.Text.NumberToRoman(5)
Output: "V"

Example 2: =FD.Text.NumberToRoman(12)
Output: "XII"

FD.Text.RomanToNumber

=FD.Text.RomanToNumber(roman)
  • roman: Roman numeral to convert eg: VI, XIII.

Description: Converts a Roman numeral into a number.

Example 1: =FD.Text.RomanToNumber("V")
Output: "5"

Example 2: =FD.Text.RomanToNumber("XII")
Output: 12