Excel Fuzzy match

In Excel, you can use the Fuzzy Lookup add-in to perform fuzzy matching.

Here are the steps:

  1. Download and install the Fuzzy Lookup add-in from Microsoft’s website.
  2. Open your Excel spreadsheet and select the data range that you want to match.
  3. Go to the Data tab and click on the Fuzzy Lookup button.
  4. In the Fuzzy Lookup dialog box, select the Match tab.
  5. Choose the columns you want to match and set the similarity threshold.
  6. Click OK to start the matching process.
  7. The results will be displayed in a new worksheet.

Note that fuzzy matching is not always accurate, and it may produce unexpected results if the data contains errors or inconsistencies.

It’s important to review the results carefully and make sure they make sense before using them.

Excel fuzzy match formula

In Excel, you can use the Fuzzy Lookup add-in to perform fuzzy matching, as described in my previous response. Alternatively, you can use a formula called FUZZYVLOOKUP to do a fuzzy match.

The FUZZYVLOOKUP function is not a built-in function in Excel, so you will need to create it using VBA code.

Here is an example of how to create the FUZZYVLOOKUP function:

  1. Press Alt + F11 to open the Visual Basic Editor.
  2. Go to Insert > Module to create a new VBA module.
  3. Copy and paste the following code into the module:
Public Function FUZZYVLOOKUP(lookup_value As String, table_array As Range, col_index_num As Integer, Optional similarity_threshold As Double = 0.5) As Variant
    Dim cell As Range
    Dim max_similarity As Double
    Dim result As Variant
    
    For Each cell In table_array.Columns(1).Cells
        If IsEmpty(cell) Then Exit For
        
        Dim similarity As Double
        similarity = Application.WorksheetFunction.FuzzyCompare(lookup_value, cell.Value)
        
        If similarity >= similarity_threshold And similarity > max_similarity Then
            max_similarity = similarity
            result = table_array(cell.Row - table_array.Row + 1, col_index_num)
        End If
    Next cell
    
    FUZZYVLOOKUP = result
End Function
  1. Save the VBA module and go back to your Excel worksheet.
  2. In a cell where you want to perform the fuzzy lookup, enter the following formula:
Copy Code=FUZZYVLOOKUP(lookup_value, table_array, col_index_num, [similarity_threshold])

Replace lookup_value with the value you want to look up, table_array with the range of cells containing the lookup table, col_index_num with the column number of the matching value, and [similarity_threshold] with an optional similarity threshold (default is 0.5).

Note that this formula works best when the lookup table has exact matches in the first column, followed by progressively less similar matches.

Excel fuzzy lookup number of matches

In Excel’s Fuzzy Lookup add-in, you can specify the maximum number of matches to return by adjusting the Maximum Matches Returned option.

By default, this is set to 1, which means that only the best matching result will be returned. However, you can increase this value to return multiple matches.

Here are the steps to adjust the Maximum Matches Returned option:

  1. Select the data range that you want to match.
  2. Go to the Data tab and click on the Fuzzy Lookup button.
  3. In the Fuzzy Lookup dialog box, select the Match tab.
  4. Choose the columns you want to match and set the similarity threshold.
  5. Under Advanced Options, change the Maximum Matches Returned option to the desired value (e.g., 5).
  6. Click OK to start the matching process.
  7. The results will be displayed in a new worksheet, with up to the specified number of matches per row.

Note that increasing the maximum number of matches may impact performance, especially if your data set is large or complex.

It’s important to test and optimize the fuzzy matching parameters for your specific use case.


Excel fuzzy match add-in

The Fuzzy Lookup add-in is a free tool developed by Microsoft that allows you to perform fuzzy matching in Excel.

It uses advanced algorithms to compare and match data values that are similar but not identical, based on their textual or numerical characteristics.

To download and install the Fuzzy Lookup add-in, follow these steps:

  1. Go to the Microsoft Download Center: https://www.microsoft.com/en-us/download/details.aspx?id=15011
  2. Click on the Download button to start the download.
  3. Follow the instructions to install the add-in on your computer.
  4. Open Excel and go to the Data tab.
  5. You should see a new Fuzzy Lookup button in the Get & Transform Data section.
  6. Click on the Fuzzy Lookup button to launch the Fuzzy Lookup dialog box.
  7. Use the options in the dialog box to configure the fuzzy matching parameters and run the matching process.
  8. The results will be displayed in a new worksheet.

