Проблема работа с функцией =INDIRECT

Автор foxyra, 28 ноября 2022, 08:26

0 Пользователи и 1 гость просматривают эту тему.

foxyra

Доброго времени суток.
не могу разобраться

через =INDIRECT(AJ44 & "'file:///C:/Users/Desktop/Таблица.ods'#$'Ноябрь 2022'.CN27")
не работает .
=INDIRECT почему то работает только в одном документе но в любых листах.
=INDIRECT($A$3 & ".b27") такой вариант работает

при обращении к другому документу вылазит ошибка.

Подскажите пожалуйста ,что тут не так . За ранее спасибо.

bigor

#1
Цитата: foxyra от 28 ноября 2022, 08:26=INDIRECT(AJ44 & 'fil
а что у вас в
AJ44 ?
Проверил. Работает indirect в разных файлах. Условия файлы должны быть открыты
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

mikekaganski

ЦитироватьГлавная категория► Basic► Проблема работа с функцией =INDIRECT

У меня странное ощущение, что это не Basic...
С уважением,
Михаил Каганский

foxyra

#3
Есть документ , в нем страницы с названием месяцев года (1 страница 1 месяц)

в итоге я в этой ячейке пишу название месяца , и он ищет на этой странице ячейку указанную в пути .

получается я пишу например Ноябрь 2022 и он ищет в этом документе на странице Ноябрь 2022 ячейку CN27

Когда в одном документе это работает , а если ссылку делаешь на другой документ ,то он пишет ошибку 502.

вот мне нужно чтобы он правильно ссылался на другой документ и искал там.

foxyra

Цитата: mikekaganski от 28 ноября 2022, 09:28
ЦитироватьГлавная категория► Basic► Проблема работа с функцией =INDIRECT

У меня странное ощущение, что это не Basic...

у меня openoffice . функции в строке на каком языке ? я не знаю .
или в какую ветку мне с этим подскажите плз.

bigor

Цитата: foxyra от 28 ноября 2022, 09:36в какую ветку мне с этим
Мы обсуждаем табличные функции, поэтому тема просится в раздел Calc.
Теперь по основному вопросу:
Цитировать=INDIRECT($A$3 & ".b27")
берет из ячейки название месяца и "пристыковывает" и пристыковывает к нему имя ячейки, в результате получаем ссылку на ячейку на листе с названием месяца.
=INDIRECT(AJ44 & 'file:///C:/Users/Desktop/Таблица.ods'#$'Ноябрь 2022'.CN27)
берет название месяца и "пристыковывает" к нему содержимое ячейки CN27 по пути 'file:///C:/Users/Desktop/Таблица.ods'#$'Ноябрь 2022' в итоге получаем ссылку хз куда
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

foxyra


Теперь по основному вопросу:
Цитировать=INDIRECT($A$3 & ".b27")
берет из ячейки название месяца и "пристыковывает" и пристыковывает к нему имя ячейки, в результате получаем ссылку на ячейку на листе с названием месяца.
=INDIRECT(AJ44 & 'file:///C:/Users/Desktop/Таблица.ods'#$'Ноябрь 2022'.CN27)
берет название месяца и "пристыковывает" к нему содержимое ячейки CN27 по пути 'file:///C:/Users/Desktop/Таблица.ods'#$'Ноябрь 2022' в итоге получаем ссылку хз куда
[/quote]

да что то тупанул
получается мне нужно убрать лист из пути
=INDIRECT(AJ44 & 'file:///C:/Users/Desktop/Таблица.ods'#$.CN27)

как то так ?
но чет все равно ошибка. ща покапаю тут .
Спасибо огромное

foxyra

] берет название месяца и "пристыковывает" к нему содержимое ячейки CN27 по пути 'file:///C:/Users/Desktop/Таблица.ods'#$'Ноябрь 2022' в итоге получаем ссылку хз куда
[/quote]

подскажите ,а как правильно обратиться в другому документу через =INDIRECT и подставить ячейку с названием ?
с запятыми у меня беда и с кавычками . синтаксис не знаю.

mikekaganski

Справка пишет об адресах:

ЦитироватьThe reference to a cell of another document contains the name of the other document in single inverted commas, then a hash #, then the name of the sheet of the other document, followed by a point and the name of the cell.

Именно в таком порядке: сначала имя другого документа в одинарных кавычках, затем символ #, после которого имя листа, и в конце имя ячейки.

А какой порядок даёт Ваша формула?
С уважением,
Михаил Каганский

foxyra

Цитата: mikekaganski от 28 ноября 2022, 10:11Справка пишет об адресах:

А какой порядок даёт Ваша формула?

Да в каком порядке он сам автоматом ставит ,если тупо ссылку кидать на другой документ .

проблема в том что я хочу подставлять через =INDIRECT название листов.

я так понимаю нужно сначала задать каким то образом путь до документа , затем обозначить ячейку в которой находится (название с листа)и подставить его к пути ранее описанному и затем обратиться к определенной ячейке.

как вот это правильно сделать ? или я не догоняю (

mikekaganski

#10
Цитата: foxyra от 28 ноября 2022, 10:33Да в каком порядке он сам автоматом ставит ,если тупо ссылку кидать на другой документ .

Правда?

Вы даёте формулу:
Цитата: foxyra от 28 ноября 2022, 08:26=INDIRECT(AJ44 & "'file:///C:/Users/Desktop/Таблица.ods'#$'Ноябрь 2022'.CN27")

Вероятно, Вы читали справку по функции INDIRECT, и знаете, что аргумент у неё - строка адреса. Ну и конечно Вы пробовали просто посмотреть, какую же строку адреса Вы сконструировали в виде AJ44 & "'file:///C:/Users/Desktop/Таблица.ods'#$'Ноябрь 2022'.CN27" (ну или в виде AJ44 & 'file:///C:/Users/Desktop/Таблица.ods'#$.CN27 из #6). Вы просто ввели в пустую ячейку формулу

=AJ44 & 'file:///C:/Users/Desktop/Таблица.ods'#$.CN27
и проверили, соответствует ли то, что Вы видите, правильному синтаксису, который я привёл в #8?

Для сравнения проверьте то, что работает:

=$A$3 & ".b27"
и подумайте, куда в этом адресе нужно пристыковать имя внешнего файла, чтобы оно заработало.
С уважением,
Михаил Каганский

foxyra

#11
Спасибо за наводящие вопросы , сейчас по разбираюсь ..
если что напишу.

foxyra

Спасибо всем кто принял участие . у меня все получилось ,что я хотел сделать , только немного через велосипед ,но все же работает

мое решение.

в 1 ячейке я вывел путь к документу БЕЗ СТРАНИЦ.
во 2 ячейке я вывел первую ячейку & и название месяца (название месяца у меня в 3 ячейке списком)
ну и в 4 ячейке я вывел =INDIRECT прибавляя 2 + 3 ячейку ,ну и ссылка на поисковую ячейку.

1 и 2 столбцы я скрыл ,так что с виду все красиво ,если не заглядывать во внутрь .

еще раз всем спасибо .
Особенно Mikekaganski /