Вот что 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 и выше это можно просто вставить как есть.