Note that the Fuzzy Lookup add-in requires Excel 2010 or later and may not work on older versions of Excel.

Also, it is important to review and validate the fuzzy matching results, as they may not always be accurate or complete.


Excel fuzzy match text

In Excel, you can use the Fuzzy Lookup add-in or a custom VBA function to perform fuzzy matching on text. Here are the steps for both methods:

Using the Fuzzy Lookup add-in

  1. Select the data range that you want to match.
  2. Go to the Data tab and click on the Fuzzy Lookup button.
  3. In the Fuzzy Lookup dialog box, select the Match tab.
  4. Choose the columns you want to match and set the similarity threshold.
  5. Click OK to start the matching process.
  6. The results will be displayed in a new worksheet.

Note that the Fuzzy Lookup add-in uses advanced algorithms to compare and match textual data values that are similar but not identical.

Using a Custom VBA Function

If you prefer to use a VBA function instead of the Fuzzy Lookup add-in, here is an example of how to create a custom FUZZYMATCH function:

  1. Press Alt + F11 to open the Visual Basic Editor.
  2. Go to Insert > Module to create a new VBA module.
  3. Copy and paste the following code into the module:
Function FUZZYMATCH(search_value As String, lookup_range As Range, Optional similarity_threshold As Double = 0.5) As Variant
    Dim cell As Range
    Dim max_similarity As Double
    Dim result As Variant
    
    For Each cell In lookup_range
        If IsEmpty(cell) Then Exit For
        
        Dim similarity As Double
        similarity = Application.WorksheetFunction.FuzzyCompare(search_value, cell.Value)
        
        If similarity >= similarity_threshold And similarity > max_similarity Then
            max_similarity = similarity
            result = cell.Value
        End If
    Next cell
    
    FUZZYMATCH = result
End Function
  1. Save the VBA module and go back to your Excel worksheet.
  2. In a cell where you want to perform the fuzzy match, enter the following formula:
Copy Code=FUZZYMATCH(search_value, lookup_range, [similarity_threshold])

Replace search_value with the value you want to look up, lookup_range with the range of cells containing values to be matched, and [similarity_threshold] with an optional similarity threshold (default is 0.5).

Note that this custom function works best when the lookup range has exact matches in the first column, followed by progressively less similar matches.


Excel vba fuzzy match

In Excel, you can use a custom VBA function to perform fuzzy matching. Here is an example of how to create a FUZZYMATCH function in VBA:

  1. Press Alt + F11 to open the Visual Basic Editor.
  2. Go to Insert > Module to create a new VBA module.
  3. Copy and paste the following code into the module:
Function FUZZYMATCH(search_value As String, lookup_range As Range, Optional similarity_threshold As Double = 0.5) As Variant
    Dim cell As Range
    Dim max_similarity As Double
    Dim result As Variant
    
    For Each cell In lookup_range.Columns(1).Cells
        If IsEmpty(cell) Then Exit For
        
        Dim similarity As Double
        similarity = Application.WorksheetFunction.FuzzyCompare(search_value, cell.Value)
        
        If similarity >= similarity_threshold And similarity > max_similarity Then
            max_similarity = similarity
            result = lookup_range(cell.Row - lookup_range.Row + 1, 2).Value ' Assumes matching value is in column 2
        End If
    Next cell
    
    FUZZYMATCH = result
End Function
  1. Save the VBA module and go back to your Excel worksheet.
  2. In a cell where you want to perform the fuzzy match, enter the following formula:
=FUZZYMATCH(search_value, lookup_range, [similarity_threshold])

Replace search_value with the value you want to look up, lookup_range with the range of cells containing values to be matched (including both the search value and the possible matches), and [similarity_threshold] with an optional similarity threshold (default is 0.5).

Note that this custom function works best when the lookup range has exact matches in the first column, followed by progressively less similar matches.

Also, it may not be as fast or efficient as the Fuzzy Lookup add-in, especially for large data sets.


Excel vlookup fuzzy match

In Excel, you can use a combination of the VLOOKUP function and fuzzy matching techniques to perform a fuzzy lookup.

