Имеется база данных пользователей Wmmail [шутка:)].
В общем, в таблице Excel нужно сделать выборку строк, ячейки которых содержат 2 прописные буквы в конце слова. Мб знает кто-нибудь? Вознаграждение - пин-код на 20 кр.
Есть опция условное форматирование.
Настраиваешь условия и получаешь выделение нужных значений. Главное правильно условие задать - нужны функции работы со строкой. А отбор построить врят ли получится.
Есть опция условное форматирование.
Настраиваешь условия и получаешь выделение нужных значений. Главное правильно условие задать - нужны функции работы со строкой. А отбор построить врят ли получится.
Пробовал. Фильтр пробовал. Условие - вот тут проблема. ПРОПИСН не канает)
Function ConvertRegistr(sString As String, Tip As Byte) As String
'Tip = 1 - ВСЕ ПРОПИСНЫЕ
'Tip = 2 - все строчные
'Tip = 3 - Начинать С Прописных
'Tip = 4 - Как в предложениях
'Tip = 5 - иЗМЕНИТЬ рЕГИСТР
Dim i&
If Tip = 4 Then
ConvertRegistr = StrConv(sString, 2)
Mid$(ConvertRegistr, 1, 1) = UCase(Mid$(ConvertRegistr, 1, 1))
ElseIf Tip > 4 Then
For i = 1 To Len(sString)
Mid$(sString, i, 1) = IIf(Mid$(sString, i, 1) = UCase(Mid$(sString, i, 1)), _
LCase(Mid$(sString, i, 1)), UCase(Mid$(sString, i, 1)))
Next
ConvertRegistr = sString
Else
ConvertRegistr = StrConv(sString, Tip)
End If
End Function
Добавлено спустя 24 секунды
Только в цикле перебирать свои значения.
Добавлено спустя 52 секунды
если бы в 1С я бы помог. но в екселе увы пас.
Function ConvertRegistr(sString As String, Tip As Byte) As String
'Tip = 1 - ВСЕ ПРОПИСНЫЕ
'Tip = 2 - все строчные
'Tip = 3 - Начинать С Прописных
'Tip = 4 - Как в предложениях
'Tip = 5 - иЗМЕНИТЬ рЕГИСТР
Dim i&
If Tip = 4 Then
ConvertRegistr = StrConv(sString, 2)
Mid$(ConvertRegistr, 1, 1) = UCase(Mid$(ConvertRegistr, 1, 1))
ElseIf Tip > 4 Then
For i = 1 To Len(sString)
Mid$(sString, i, 1) = IIf(Mid$(sString, i, 1) = UCase(Mid$(sString, i, 1)), _
LCase(Mid$(sString, i, 1)), UCase(Mid$(sString, i, 1)))
Next
ConvertRegistr = sString
Else
ConvertRegistr = StrConv(sString, Tip)
End If
End Function
Добавлено спустя 24 секунды
Только в цикле перебирать свои значения.
Добавлено спустя 52 секунды
если бы в 1С я бы помог. но в екселе увы пас.
Function ConvertRegistr(sString As String, Tip As Byte) As String
'Tip = 1 - ВСЕ ПРОПИСНЫЕ
'Tip = 2 - все строчные
'Tip = 3 - Начинать С Прописных
'Tip = 4 - Как в предложениях
'Tip = 5 - иЗМЕНИТЬ рЕГИСТР
Dim i&
If Tip = 4 Then
ConvertRegistr = StrConv(sString, 2)
Mid$(ConvertRegistr, 1, 1) = UCase(Mid$(ConvertRegistr, 1, 1))
ElseIf Tip > 4 Then
For i = 1 To Len(sString)
Mid$(sString, i, 1) = IIf(Mid$(sString, i, 1) = UCase(Mid$(sString, i, 1)), _
LCase(Mid$(sString, i, 1)), UCase(Mid$(sString, i, 1)))
Next
ConvertRegistr = sString
Else
ConvertRegistr = StrConv(sString, Tip)
End If
End Function
Добавлено спустя 24 секунды
Только в цикле перебирать свои значения.
Добавлено спустя 52 секунды
если бы в 1С я бы помог. но в екселе увы пас.
О Боже! Visual Basic, что ли?)
так ексель на нем и работает. его включаешь если не ошибаюсь ALT + f11
Function ConvertRegistr(sString As String, Tip As Byte) As String
'Tip = 1 - ВСЕ ПРОПИСНЫЕ
'Tip = 2 - все строчные
'Tip = 3 - Начинать С Прописных
'Tip = 4 - Как в предложениях
'Tip = 5 - иЗМЕНИТЬ рЕГИСТР
Dim i&
If Tip = 4 Then
ConvertRegistr = StrConv(sString, 2)
Mid$(ConvertRegistr, 1, 1) = UCase(Mid$(ConvertRegistr, 1, 1))
ElseIf Tip > 4 Then
For i = 1 To Len(sString)
Mid$(sString, i, 1) = IIf(Mid$(sString, i, 1) = UCase(Mid$(sString, i, 1)), _
LCase(Mid$(sString, i, 1)), UCase(Mid$(sString, i, 1)))
Next
ConvertRegistr = sString
Else
ConvertRegistr = StrConv(sString, Tip)
End If
End Function
Добавлено спустя 24 секунды
Только в цикле перебирать свои значения.
Добавлено спустя 52 секунды
если бы в 1С я бы помог. но в екселе увы пас.
О Боже! Visual Basic, что ли?)
так ексель на нем и работает. его включаешь если не ошибаюсь ALT + f11
Но, судя по коду, функция изменяет регистр
Добавлено спустя 34 секунды
2 произвольные прописные буквы, причем 2 подряд в конце слова
Две последние буквы в конце можно выделить функцией ПРАВСИМВ(), а вот чтобы они были именно прописными, сейчас не могу сообразить.
2 произвольные прописные буквы, причем 2 подряд в конце слова
Две последние буквы в конце можно выделить функцией ПРАВСИМВ(), а вот чтобы они были именно прописными, сейчас не могу сообразить.
если есть возможность получить последние две буквы, тогда можно проверить их в диапазоне кодов символов. Строчные находятся в одном диапазоне, заглавные в следующем. но все равно придется писать код. и необходимо найти таблицу диапазонов символов. тогда можно построить условие которое в цикле переберет все значения.
Пример из паскаля, от басика сильно отличаться не должен
Var
C:Char;
Begin
Write('Enter the letter: ');
Readln(C);
If (Ord(C)>64) and (Ord(C)96) and (Ord(C)
Пример из паскаля, от басика сильно отличаться не должен
Var
C:Char;
Begin
nowrite('Enter the letter: ');
Readln(C);
If (Ord(C)>64) and (Ord(C)96) and (Ord(C)
Это зависает от кодировки - раньше было просто +'40'hex и сравнивай, а щас какая-нибудь хрень в system32/ru-RU (у меня 1302 файла)
Итак.
Допустим, исходные данные у нас расположены в столбце A.
В столбце B функцией =КОДСИМВ(ПРАВСИМВ(ячейка столбца A;2)) получаем код предпоследнего символа.
Таким же способом в столбце C функцией =КОДСИМВ(ПРАВСИМВ(ячейка столбца A;1)) получаем код последнего символа.
Далее, выделив столбцы B и C, включаем в обоих столбцах автофильтр с условием: 'больше или равно' 192 И 'меньше или равно' 223.
Итак.
Допустим, исходные данные у нас расположены в столбце A.
В столбце B функцией =КОДСИМВ(ПРАВСИМВ(ячейка столбца A;2)) получаем код предпоследнего символа.
Таким же способом в столбце C функцией =КОДСИМВ(ПРАВСИМВ(ячейка столбца A;1)) получаем код последнего символа.
Далее, выделив столбцы B и C, включаем в обоих столбцах автофильтр с условием: 'больше или равно' 192 И 'меньше или равно' 223.