= ПОИСКПОЗ (B $ 4, CONCATENATE ("'", А5, "'!$ E:$ E "), 0)

Результат формулы выше #VALUE!

Ячейка A5 имеет значение Sheet1, однако после тестирования это изменится на дату, например, 01-Jul-14

Что я делаю неправильно?

Я собираюсь использовать его как часть a для создания таблицы данных из ежедневных таблиц, например, INDIRECT(CONCATENATE("'", A5, "'!", CONCATENATE(" E ", MATCH(B $ 4, Sheet1!$ E:$ E, 0))))

1 ответ1

0

Прежде всего, вам нужно использовать INDIRECT в вашей первой формуле.  Второй аргумент MATCH должен быть массивом, а вы передаете ему строку.  Измените это на

=MATCH(B$4, INDIRECT(CONCATENATE("'", A5, "'!$E:$E")), 0)

Во-вторых, во второй формуле вы вызываете CONCATENATE и передаете возвращаемое значение другому CONCATENATE . Это совершенно не нужно (то есть, излишне сложно). Ты можешь измениться

CONCATENATE("'", A5, "'!", CONCATENATE("E", MATCH(B$4,Sheet1!$E:$E,0)))

в

CONCATENATE("'", A5, "'!", "E", MATCH(B$4,Sheet1!$E:$E,0))

Кроме того, Excel использует & как оператор сцепления, так что вы можете заменить вышеприведенное

"'" & A5 & "'!" & "E" & MATCH(B$4,Sheet1!$E:$E,0)

Я считаю, что это легче читать, но это вопрос мнения.

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