Here is an example of how to do this:

  1. Start by creating a helper column that generates a key or code for each value in your lookup table. This key should be designed to capture the distinctive features or patterns of each value that are relevant for matching purposes. For example, if you are matching names, you could create a key based on the first and last letters of the name, plus the length of the name. The idea is to create a consistent and unique representation of each value that can be used for fuzzy matching.
  2. Once you have created the helper column with the keys, sort your lookup table by the key column.
  3. In your search table, add a new column where you generate the same type of key as in step 1 for each search value.
  4. In the cell where you want to display the result of the fuzzy match, use the following formula:
=VLOOKUP(search_key,<sorted_lookup_range>,match_column_num,FALSE)

Replace search_key with the key generated in step 3 for the search value, <sorted_lookup_range> with the range of cells containing your lookup table (including both the key column and the column you want to return), and match_column_num with the index number of the column you want to return (relative to the sorted lookup range).

Set the last argument to FALSE to ensure that the VLOOKUP function returns an exact match only.

Note that this formula assumes that your lookup table is sorted by the key column in ascending order. If you change the sorting order, you will need to adjust the formula accordingly.

This method can work well for small to medium-sized data sets but may become slower and less accurate for larger or more complex data sets.

The Fuzzy Lookup add-in or a custom VBA function may be more appropriate in those cases.

Fuzzy name matching excel

Fuzzy name matching in Excel can be challenging because names often have variations and inconsistencies that can affect the matching accuracy (e.g., misspellings, initials, titles, suffixes, etc.).

However, there are several techniques you can use to improve your fuzzy name-matching results:

  1. Standardize your data: Before performing fuzzy matching on names, it’s important to standardize your data as much as possible. This may involve removing prefixes and suffixes, converting all letters to uppercase or lowercase, and correcting common spelling errors. You can use Excel functions such as PROPER, UPPER, LOWER, and SUBSTITUTE to accomplish this.
  2. Create a matching key: As mentioned earlier, creating a matching key or code for each name can help improve the matching accuracy. This key should be based on the distinctive features of each name that are relevant for matching purposes. For example, you could create a key based on the first and last letters of the name, plus the length of the name. You can use Excel functions such as LEFT, RIGHT, and LEN to generate these keys.
  3. Use fuzzy matching functions: Excel offers several fuzzy matching functions that can help you identify similarities between names, including Fuzzy Lookup add-in, FUZZYMATCH function, and VLOOKUP with wildcard characters. These functions use advanced algorithms to compare and match name values that are similar but not identical.
  4. Adjust the similarity threshold: When using fuzzy matching functions, it’s important to adjust the similarity threshold to reflect your specific requirements. A higher threshold will return fewer but more accurate matches, while a lower threshold will return more but less accurate matches. You can experiment with different thresholds to find the best balance between precision and recall.
  5. Review and validate the results: Finally, it’s important to review and validate the fuzzy matching results carefully, as they may not always be accurate or complete. You should look for patterns and trends in the matches, and consider additional information such as context and domain knowledge to make informed decisions about the matches.

Fuzzy match python

In Python, you can use the fuzzywuzzy library to perform fuzzy matching on strings.

Here are the steps to install and use fuzzywuzzy:

  1. Install fuzzywuzzy by running this command in your terminal or command prompt:Copy Codepip install fuzzywuzzy
  2. Import the fuzzywuzzy module and the process function:pythonCopy Codefrom fuzzywuzzy import process
  3. Call the process function with two arguments: the search string and a list of strings to match against. You can also specify additional parameters such as the matching method (e.g., ratio, partial_ratio, token_sort_ratio, etc.) and the minimum similarity score required for a match:pythonCopy Codequery = "apple" choices = ["banana", "grapefruit", "kiwi", "pineapple"] result = process.extractOne(query, choices, scorer=fuzz.partial_ratio, score_cutoff=80) print(result) This code will return the closest match to “apple” from the list of choices that has a partial ratio similarity score of at least 80. The output will be a tuple containing the matched string and its similarity score.

Note that fuzzywuzzy uses advanced algorithms to compare and match string values that are similar but not identical, based on their textual or numerical characteristics.

It can be a powerful tool for data cleaning, record linkage, and text mining tasks, but it’s important to review and validate the fuzzy matching results carefully, as they may not always be accurate or complete.

Fuzzy string matching excel

Fuzzy string matching in Excel involves finding similarities between two strings even if they are not an exact match.

This is especially useful when dealing with datasets that may have typos, missing words or characters, or variations in spelling.

One way to perform fuzzy string matching in Excel is to use the Fuzzy Lookup add-in. This add-in can be downloaded and installed from the Microsoft website.

Once installed, you can access it from the Data tab in Excel.

To use the Fuzzy Lookup add-in, you need to create two tables – one for the reference data and another for the data you want to match against.

Then, select the range of cells containing the data you want to match and click on Fuzzy Lookup in the Data tab.

Follow the prompts to select the reference table and configure the matching options.

Another way to perform fuzzy string matching in Excel is to use formulas such as LEFT, RIGHT, MID, and LEN to extract substrings from the strings you want to compare.

You can then use functions like IF, AND, and OR to compare these substrings and determine a match score.

There are also third-party add-ins and tools available that provide more advanced fuzzy matching capabilities, such as the Fuzzy Matching Tool from AbleBits or the Fuzzy Lookup Add-In for Excel from Microsoft.

Best fuzzy match excel

The best fuzzy match tool for Excel depends on your specific needs and the complexity of your data. Here are a few options to consider:

  1. Fuzzy Lookup Add-In for Excel: This is a free add-in developed by Microsoft that allows you to perform fuzzy matching between two tables. It uses the Levenshtein distance algorithm to calculate string similarity and returns the closest match from the reference dataset.
  2. Power Query: Power Query is a powerful tool that is built into Excel (starting with Excel 2010) and can perform fuzzy matching using the Fuzzy Grouping transformation. This option is particularly useful when working with larger datasets and can handle more complex matching scenarios.
  3. OpenRefine: OpenRefine is a free, open-source tool that can be used to clean and transform data. It also includes a powerful fuzzy matching feature that allows you to match similar strings based on various algorithms such as Jaro–Winkler, Levenshtein distance, and Soundex.
  4. AbleBits Fuzzy Duplicate Finder for Excel: This is a commercial add-in that provides advanced fuzzy matching capabilities. It allows you to customize the matching algorithm and threshold, and it can handle multiple columns of data.

Ultimately, the best fuzzy match tool for you will depend on your specific use case and the complexity of your data. I recommend trying out a few options to see which one works best for your needs.

Excel fuzzy match function

Excel does not have a built-in fuzzy match function, but you can use different formulas and techniques to perform fuzzy matching.

Here are some examples:

  1. Using the LEFT, RIGHT, MID, and LEN functions: These functions allow you to extract substrings from a text string based on a specific starting position and length. You can then compare these substrings with the corresponding substrings in another text string to determine a match score, which can be calculated using functions such as IF, AND, OR, and COUNTIF.
  2. Levenshtein distance algorithm: This is a commonly used algorithm for calculating the difference between two strings. Essentially, it counts the number of insertions, deletions, or substitutions needed to transform one string into another. You can implement this algorithm using VBA code or a third-party add-in such as Fuzzy Lookup Add-In for Excel.
  3. Soundex function: This function converts a text string into a four-character code based on its phonetic pronunciation. Two text strings that sound similar will produce the same Soundex code, allowing you to identify potential matches. However, this method may not work well for non-English languages or for certain types of data.
  4. Regular expressions: Regular expressions are a powerful tool for pattern matching and can be used to identify similarities between text strings. You can use the REGEXMATCH function in Excel to perform regular expression matching.

These are just a few examples of how you can perform fuzzy matching in Excel using various techniques and functions.

The best approach will depend on your specific use case and the complexity of your data.

Fuzzy match power query

Power Query provides a powerful and flexible way to perform fuzzy matching in Excel. Here are the steps to perform fuzzy matching using Power Query:

  1. Create two tables: One table containing the reference data, and another table containing the data you want to match.
  2. Load the tables into Power Query: Go to the Data tab in Excel and click on “From Table/Range” to load each of the tables into Power Query.
  3. Split columns: Split any columns in both tables that contain text strings that you want to compare. For example, if you want to compare company names, split the company name columns into individual words.
  4. Merge queries: Merge the two tables together by going to Home > Combine Queries > Merge Queries. Select the two tables and the column(s) you want to match on.
  5. Configure fuzzy matching options: In the merge options dialog box, select “Fuzzy Matching” under the join type dropdown. You can then adjust the similarity threshold and other matching options as needed.
  6. Preview your results: Click OK to merge the queries, and preview the results to ensure that the matching has worked as expected.
  7. Load your results: If the results look good, go to Home > Close & Load to load the merged dataset back into Excel.

