Объединение формул - PullRequest
       6

Объединение формул

1 голос
/ 25 октября 2011

У меня есть эта формула в таблице, которая в основном собирает данные из двух столбцов и объединяет их.Теперь я собираюсь объединить эту формулу с формулой REPLACE, которая в основном принимает эти символы æ,ø,å и заменяет их на a,o,a.

Вот формула:

=LOWER(LEFT(tableFaste[[#This Row];[Fornavn:]])&tableFaste[[#This Row];[Etternavn:]])

Ответы [ 2 ]

2 голосов
/ 25 октября 2011

Извините, не знаю, как Формула может удалить какой-либо список символов из строки.Возможно, вам придется вернуться к VBA для этого.Вот пользовательская функция для этого.Ваша формула станет

=DeleteChars([@UserName],{"æ","ø","å";"a","o","a"})

Для замены символов используйте {"æ", "ø", "å"; "a", "o", "a"}, где список до;старые символы после;новый.Вы можете составить список так долго, как вам нужно, просто убедитесь, что списки имеют одинаковую длину.
Для удаления заменяемых символов используйте {"æ", "ø", "å"} список требуемых символов.удалить

код UDF:

Function DeleteChars(r1 As Range, ParamArray c() As Variant) As Variant
    Dim i As Long
    Dim s As String

    s = r1
    If UBound(c(0), 1) = 1 Then
        For i = LBound(c(0), 2) To UBound(c(0), 2)
            s = Replace(s, c(0)(1, i), "")
        Next
    Else
        For i = LBound(c(0), 2) To UBound(c(0), 2)
            s = Replace(s, c(0)(1, i), c(0)(2, i))
        Next
    End If
    DeleteChars = s
End Function
1 голос
/ 25 октября 2011

Вы можете использовать ЗАМЕНУ

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(LOWER(LEFT(tableFaste[[#This Row];[Fornavn:]])&tableFaste[[#This Row];[Etternavn:]]),"æ","a"),"ø","o"),"å","a")
...