среда, 25 июля 2018 г.

Google Таблицы. Функции. GOOGLETRANSLATE



GOOGLETRANSLATE - позволяет переводить текст прямо в ячейке

Синтаксис функции следующий:
GOOGLETRANSLATE(text,[source_language],[target_language])
text — это текст, который нужно перевести.
[source_language] — язык, с которого мы переводим;
[target_language] —  язык, на который мы переводим.


Второй и третий аргументы задаются двухзначным кодом: ru, en и т.д.
Оба аргумента необязательные — если их не указать, перевод будет осуществляться на английский язык.
Их можно указать в самой функции, но можно брать из ячейки.


Google Таблицы. Функции. DETECTLANGUAGE


DETECTLANGUAGE - позволяет определить язык текста прямо в ячейке

Синтаксис функции следующий:
DETECTLANGUAGE(text)
text — это текст, у которого нужно определить язык.


вторник, 17 июля 2018 г.

Пользовательские функции Excel. Функция убирает из строки числа или текст.

Для извлечения только чисел

=Extract_Number_from_Text(str; 0)
или
=Extract_Number_from_Text(B1)
Для извлечения только текста
=Extract_Number_from_Text(str; 1)

Function Extract_Number_from_Text(sWord As String, Optional Metod As Integer)
' --- Функция убирает из строки числа или текст
'sWord = ссылка на ячейку или непосредственно текст
'Метод = 0 – числа
'Метод = 1 – текст

    Dim sSymbol As String, sInsertWord As String
    Dim i As Integer

    If sWord = "" Then Extract_Number_from_Text = "Нет данных!": Exit Function
    sInsertWord = ""
    sSymbol = ""
    For i = 1 To Len(sWord)
        sSymbol = Mid(sWord, i, 1)
        If Metod = 1 Then
            If Not LCase(sSymbol) Like "*[0-9]*" Then
                If (sSymbol = "," Or sSymbol = "." Or sSymbol = " ") And i > 1 Then
                    If Mid(sWord, i - 1, 1) Like "*[0-9]*" And Mid(sWord, i + 1, 1) Like "*[0-9]*" Then
                        sSymbol = ""
                    End If
                End If
                sInsertWord = sInsertWord & sSymbol
            End If
        Else
            If LCase(sSymbol) Like "*[0-9.,;:-]*" Then
                If LCase(sSymbol) Like "*[.,]*" And i > 1 Then
                    If Not Mid(sWord, i - 1, 1) Like "*[0-9]*" Or Not Mid(sWord, i + 1, 1) Like "*[0-9]*" Then
                        sSymbol = ""
                    End If
                End If
                sInsertWord = sInsertWord & sSymbol
            End If
        End If
    Next i
    Extract_Number_from_Text = sInsertWord
End Function

Данная строка отвечает за текстовые символы, которые могут встречаться внутри чисел и которые надо оставить(не удалять наравне с другими не числовыми символами). Остальные  просто удалится. 

Оставить только числа
Если надо исключить из удаления помимо цифр точку

четверг, 5 июля 2018 г.

Пользовательские Функции. Из даты Месяц прописью.date_to_string()

Пользовательские Функции. Из даты Месяц прописью.date_to_string(Date)

Функция извлекает из даты значение Месяц и переводит его в текстовое значение прописью.

Сначала создаем сценарий как здесь, далее создаем функцию.

function date_to_string(_date) { // --- Массив со значениями месяцев var _arr_months = new Array('январь', 'февраль', 'март', 'апрель', 'май', 'июнь', 'июль', 'август', 'сентябрь', 'октябрь','ноябрь','декабрь'); // --- Переменная для хранения Даты переданной функцией var _date = new Date(_date); // --- Переменная для сохранения имени месяца var _string = ''; // --- Проверяем если пустое значение даты, то завершаем и возвращаем false if (!_date || _date == 0) return false; // --- Получаем значение месяца в виде числа и достаем из массива его текстовое значение _string = _arr_months[_date.getMonth()]; // --- Возвращаем найденное значение return _string; }
 
После сохранения сценария можно использовать функцию