1

Я не могу понять, что не так с этой формулой:

=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 или нет.

Любая помощь будет принята с благодарностью.

2 ответа2

1

Вам нужен « косвенный ». Вы сравниваете строковый адрес со значением ячейки.

Когда вы оцениваете формулу, вы в основном получаете это -

Который оценил, дает вам это -

If(string<value, true, false)

Вы можете попробовать косвенный -

=IF((INDIRECT(SUBSTITUTE(ADDRESS(1,COLUMN(),4),"1",3))<Sheet2!$B$6),1)

Он будет сравнивать значение в ячейке с другой ячейкой -

0

Не видя, какой текст вы используете для 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)

Это может привести вас к грубости из-за того, что вы ищете строку и заменяете ее числом. Если нет, можете ли вы опубликовать текст, который вы используете для замены?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .