Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Номер буквы в алфавите - Мир MS Excel

Старая форма входа
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Модератор форума: китин  
Мир MS Excel » Работа и общение » Мозговой штурм » Номер буквы в алфавите (на формулах определить местоположение символа в алфавите)
Номер буквы в алфавите
понравился вопрос?
buchlotnik Дата: Суббота, 20.12.2014, 15:49 | Сообщение № 1
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация: 929 ±
Замечаний: 20% ±

2010, 2013, 2016 RUS / ENG
Друзья, родился такой вроде несложный вопрос. Необходимо, чтобы формула определяла номер буквы в алфавите.
Вот только есть несколько НО:
1. надо корректно обрабатывать "Ё" и "ё"
2. формула должна быть устойчива к регистру
3. поддержка современного русского и английского алфавитов
4. для любого иного символа или тем более строки из нескольких символов формула должна вернуть пустое значение.

В общем в соответствии с приложенным примером

Собственное решение есть и составило 246 символов. Мне очень интересно, а реально ли это сделать менее чем за 100 символов?
К сообщению приложен файл: 5992442.xls (48.5 Kb)


Сообщение отредактировал buchlotnik - Воскресенье, 21.12.2014, 13:58
 
Ответить
СообщениеДрузья, родился такой вроде несложный вопрос. Необходимо, чтобы формула определяла номер буквы в алфавите.
Вот только есть несколько НО:
1. надо корректно обрабатывать "Ё" и "ё"
2. формула должна быть устойчива к регистру
3. поддержка современного русского и английского алфавитов
4. для любого иного символа или тем более строки из нескольких символов формула должна вернуть пустое значение.

В общем в соответствии с приложенным примером

Собственное решение есть и составило 246 символов. Мне очень интересно, а реально ли это сделать менее чем за 100 символов?

Автор - buchlotnik
Дата добавления - 20.12.2014 в 15:49
vikttur Дата: Суббота, 20.12.2014, 16:07 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

є, і, ї, ў - тоже кириллица
Цитата
Алфавиты на основе кириллицы являются или являлись системой письменности для 108 естественных языков


Сообщение отредактировал vikttur - Суббота, 20.12.2014, 16:10
 
Ответить
Сообщениеє, і, ї, ў - тоже кириллица
Цитата
Алфавиты на основе кириллицы являются или являлись системой письменности для 108 естественных языков

Автор - vikttur
Дата добавления - 20.12.2014 в 16:07
buchlotnik Дата: Суббота, 20.12.2014, 17:16 | Сообщение № 3
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация: 929 ±
Замечаний: 20% ±

2010, 2013, 2016 RUS / ENG
vikttur, скорректировал задачу - я подразумевал современный русский и английский алфавиты
 
Ответить
Сообщениеvikttur, скорректировал задачу - я подразумевал современный русский и английский алфавиты

Автор - buchlotnik
Дата добавления - 20.12.2014 в 17:16
vikttur Дата: Суббота, 20.12.2014, 18:06 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

Без использования функций типа ЕСЛИОШИБКА?
Цитата
формулы должны работать в 2003, если не оговорено иное

И еще: определять букву, введенную, например, в А1, или как в примере - формула для протягивания по показанной таблице символов?


Сообщение отредактировал vikttur - Суббота, 20.12.2014, 18:16
 
Ответить
СообщениеБез использования функций типа ЕСЛИОШИБКА?
Цитата
формулы должны работать в 2003, если не оговорено иное

И еще: определять букву, введенную, например, в А1, или как в примере - формула для протягивания по показанной таблице символов?

Автор - vikttur
Дата добавления - 20.12.2014 в 18:06
buchlotnik Дата: Суббота, 20.12.2014, 18:34 | Сообщение № 5
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация: 929 ±
Замечаний: 20% ±

