Имеется 2 разные формулы , хотел бы в одном ячейки объединить их. Не поможете ?
1 формула: =IF(B2;DATE(YEAR(B2)+DATEDIF(B2+1;TODAY();"y")+1;MONTH(B2);DAY(B2))-TODAY();"")
2 формула: =IF(DATEVALUE(DAY(B2:B593)&"."&MONTH(B2:B593)&"."&YEAR(TODAY()))=TODAY();"Текст";"")
Вот что gpt ответил, попробуй, может поможет ))) :
Да, объединить эти две формулы в одной ячейке можно, но для этого нужно немного изменить их так, чтобы они работали вместе и давали желаемый результат.
Первая формула проверяет, если в ячейке B2 есть дата, добавляет к этой дате определенное количество лет и сравнивает с сегодняшней датой, возвращая разницу. Вторая формула проверяет, если текущая дата совпадает с любой датой из диапазона B2:B593, и возвращает текст, если это так.
Вот объединённая версия этих формул:
=IF(B2, DATE(YEAR(B2)+DATEDIF(B2+1, TODAY(), "y")+1, MONTH(B2), DAY(B2))-TODAY(), IF(DATEVALUE(DAY(B2:B593)&"."&MONTH(B2:B593)&"."&YEAR(TODAY()))=TODAY(), "Текст", ""))
Объяснение:
IF(B2, ...): Проверяет, есть ли дата в ячейке B2.
Если дата есть, выполняется формула DATE(YEAR(B2)+DATEDIF(B2+1, TODAY(), "y")+1, MONTH(B2), DAY(B2))-TODAY().
Если даты в B2 нет, выполняется вторая часть формулы IF(DATEVALUE(DAY(B2:B593)&"."&MONTH(B2:B593)&"."&YEAR(TODAY()))=TODAY(), "Текст", "").
Однако такая формула не будет работать корректно, так как функции в Excel ограничены работой с массивами в простых IF выражениях. Вместо этого лучше использовать формулу с подходящим диапазоном и подходящими проверками. Например, можно использовать массивные формулы или VBA для более сложных проверок.
Если вы всё же хотите проверить, не совпадает ли текущая дата с датой в любом из диапазонов B2:B593 и выполнить соответствующее действие, возможно, потребуется использовать другую логику или VBA код.
Если диапазон B2:B593 содержит даты, и вам нужно просто проверить, если одна из этих дат совпадает с сегодняшней датой, и если совпадает, то возвращать текст, тогда можно воспользоваться массивными формулами в Excel:
=IF(OR(DATEVALUE(DAY(B2:B593)&"."&MONTH(B2:B593)&"."&YEAR(TODAY()))=TODAY()), "Текст", IF(B2, DATE(YEAR(B2)+DATEDIF(B2+1, TODAY(), "y")+1, MONTH(B2), DAY(B2))-TODAY(), ""))
Эту формулу нужно вводить как массивную формулу, используя Ctrl+Shift+Enter, если вы работаете в версиях Excel до 365, в Excel 365 и выше это можно просто вставить как есть.
хотел бы в одном ячейки объединить их. »
объединить как именно?
что должно быть в результате?
Сумма результатов? Текст в виде 2 просто склеенных строк? Что-либо еще?
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.