«Как объединить в одной ячейке Excel две формулы?
Имеется 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 просто склеенных строк? Что-либо еще? |
Время: 23:36. |
Время: 23:36.
© OSzone.net 2001-