Power Query’s fuzzy matching capabilities are quite powerful and allow you to customize the matching algorithm and threshold to fit your specific use case. This method is particularly useful when working with large datasets or when you need more advanced fuzzy matching functionality.

Fuzzy lookup not showing in excel

If the Fuzzy Lookup add-in is not showing up in Excel, there are a few steps you can take to try and resolve the issue:

  1. Ensure that you have installed the add-in: Go to File > Options > Add-ins > Manage Excel Add-ins and check if “Fuzzy Lookup” is listed. If it’s not, you may need to download and install the add-in from the Microsoft website.
  2. Enable the add-in: Once you’ve confirmed that the Fuzzy Lookup add-in is installed, check if it’s enabled by going to File > Options > Add-ins > Manage Excel Add-ins and ensuring that the checkbox next to “Fuzzy Lookup” is selected.
  3. Check if the add-in is disabled by Excel: Sometimes Excel disables add-ins if it detects a problem with them. To check if this is the case for the Fuzzy Lookup add-in, go to File > Options > Add-ins > Disabled Items and see if “Fuzzy Lookup” is listed. If it is, select it and click “Enable”.
  4. Restart Excel: Sometimes restarting Excel can solve issues with add-ins not showing up or not working properly.
  5. Verify compatibility: Make sure that the version of Fuzzy Lookup you have installed is compatible with the version of Excel you are using.

If none of these steps work, you may need to try reinstalling the Fuzzy Lookup add-in or contact Microsoft support for further assistance.

excel fuzzy match percentage

When performing fuzzy matching in Excel, you can calculate a match percentage to determine how similar two strings are.

There are several ways to calculate the match percentage, depending on the algorithm and approach used for fuzzy matching.

Here are a few examples:

  1. Levenshtein distance: This algorithm calculates the number of insertions, deletions, and substitutions required to transform one string into another. You can then calculate the match percentage as 100% minus the Levenshtein distance divided by the length of the longer string, multiplied by 100. For example, if the Levenshtein distance is 2 and the longer string is 10 characters, the match percentage would be (1 – (2/10)) * 100 = 80%.
  2. Jaro-Winkler distance: This algorithm calculates the similarity between two strings based on the number of matching characters and the position of those matches. You can then calculate the match percentage as the Jaro-Winkler distance multiplied by a scaling factor (usually 100) to get a percentage value. For example, if the Jaro-Winkler distance is 0.8, the match percentage would be 0.8 * 100 = 80%.
  3. Soundex: This function converts a text string into a four-character code based on its phonetic pronunciation. Two text strings that sound similar will produce the same Soundex code, allowing you to identify potential matches. You can then calculate the match percentage as the percentage of characters with the same Soundex code in both strings. For example, if “Smith” and “Smyth” have the same Soundex code for the first three characters, the match percentage would be 75%.

These are just a few examples of how you can calculate a match percentage when performing fuzzy matching in Excel.

The best approach will depend on the specific algorithm and method used for fuzzy matching.

Excel if fuzzy match

You can use an IF statement to perform a conditional check based on the result of a fuzzy match in Excel. Here’s an example:

Let’s assume you have two columns: column A contains the reference data, and column B contains the data you want to compare against the reference data using fuzzy matching.

You can use the following formula in column C to calculate a match score between the two strings:

=IF(ISERROR(FuzzyVlookup(B1,$A$1:$A$1000,1,FALSE,0.8)),"No Match",FuzzyVlookup(B1,$A$1:$A$1000,1,FALSE,0.8))

In this example, we’re using the Fuzzy Lookup add-in to perform the fuzzy matching.

The first argument is the string you want to match (in this case, cell B1), the second argument is the table range containing the reference data ($A1:1:A$1000), and the third argument is the column number in the table containing the matching data (1).

The fourth argument specifies the similarity threshold used for the matching. In this case, we’re using a threshold of 0.8, which means that any matches with a score below 0.8 will be considered a “No Match”.

If there is a match above the threshold, the formula returns the matched value from the reference data column.

