Страницы: 1
RSS
частичное совпадение текста в пути файла и его значение
 
Вкладка Данные все время обновляется через макрос с колонки A по E столбец.

Хочу в столбце F  сделать формулу, которая автоматически будет выводить Значение, которое есть во вкладке Значение( по той папке , которое прописано)

Во кладке Значение есть название папок - и их значение.

Путь изначально идет как гипер ссылка, и первые 5 папок перед необходимой по строкам - одинаковы.
 
можно так
=ЕСЛИОШИБКА(ЗАМЕНИТЬ(ЗАМЕНИТЬ(Данные!B2;НАЙТИ(Данные!A2;Данные!B2)-1;ДЛСТР(Данные!A2)+1;"");1;13;"");"нет гиперссылки")
указал согласно описанию фиксированное число символов в пути к файлу (13)
Изменено: ВовавВова - 07.12.2024 14:13:48
 
СПАСИБО ОГРОМНОЕ , помогло, теперь при обновление ставит значения верно ( количество символов учел )

НИЗКИЙ ПОКЛОН =))))
Изменено: MKSmirnov - 07.12.2024 14:56:31
 
Дополнительный вопрос:

Если с конца убирать только то что из столбца А по количеству символов, то появилась еще нюанс.
Промежуточные папки с конца через \.

Во вложение отметила ЗЕЛЕНЫМ цветом.

Как докрутить формулу правильно? чтобы ексель понял логику. =)
 
Цитата
написал:
Как докрутить формулу правильно?
теперь так  :D  выделил отдельные блоки=это формулы прошлого варианта, дающие прошлый результат, из которого удаляются теперь уже новые лишние фрагменты

=ЕСЛИОШИБКА(
ЗАМЕНИТЬ(
ЗАМЕНИТЬ(
ЗАМЕНИТЬ(B2;НАЙТИ(A2;B2)-1;ДЛСТР(A2)+1;"");1;13;"");

ПОИСК("\*";
ЗАМЕНИТЬ(
ЗАМЕНИТЬ(B2;НАЙТИ(A2;B2)-1;ДЛСТР(A2)+1;"");1;13;"");1);

ДЛСТР(
ЗАМЕНИТЬ(
ЗАМЕНИТЬ(B2;НАЙТИ(A2;B2)-1;ДЛСТР(A2)+1;"");1;13;"")

)-ПОИСК("\*";
ЗАМЕНИТЬ(
ЗАМЕНИТЬ(B2;НАЙТИ(A2;B2)-1;ДЛСТР(A2)+1;"");1;13;"");1)+1;"");

ЕСЛИОШИБКА(

ЗАМЕНИТЬ(
ЗАМЕНИТЬ(B2;НАЙТИ(A2;B2)-1;ДЛСТР(A2)+1;"");1;13;"");"нет ссылки"))
----------------------------------------------------------------------------------------------------------
предидущая формула это вот (без ЕСЛИОШИБКА и "нет ссылки")
ЗАМЕНИТЬ(
ЗАМЕНИТЬ(B2;НАЙТИ(A2;B2)-1;ДЛСТР(A2)+1;"");1;13;"")


докрутилось ли у вас?
Изменено: ВовавВова - 07.12.2024 17:27:12
 
ЭТО ШЕДЕВР , заработало все КАК НАДО =)
 
Можно уточнить? Нужно получит знчение между 6м и 7м слэшем при условии ....
По вопросам из тем форума, личку не читаю.
 
Да
(уверен, сделаешь оптимальнее, тоже интересно)
вот покороче вариант (синим в файле)
=ЕСЛИОШИБКА(
ЗАМЕНИТЬ(ПРАВСИМВ(B2;ДЛСТР(B2)-13);НАЙТИ("\";ПРАВСИМВ(B2;ДЛСТР(B2)-13);1);ДЛСТР(ПРАВСИМВ(B2;ДЛСТР(B2)-13))-НАЙТИ("\";ПРАВСИМВ(B2;ДЛСТР(B2)-13))+1;"");"нет ссылки")
Изменено: ВовавВова - 07.12.2024 22:02:00
 
=IF((RIGHT(B7;LEN(A7))=A7)*(B7<>"");TRIM(MID(SUBSTITUTE(B7;"";REPT(" ";LEN(B7)));6*LEN(B7);LEN(B7)));"нет ссылки")
По вопросам из тем форума, личку не читаю.
Страницы: 1
Наверх