Страницы: 1
RSS
Количество минут текстом
 
Добрый день, уважаемые любители Excel.

Суть проблемы в следующем:
У меня есть число, исходя из последней цифры числа хочу подставить правильное окончание к фразе типа "Осталось 17 минут\52 минуты"
Формулу я бы записал так:
Код
=СЦЕПИТЬ("Осталось: ";H11;" ";ЕСЛИ(I12=0;"минут";ЕСЛИ(I12=1;"минута";ЕСЛИ(I12<5;"минуты";"минут")))) 
где H11 исходное число (74, например), а I12 результат функции =ПРАВСИМВ(H11), то есть получаем цифру 4.

Проблема в том, что всё записано верно, но не работает. На выходе получаю картину: "Осталось 74 минут", почему?
Надеюсь на вашу помощь, и спасибо!

Решение
:
Код
 ="Осталось: "&H11&" минут"&ВПР(ОСТАТ(МАКС(ОСТАТ(H11-11;100);9);10);{0;"а":1;"ы":4;""};2)
Изменено: LuckMusique - 16.07.2014 13:54:21
 
Файл-пример, пожалуйста.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Во вложении. К теме почему-то не захотел прикрепляться.
 
не вникал, но от 11 до 19 - это все минут
 
Это пример. Для меня не понятно, почему в результате выполнения функции 2>3, условно говоря. Не понимаю, в чём ошибка.
 
=--ПРАВСИМВ(H11)
 
LuckMusique, не нужно цитировать, если это не нужно.
 
Да, это действительно решает проблему, но где можно почитать об этом операторе "--"? То есть, почему теперь стало считать правильно, а по умолчанию нет?

И, конечно же, спасибо большое!
Изменено: LuckMusique - 16.07.2014 13:12:48
 
В формуле вы пытаетесь сравнить числа а в i12 у вас текст Nic70y, дал вам решение перевода в числовой формат
Лень двигатель прогресса, доказано!!!
 
текстовые формулы в результате дают текст, а не число.
наберите в поисковике типа: бинарное отрицание excel
 
Используйте функцию ЗНАЧЕН(), чтобы преобразовать результат ПРАВСИМВ() в число!
 
Разве числовой формат ячейки не заявляет, что содержимое следует считать числом? Или это относится только к форматированию отображаемых данных?
 
Проверяйте. Как умею.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Вы используете функцию работы с текстом все результаты работы этой функции являются текстом
Лень двигатель прогресса, доказано!!!
 
=СЦЕПИТЬ("Осталось: ";H11;" минут";ЕСЛИ(--ЛЕВБ(ПРАВБ(H11;2))=1;"";ВЫБОР(ПРАВСИМВ(H11)+1;"";"а";"ы";"ы";"ы";"";"";"";"";"")))
="Осталось: "&H11&" минут"&ЕСЛИ(ИЛИ(--ПРАВБ(H11;2)={11;12;13;14});"";ВПР(--ПРАВБ(H11);{0;"":1;"а":2;"ы":5;""};2;1))
 
Не надо с цифрами текст использовать. Используйте ОСТАТ(;100) и ОСТАТ(;10).
Изменено: JayBhagavan - 16.07.2014 13:25:40

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Цитата
LuckMusique пишет: Разве числовой формат ячейки не заявляет, что содержимое следует считать числом?
Формат ячейки -- это лишь способ отображения того, что на самом деле находится в ячейке. Функция ПРАВСИМВ() вам дает результат в текстовом виде (в символах!), и формат вас не спасет ;-) Удачи
 
JayBhagavan,ситуации разные бывают. Вариант Nic70y выглядит самым простым в плане читабельности формулы. vikttur, Karlsonchik, ваши варианты попробую, есть в них что попробовать.
JayBhagavan, Большое спасибо за вариант решения проблемы, но выглядит что-то очень уж монструозно, особенно вот этот кусок:

Код
=ЕСЛИ(И(ОСТАТ($A21;100)>=ТАБЛИЦА_СЛОВ!$B$2;ОСТАТ($A21;100)<=ТАБЛИЦА_СЛОВ!$C$2);ТАБЛИЦА_СЛОВ!$D$2;ВПР(ОСТАТ($A21;10);ТАБЛИЦА_СЛОВ!$B$3:$D$6;3)) 
Думаю, есть способ проще. Возможно, как раз тот, который привёл vikttur
 
Karlsonchik,Но цифра же тоже символ. Ключевое то, что ПРАВСИМВ отдаёт результат в тексте, а я его не мог перевести в цифру корректным образом.

Кстати, вместо длинной ЗНАЧЕН() предлагают использовать более короткую Ч().
Изменено: LuckMusique - 16.07.2014 13:34:26
 
Всё работает:
Код
="Осталось "&E7&" "&ЕСЛИ(ЗНАЧЕН(ПРАВСИМВ(E7;1))=0;"минут";ЕСЛИ(ЗНАЧЕН(ПРАВСИМВ(E7;1))>4;"минут";ЕСЛИ(ЗНАЧЕН(ПРАВСИМВ(E7;1))=1;"минута";"минуты")))
 
вариант:
Код
="Осталось: "&H11&" минут"&ВПР(ОСТАТ(МАКС(ОСТАТ(H11-11;100);9);10);{0;"а":1;"ы":4;""};2)
 
MCH, вот это круто, конечно...
Karlsonchik, такой вариант не гибок.
 
Прошлая моя с ошибкой. Исправил.
 
Цитата
LuckMusique пишет: Кстати, вместо длинной ЗНАЧЕН() предлагают использовать более короткую Ч().
Кто и в каких случаях предлагает?
Ч("1") = 0, а не 1
Страницы: 1
Наверх