2010, 2013, 2016 RUS / ENG
vikttur, первый раз создаю тему в МШ, сорри за недоговорки - формула должна протягиваться, не обязательно по указанной таблице символов, просто вдоль некоего столбца с символами, наподобие того, что в примере. По ЕСЛИОШИБКА - тут я лоханулся - правила не внимательно читал - да без неё родимой, только у меня тогда 130 246 :(
 
Ответить
Сообщениеvikttur, первый раз создаю тему в МШ, сорри за недоговорки - формула должна протягиваться, не обязательно по указанной таблице символов, просто вдоль некоего столбца с символами, наподобие того, что в примере. По ЕСЛИОШИБКА - тут я лоханулся - правила не внимательно читал - да без неё родимой, только у меня тогда 130 246 :(

Автор - buchlotnik
Дата добавления - 20.12.2014 в 18:34
vikttur Дата: Суббота, 20.12.2014, 20:14 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

Если тупо обходить ошибку, то формула сильно "вырастает". Не тупо - не нашел пока что.
Без проверки ошибок - 105 88
С проверкой - 195


Сообщение отредактировал vikttur - Воскресенье, 21.12.2014, 00:55
 
Ответить
СообщениеЕсли тупо обходить ошибку, то формула сильно "вырастает". Не тупо - не нашел пока что.
Без проверки ошибок - 105 88
С проверкой - 195

Автор - vikttur
Дата добавления - 20.12.2014 в 20:14
Gustav Дата: Воскресенье, 21.12.2014, 03:49 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2757
Репутация: 1139 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
Без ЕСЛИОШИБКА - 168 164 162


МОИ: Ник, Tip box: 41001663842605

Сообщение отредактировал Gustav - Воскресенье, 21.12.2014, 21:30
 
Ответить
СообщениеБез ЕСЛИОШИБКА - 168 164 162

Автор - Gustav
Дата добавления - 21.12.2014 в 03:49
vikttur Дата: Воскресенье, 21.12.2014, 12:48 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

Еще замечание.
Например, мягкий знак (СИМВОЛ(220)) в шрифте Wingdings 2 отображается как звездочка. Если по условиям задачи, то нужно и это отслеживать? Иначе формула покажет, что в русском алфавите 30-й знак - звездочка.
Моя формула в этом случае безсильна.
 
Ответить
СообщениеЕще замечание.
Например, мягкий знак (СИМВОЛ(220)) в шрифте Wingdings 2 отображается как звездочка. Если по условиям задачи, то нужно и это отслеживать? Иначе формула покажет, что в русском алфавите 30-й знак - звездочка.
Моя формула в этом случае безсильна.

Автор - vikttur
Дата добавления - 21.12.2014 в 12:48
MCH Дата: Воскресенье, 21.12.2014, 13:29 | Сообщение № 9
Группа: Админы
Ранг: Старожил
Сообщений: 2003
Репутация: 751 ±
Замечаний: ±

Без ЕСЛИОШИБКА - 173 167 162 145


Сообщение отредактировал MCH - Воскресенье, 21.12.2014, 13:50
 
Ответить
СообщениеБез ЕСЛИОШИБКА - 173 167 162 145

Автор - MCH
Дата добавления - 21.12.2014 в 13:29
buchlotnik Дата: Воскресенье, 21.12.2014, 13:43 | Сообщение № 10
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация: 929 ±
Замечаний: 20% ±

2010, 2013, 2016 RUS / ENG
vikttur, я думаю у любого формула будет бессильна перед шрифтом - давайте считать, что в файле стандартный Calibri
 
Ответить
Сообщениеvikttur, я думаю у любого формула будет бессильна перед шрифтом - давайте считать, что в файле стандартный Calibri

Автор - buchlotnik
Дата добавления - 21.12.2014 в 13:43
Rioran Дата: Понедельник, 22.12.2014, 10:34 | Сообщение № 11
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация: 290 ±
Замечаний: 0% ±

Excel 2013
Всем привет.

Вне конкурса, макрофункция.

[vba]
Код
Function RioAsc(StrX As String) As Byte

If Len(StrX) > 1 Then Exit Function
RioAsc = Asc(UCase(StrX))

Select Case RioAsc
     Case Is > 197: RioAsc = RioAsc - 190
     Case Is > 191: RioAsc = RioAsc - 191
     Case 65 To 90: RioAsc = RioAsc - 64
     Case 168: RioAsc = 7
     Case Else: RioAsc = 0
End Select

End Function
[/vba]
К сообщению приложен файл: Rio_Asc.xlsm (21.5 Kb)


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279
 
Ответить
СообщениеВсем привет.

Вне конкурса, макрофункция.

[vba]
Код
Function RioAsc(StrX As String) As Byte

If Len(StrX) > 1 Then Exit Function
RioAsc = Asc(UCase(StrX))

Select Case RioAsc
     Case Is > 197: RioAsc = RioAsc - 190
     Case Is > 191: RioAsc = RioAsc - 191
     Case 65 To 90: RioAsc = RioAsc - 64
     Case 168: RioAsc = 7
     Case Else: RioAsc = 0
End Select

End Function
[/vba]

Автор - Rioran
Дата добавления - 22.12.2014 в 10:34
beast2040 Дата: Понедельник, 22.12.2014, 11:36 | Сообщение № 12
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 40% ±

Удалено администрацией. Нарушение Правил этой ветки форума
В E63 вводим символ и получаем номер в алфавите.
Было бы короче если б эксель позволял вводить промежутки например вот так 10>x>0


Сообщение отредактировал beast2040 - Понедельник, 22.12.2014, 12:23
 
Ответить
СообщениеУдалено администрацией. Нарушение Правил этой ветки форума
В E63 вводим символ и получаем номер в алфавите.
Было бы короче если б эксель позволял вводить промежутки например вот так 10>x>0

Автор - beast2040
Дата добавления - 22.12.2014 в 11:36
AlexM Дата: Понедельник, 22.12.2014, 11:50 | Сообщение № 13
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4511
Репутация: 1128 ±
Замечаний: 0% ±

Excel 2003
beast2040, выкладывать решения еще рано. В строках 257 и 259 со значениями "АЯ" и "апрт" результат не верный.
Есть решение на 192 181 175 знака



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.


Сообщение отредактировал AlexM - Понедельник, 22.12.2014, 15:45
 
Ответить
Сообщениеbeast2040, выкладывать решения еще рано. В строках 257 и 259 со значениями "АЯ" и "апрт" результат не верный.
Есть решение на 192 181 175 знака

Автор - AlexM
Дата добавления - 22.12.2014 в 11:50
krosav4ig Дата: Понедельник, 22.12.2014, 15:24 | Сообщение № 14
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
у мну есть две немассивные формулы, обе не совсем правильные
одна с ЕСЛИОШИБКА (167 без "="), другая без, но выводит числа текстом (158 без "=")
думаю дальше...


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Понедельник, 22.12.2014, 15:37
 
Ответить
Сообщениеу мну есть две немассивные формулы, обе не совсем правильные
одна с ЕСЛИОШИБКА (167 без "="), другая без, но выводит числа текстом (158 без "=")
думаю дальше...

Автор - krosav4ig
Дата добавления - 22.12.2014 в 15:24
AlexM Дата: Понедельник, 22.12.2014, 20:48 | Сообщение № 15
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4511
Репутация: 1128 ±
Замечаний: 0% ±

Excel 2003
Есть решение 142 141 знак. Использован пользовательский формат 0;;



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.


Сообщение отредактировал AlexM - Понедельник, 22.12.2014, 21:41
 
Ответить
СообщениеЕсть решение 142 141 знак. Использован пользовательский формат 0;;

Автор - AlexM
Дата добавления - 22.12.2014 в 20:48
Nic70y Дата: Понедельник, 22.12.2014, 21:08 | Сообщение № 16
Группа: Друзья
Ранг: Экселист
Сообщений: 8791
Репутация: 2288 ±
Замечаний: 0% ±

Excel 2010
формат 0;;
126ошибся, один момент не заметил 136


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Понедельник, 22.12.2014, 21:41
 
Ответить
Сообщение
формат 0;;
126ошибся, один момент не заметил 136

Автор - Nic70y
Дата добавления - 22.12.2014 в 21:08
krosav4ig Дата: Понедельник, 22.12.2014, 22:45 | Сообщение № 17
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
132 128 без "=" с форматом 0;;
если бы не символы І и і , то было бы 121 :(
сократил свои первые две формулы, с ЕСЛИОШИБКА 158 без "=", с выводом номера текстом 149 без "="


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Вторник, 23.12.2014, 15:49
 
Ответить
Сообщение132 128 без "=" с форматом 0;;
если бы не символы І и і , то было бы 121 :(
сократил свои первые две формулы, с ЕСЛИОШИБКА 158 без "=", с выводом номера текстом 149 без "="

Автор - krosav4ig
Дата добавления - 22.12.2014 в 22:45
vikttur Дата: Вторник, 23.12.2014, 00:05 | Сообщение № 18
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

Ну дык... С таким форматом можно и 140132 (с =).
Можно еще на два уменьшить, условия задачи не нарушатся - 130 (с =).
Но на практике я бы не убирал :).


Сообщение отредактировал vikttur - Вторник, 23.12.2014, 00:45
 
Ответить
СообщениеНу дык... С таким форматом можно и 140132 (с =).
Можно еще на два уменьшить, условия задачи не нарушатся - 130 (с =).
Но на практике я бы не убирал :).

Автор - vikttur
Дата добавления - 23.12.2014 в 00:05
AlexM Дата: Вторник, 23.12.2014, 01:15 | Сообщение № 19
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4511
Репутация: 1128 ±
Замечаний: 0% ±

Excel 2003
Достиг 132 115 113 109 без "=" с форматом 0;;



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.


Сообщение отредактировал AlexM - Вторник, 23.12.2014, 02:05
 
Ответить
СообщениеДостиг 132 115 113 109 без "=" с форматом 0;;

Автор - AlexM
Дата добавления - 23.12.2014 в 01:15
beast2040 Дата: Вторник, 23.12.2014, 10:44 | Сообщение № 20
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 40% ±

AlexM, hands


Сообщение отредактировал beast2040 - Вторник, 23.12.2014, 10:45
 
Ответить
СообщениеAlexM, hands

Автор - beast2040
Дата добавления - 23.12.2014 в 10:44
Мир MS Excel » Работа и общение » Мозговой штурм » Номер буквы в алфавите (на формулах определить местоположение символа в алфавите)
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!