Предполагая, что:
1. Вы можете изменить только дату в имени файла (например, только часть 08302018)
2. Эта дата всегда форматируется как mmddyyyy
3. Эта дата всегда =TODAY()-8
4. Все остальные данные остаются неизменными (например,имя листа, исходный файл находится в той же папке, что и конечный файл, возвращаемые значения в столбце C и т. д.)
Затем можно использовать функцию INDIRECT
для автоматического изменения этой даты в формуле:
=VLOOKUP(B2,INDIRECT("'[Approved Contractors "&TEXT(TODAY()-8,"mmddyyyy")&".xlsx]Contractor with key'!$B$2:$C$99999"),2,0)
Однако я заметил, что ваш пример идет вразрез с 3-м допущением, и вместо ссылки на TODAY()-8
вы хотите сослаться на дату THURSDAY
текущей недели.В этом случае вам просто нужно изменить базовую дату в приведенной выше формуле.Пожалуйста, рассмотрите формулу ниже:
=VLOOKUP(B2,INDIRECT("'[Approved Contractors "&TEXT(TODAY()-WEEKDAY(TODAY())+5,"mmddyyyy")&".xlsx]Contractor with key'!$B$2:$C$99999"),2,0)
Чтобы уточнить, что это делает, это меняет дату в ссылочном имени файла в формуле на THURSDAY
дату текущей недели.Поэтому, когда вы запускаете его сегодня в своем файле (15.09.2008), ссылочное имя файла должно быть «Одобренные подрядчики 09132018.xlsx» .
Если это возвращает ошибку, это можетозначает, что предполагаемый эталонный файл был неправильно назван.В этом случае использование функции IFERROR
предупредит нас о проверке имени файла ссылки.При возникновении ошибки в следующей формуле будет отображаться «Пожалуйста, проверьте ссылочное имя файла» :
=IFERROR(VLOOKUP(B2,INDIRECT("'[Approved Contractors "&TEXT(TODAY()-WEEKDAY(TODAY())+5,"mmddyyyy")&".xlsx]Contractor with key'!$B$2:$C$99999"),2,0),"Please check reference filename")