Войти

Показать полную графическую версию : «Как объединить в одной ячейке Excel две формулы?


rafka
23-05-2024, 21:12
Имеется 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();"Текст";"")

yegres
24-05-2024, 08:46
Вот что 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 и выше это можно просто вставить как есть.

bredych
24-05-2024, 09:19
хотел бы в одном ячейки объединить их. »
объединить как именно?
что должно быть в результате?
Сумма результатов? Текст в виде 2 просто склеенных строк? Что-либо еще?




© OSzone.net 2001-2012