Я не могу понять, что не так с этой формулой:
=IF((SUBSTITUTE(ADDRESS(1,COLUMN(),4),"1",3)<Sheet2!$B$6))
по (SUBSTITUTE(ADDRESS(1,COLUMN(),4),"1",3)
сути возвращает значение текущей буквы столбца, например, 'B'. 3 в конце возвращает номер строки. Так что в целом B3.
Это дата, которая является коротким типом даты. Затем она сравнивается с другой датой, которая также является коротким типом даты.
Эта формула не работает. При изменении формулы на:
=IF((SUBSTITUTE(ADDRESS(1,COLUMN(),4),"1",3)<Sheet2!$B$6),true,false)
он возвращает false независимо от того, выполнено ли условие if или нет.
Любая помощь будет высоко оценена.
решение1
Вам нужен "косвенный". Вы сравниваете адрес строки со значением ячейки.
Когда вы оцениваете формулу, вы получаете в основном это -
Что оценивается дает вам это -
If(string<value, true, false)
Вы можете попробовать косвенный -
=IF((INDIRECT(SUBSTITUTE(ADDRESS(1,COLUMN(),4),"1",3))<Sheet2!$B$6),1)
Он сравнит значение в ячейке со значением в другой ячейке -
решение2
Не видя, какой текст вы используете Substitute
, попробуйте сделать что-нибудь из этого:
=IF((SUBSTITUTE(ADDRESS(1,COLUMN(),4),"1","3")<Sheet2!$B$6),true,false)
=IF((SUBSTITUTE(ADDRESS(1,COLUMN(),4),1,3)<Sheet2!$B$6),true,false)
Это может быть грубым из-за того, что вы ищете строку и заменяете ее числом. Если нет, можете ли вы опубликовать текст, который вы используете для замены?