Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.12.2012, 06:44   #1
Trimbl
Форумчанин
 
Регистрация: 11.08.2009
Сообщений: 135
По умолчанию Матрешка из ЕСЛИ >7

Здравия желаю всем!
Тема стара, но не въезжаю. У меня две ячейки. В одной может быть любой месяц года, а в другой должен быть предыдущий т.е. в D1-январь, тогда в С1 - декабрь(предыдущего года); D1-февраль, тогда в С1 - январь и т.д. Какой код пользовательской функции позволит сложить эту матрешку?
Спасибо.
Вложения
Тип файла: rar Книга2.rar (5.6 Кб, 10 просмотров)
Trimbl вне форума Ответить с цитированием
Старый 02.12.2012, 07:12   #2
SVGuss
Пользователь
 
Регистрация: 11.09.2010
Сообщений: 55
По умолчанию

Цитата:
Сообщение от Trimbl Посмотреть сообщение
Здравия желаю всем!
Тема стара, но не въезжаю. У меня две ячейки. В одной может быть любой месяц года, а в другой должен быть предыдущий т.е. в D1-январь, тогда в С1 - декабрь(предыдущего года); D1-февраль, тогда в С1 - январь и т.д. Какой код пользовательской функции позволит сложить эту матрешку?
Спасибо.
Так? Если я правильно понял, что нужно.
Вложения
Тип файла: zip adddate.zip (7.0 Кб, 12 просмотров)
SVGuss вне форума Ответить с цитированием
Старый 02.12.2012, 07:15   #3
SVGuss
Пользователь
 
Регистрация: 11.09.2010
Сообщений: 55
По умолчанию

если нужен предыдущий, то не 1, а 11. =EDATE(C1;1)
SVGuss вне форума Ответить с цитированием
Старый 02.12.2012, 07:36   #4
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Если я правильно понял задачу, то, например, так:
Код:
Function DecrMonth(cell As Range) As String
    x = Month(DateValue("1," & cell & ",2000"))
    DecrMonth = MonthName(IIf(x = 1, 12, x - 1))
End Function
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 02.12.2012, 07:47   #5
Trimbl
Форумчанин
 
Регистрация: 11.08.2009
Сообщений: 135
По умолчанию

SVGuss благодарю за отклик, но необходимо чтобы при изменении ячейки D1 в С1 отображался предыдущий месяц. Пишем в D1 - Январь в C1 отображается -декабрь, прописываем D1 - Февраль в C1 -
отображается -Январь и т.д.
Trimbl вне форума Ответить с цитированием
Старый 02.12.2012, 07:56   #6
SVGuss
Пользователь
 
Регистрация: 11.09.2010
Сообщений: 55
По умолчанию

Цитата:
Сообщение от Trimbl Посмотреть сообщение
SVGuss благодарю за отклик, но необходимо чтобы при изменении ячейки D1 в С1 отображался предыдущий месяц. Пишем в D1 - Январь в C1 отображается -декабрь, прописываем D1 - Февраль в C1 -
отображается -Январь и т.д.
Ну, это вопрос cut and paste Теперь так?
Вложения
Тип файла: zip adddate.zip (6.8 Кб, 18 просмотров)
SVGuss вне форума Ответить с цитированием
Старый 02.12.2012, 07:56   #7
Trimbl
Форумчанин
 
Регистрация: 11.08.2009
Сообщений: 135
По умолчанию

Спасибо SAS888, - прямо в деятку. То, что и требовалось.
Trimbl вне форума Ответить с цитированием
Старый 03.12.2012, 10:14   #8
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

хватает простой формулы:
Цитата:
=ТЕКСТ(ДАТАМЕС(ДАТАЗНАЧ("01 "& D1& " 2012"); - 1);"ММММ")
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 03.12.2012, 12:30   #9
Trimbl
Форумчанин
 
Регистрация: 11.08.2009
Сообщений: 135
По умолчанию

Спасибо DiemonStar теперь буду знать и простую формулу. Пользуясь случаем еще раз благодарю всех за оказанное внимание, думаю, что тема исчерпана.
Trimbl вне форума Ответить с цитированием
Старый 03.12.2012, 13:19   #10
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

или еще немного проще:
Код:
=ТЕКСТ(ДАТАЗНАЧ("1 "& D1& " 2012") - 1);"ММММ")
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
процессор 1333mhz мат плата 2133mhz если дуал channel то используется 2133 на все оперативки? если их две то на каждую по 1050mhz? goluzov Компьютерное железо 1 01.05.2012 23:02
Правильна ли подпрограмма относительно данной спецификации? Если да,то обосновать,если нет-исправить подпрограмму. Nastya1221 Помощь студентам 3 26.01.2012 08:36
Функция ЕСЛИ подходит только для 1 условия, а если условий больше? Slavatron1984 Microsoft Office Excel 2 08.01.2012 22:07
Если функция ЕСЛИ не подходит Katherina_Koval Microsoft Office Excel 1 25.07.2008 19:09