We’re using the ISERROR function to check if there was a match or not. If the Fuzzy Lookup function returns an error (because there was no match above the threshold), then the formula returns “No Match”. Otherwise, it returns the matched value.

This is just one example of how you can use an IF statement to perform a conditional check based on the result of a fuzzy match in Excel.

The exact formula and approach will depend on the specific method and algorithm used for fuzzy matching.

Excel xlookup fuzzy match

The XLOOKUP function in Excel does not have a built-in fuzzy match capability. However, you can combine the XLOOKUP function with other functions to perform fuzzy matching.

Here’s an example:

Let’s assume you have two columns: column A contains the reference data, and column B contains the data you want to compare against the reference data using fuzzy matching.

You can use the following formula in column C to calculate a match score between the two strings:

=XLOOKUP("*"&B1&"*",A:A,A:A,,2,-1)

In this example, we’re using the wildcard character (*) to enable partial matches.

The first argument of XLOOKUP is "*"&B1&"*", which concatenates a wildcard character at the beginning and end of the string in cell B1.

This allows us to find any matches that contain the text in B1, rather than having to match exactly.

The second argument of XLOOKUP is the range containing the reference data (column A).

The third argument is also column A, which tells XLOOKUP to return the corresponding value from column A for any matches found.

The fourth argument is blank, which tells XLOOKUP to return an exact match or an error if no match is found.

In order to perform fuzzy matching, we need to change this argument to 2, which means “approximate match“.

The fifth argument specifies the match mode to use. We’re using -1, which means “find the smallest value that is greater than or equal to the lookup value”.

This will give us the closest match above the similarity threshold.

In this example, the XLOOKUP function will return the closest match above the similarity threshold for each value in column B.

If there is no match above the threshold, it will return an error. You can use an IF statement to handle the cases where there is no match, as shown in the previous example.

Note that this approach uses a simple string search for fuzzy matching and may not be as accurate as more advanced algorithms.

Power BI fuzzy matching DAX

Power BI provides several options to perform fuzzy matching in DAX. Here are some examples:

  1. Fuzzy matching using Levenshtein distance: You can use the following DAX formula to calculate the Levenshtein distance between two strings:
Levenshtein = 
VAR s1 = [String 1]
VAR s2 = [String 2]
VAR len1 = LEN(s1)
VAR len2 = LEN(s2) 
VAR matrix = ADDCOLUMNS(GENERATE(SUBSTITUTE(s1, " ", REPT(" ", 999)), SUBSTITUTE(s2, " ", REPT(" ", 999))), "d", IF([Column1] = [Column2], 0, 1))
RETURN
MAXX(
    FILTER(
        ADDCOLUMNS(
            GENERATESERIES(0, len1),
            "Char1", MID(s1, [Value] + 1, 1)
        ),
        NOT(ISBLANK([Char1]))
    ),
    SWITCH(
        TRUE(),
        [Value] = 0, SUMX(matrix , [d]),
        [Value] > 0 && [Value] < len1, MINX(FILTER(matrix, Column1 = [Char1]), [d]) + MAXX(FILTER(matrix, Column2 = MID(s2, [Value] + 1, 1)), [Value]),
        [Value] = len1, SUMX(matrix, [d])
    )
)

This formula first replaces spaces with a large number of blanks (999 in this case) and creates a matrix of individual characters for each string.

It then calculates the number of insertions, deletions, or substitutions required to transform one string into another using dynamic programming.

The result is the Levenshtein distance between the two strings.

  1. Fuzzy matching using Soundex algorithm: You can use the following DAX formula to calculate the Soundex code for a string:
Soundex = 
VAR s = UPPER([String])
VAR code = CONCATENATE(
    LEFT(s, 1),
    SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(RIGHT(s, LEN(s) - 1), "BFPV", 1), "CGJKQSXZ", 2), "DT", 3), "L", 4),
    REPT("0", 3)
)
RETURN
LEFT(code, 4)

This formula first converts the string to uppercase and replaces each letter with its corresponding Soundex code. It then adds trailing zeroes to complete the four-character code.

These are just a few examples of how you can perform fuzzy matching in DAX using Power BI. The best approach will depend on your specific use case and the complexity of your data.

Leave a Reply

Your email address will not be published. Required fields are marked *