Если последний сивол — цифра, сделать одно, иначе — другое
zamboga
Дата: Понедельник, 15.07.2013, 14:30 |
Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация:
0
±
Замечаний:
0% ±
Excel 2013
ТЗ: надо проверить самый последний символ в ячейке, и если это цифра -- сделать одно действие, если любой другой символ -- сделать другое. Сделал через функцию "ИЛИ". Результат — неверный. Стал разбираться, и обнаружил, что функция "ИЛИ" работает с ошибками в зависимости от того, получает она данные из результата предыдущей формулы или напрямую (см. вложение) Как я понял, это из-за того, что ф-я "ПРАВСИМВ" возвращает данные в виде текста. Ок, "преобразовал" в число с помощью костыля, через формулу "ЦЕЛОЕ". Но теперь ругается на текстовый аргумент, пришлось чинить через "ЕСЛИОШИБКА" В итоге финальная формула получилась очень громоздкой. Вопрос. Как изящно решить мою задачу? Если последний символ цифра (0-9) — сделать одно, любой другой символ — другое.
ТЗ: надо проверить самый последний символ в ячейке, и если это цифра -- сделать одно действие, если любой другой символ -- сделать другое. Сделал через функцию "ИЛИ". Результат — неверный. Стал разбираться, и обнаружил, что функция "ИЛИ" работает с ошибками в зависимости от того, получает она данные из результата предыдущей формулы или напрямую (см. вложение) Как я понял, это из-за того, что ф-я "ПРАВСИМВ" возвращает данные в виде текста. Ок, "преобразовал" в число с помощью костыля, через формулу "ЦЕЛОЕ". Но теперь ругается на текстовый аргумент, пришлось чинить через "ЕСЛИОШИБКА" В итоге финальная формула получилась очень громоздкой. Вопрос. Как изящно решить мою задачу? Если последний символ цифра (0-9) — сделать одно, любой другой символ — другое. zamboga
К сообщению приложен файл:
__.xls
(31.0 Kb)
Ответить
Сообщение ТЗ: надо проверить самый последний символ в ячейке, и если это цифра -- сделать одно действие, если любой другой символ -- сделать другое. Сделал через функцию "ИЛИ". Результат — неверный. Стал разбираться, и обнаружил, что функция "ИЛИ" работает с ошибками в зависимости от того, получает она данные из результата предыдущей формулы или напрямую (см. вложение) Как я понял, это из-за того, что ф-я "ПРАВСИМВ" возвращает данные в виде текста. Ок, "преобразовал" в число с помощью костыля, через формулу "ЦЕЛОЕ". Но теперь ругается на текстовый аргумент, пришлось чинить через "ЕСЛИОШИБКА" В итоге финальная формула получилась очень громоздкой. Вопрос. Как изящно решить мою задачу? Если последний символ цифра (0-9) — сделать одно, любой другой символ — другое. Автор - zamboga Дата добавления - 15.07.2013 в 14:30
Serge_007
Дата: Понедельник, 15.07.2013, 14:37 |
Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
Код
=ЕСЛИ(ЕЧИСЛО(--ПРАВСИМВ(A3));"текст заканчивается цифрой";"текст заканчивается буквой")
Код
=ЕСЛИ(ЕЧИСЛО(--ПРАВСИМВ(A3));"текст заканчивается цифрой";"текст заканчивается буквой")
Serge_007
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение Код
=ЕСЛИ(ЕЧИСЛО(--ПРАВСИМВ(A3));"текст заканчивается цифрой";"текст заканчивается буквой")
Автор - Serge_007 Дата добавления - 15.07.2013 в 14:37
Формуляр
Дата: Понедельник, 15.07.2013, 14:38 |
Сообщение № 3
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация:
255
±
Замечаний:
0% ±
Excel 2003, 2013
Код
= IF(ISNUMBER(-RIGHT(A2)), "цифра", "не цифра")
ещё короче Код
= IF(ISERR(-RIGHT(A2)), "не цифра", "цифра")
Код
= IF(ISNUMBER(-RIGHT(A2)), "цифра", "не цифра")
ещё короче Код
= IF(ISERR(-RIGHT(A2)), "не цифра", "цифра")
Формуляр
Excel 2003 EN, 2013 EN
Сообщение отредактировал Формуляр - Понедельник, 15.07.2013, 14:39
Ответить
Сообщение Код
= IF(ISNUMBER(-RIGHT(A2)), "цифра", "не цифра")
ещё короче Код
= IF(ISERR(-RIGHT(A2)), "не цифра", "цифра")
Автор - Формуляр Дата добавления - 15.07.2013 в 14:38
ShAM
Дата: Понедельник, 15.07.2013, 14:55 |
Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1347
Репутация:
249
±
Замечаний:
0% ±
Excel 2010
По русски короче не будет ISNUMBER=ЕЧИСЛО ISERR=ЕОШИБКА ЕОШ ------------------------------------------- Виноват, и по русски короче.
По русски короче не будет ISNUMBER=ЕЧИСЛО ISERR=ЕОШИБКА ЕОШ ------------------------------------------- Виноват, и по русски короче. ShAM
Сообщение отредактировал ShAM - Понедельник, 15.07.2013, 14:56
Ответить
Сообщение По русски короче не будет ISNUMBER=ЕЧИСЛО ISERR=ЕОШИБКА ЕОШ ------------------------------------------- Виноват, и по русски короче. Автор - ShAM Дата добавления - 15.07.2013 в 14:55
zamboga
Дата: Понедельник, 15.07.2013, 15:08 |
Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация:
0
±
Замечаний:
0% ±
Excel 2013
Спасибо, что прокачали=) странно, что мне нигде поиском по справке/инету не попалась такая простая функция, как "ЕЧИСЛО", и очень понравился способ замены "текстового числа" на просто "число" еще раз спасибо вам, гуру!
Спасибо, что прокачали=) странно, что мне нигде поиском по справке/инету не попалась такая простая функция, как "ЕЧИСЛО", и очень понравился способ замены "текстового числа" на просто "число" еще раз спасибо вам, гуру! zamboga
Сообщение отредактировал zamboga - Понедельник, 15.07.2013, 15:17
Ответить
Сообщение Спасибо, что прокачали=) странно, что мне нигде поиском по справке/инету не попалась такая простая функция, как "ЕЧИСЛО", и очень понравился способ замены "текстового числа" на просто "число" еще раз спасибо вам, гуру! Автор - zamboga Дата добавления - 15.07.2013 в 15:08
zamboga
Дата: Понедельник, 15.07.2013, 15:29 |
Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация:
0
±
Замечаний:
0% ±
Excel 2013
как я понимаю, формулы ведут себя точно так же, как и (не меняя исходное число никак) и разницы нет, что использовать для преобразования "текстовых" чисел в "числовые"?
как я понимаю, формулы ведут себя точно так же, как и (не меняя исходное число никак) и разницы нет, что использовать для преобразования "текстовых" чисел в "числовые"? zamboga
Сообщение отредактировал zamboga - Понедельник, 15.07.2013, 15:30
Ответить
Сообщение как я понимаю, формулы ведут себя точно так же, как и (не меняя исходное число никак) и разницы нет, что использовать для преобразования "текстовых" чисел в "числовые"? Автор - zamboga Дата добавления - 15.07.2013 в 15:29
Serge_007
Дата: Понедельник, 15.07.2013, 15:31 |
Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
ЮMoney :41001419691823 | WMR :126292472390
Ответить
zamboga
Дата: Понедельник, 15.07.2013, 15:44 |
Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация:
0
±
Замечаний:
0% ±
Excel 2013
спс за линк, все теперь ясно
спс за линк, все теперь ясно zamboga
Ответить
Сообщение спс за линк, все теперь ясно Автор - zamboga Дата добавления - 15.07.2013 в 15:44
_Boroda_
Дата: Понедельник, 15.07.2013, 16:17 |
Сообщение № 9
Группа: Админы
Ранг: Местный житель
Сообщений: 16771
Репутация:
6551
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
А вот на удивление - работает вот так (без преобразования в число) Код
=ТЕКСТ(ПРАВСИМВ(A2);"Цифра;;Цифра;Не цифра")
длина такая же, как и у Код
=ЕСЛИ(ЕОШ(-ПРАВСИМВ(A2));"не цифра";"цифра")
кстати, ПРАВСИМВ можно заменить ПРАВБ. Еще короче будет
А вот на удивление - работает вот так (без преобразования в число) Код
=ТЕКСТ(ПРАВСИМВ(A2);"Цифра;;Цифра;Не цифра")
длина такая же, как и у Код
=ЕСЛИ(ЕОШ(-ПРАВСИМВ(A2));"не цифра";"цифра")
кстати, ПРАВСИМВ можно заменить ПРАВБ. Еще короче будет _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение А вот на удивление - работает вот так (без преобразования в число) Код
=ТЕКСТ(ПРАВСИМВ(A2);"Цифра;;Цифра;Не цифра")
длина такая же, как и у Код
=ЕСЛИ(ЕОШ(-ПРАВСИМВ(A2));"не цифра";"цифра")
кстати, ПРАВСИМВ можно заменить ПРАВБ. Еще короче будет Автор - _Boroda_ Дата добавления - 15.07.2013 в 16:17