Если значение аргумента "ссылка_на_ячейку" является ссылкой на другую книгу (внешней ссылкой), другая книга должна быть открыта. В противном случае функция ДВССЫЛ возвращает значение ошибки #ССЫЛКА!
Я тут пытался создать Имя с Адресом без привязки к Активному листу. И вроде бы каждый раз Excel подставляет Имя листа. Но если убрать имя листа и оставить только знак "!", то адрес становится универсальным.
=!E$7
И независимым. Смещать строки после этого лучше не стоит.
Спасибо. Но, как я уже и говорил, этот вариант не подходит. Хотел реализовать условие в "Списке" так же, как в варианте с дополнительным листом. Чтобы выбор был не строгим, а учитывал предыдущий установленный выше уровень - но без диапазона значений где то на скрытом листе или скрытом столбце. Т.е. если предыдущий был "1", то на выбор "2,1,-", если "5", то "6,5,4,3,2,1,-". Хотел, чтобы даже не шарящие в этом сотрудники просто могли скопировать ключевую колонку и формулу пункта. В варианте "один лист" пришлось уйти от умного списка Выбора уровня, только ограничив набор значений в ячейку столбца.
Жаль, что Список по формуле работает только с диапазонами.
Создал сквозной нумератор глав. Решил для упрощения выводить в ключевом столбце раскрывающийся список с выбором предполагаемого варианта уровня списка. Т.е. если предыдущий уровень списка был 1, то список {2;1;"-"} - чтобы пользователь не выбирал сразу 3 уровень нумерации (с 1. на 1.0.1, а сначала 1.1). В диспетчере имён мы можем создать массив ={3;2;1;"-"}. Можно ли как то Excel заставить превращать такое в списки? Через дополнительный лист в книге я это могу сделать, но хотелось бы реализовать минимальный уровень подготовки другой книги при копировании. Без VBA.
Полностью с вами согласен. Сам думал про количество различных разделителей - тот ещё ад для разбора логической структуры. Проще бы было, если бы сама MS озаботилась просмотром формул в наглядном логическом виде, а не просто сплошной строкой.
Так я под областью имел ввиду выражение в скобках (). Т.е. это конкретный блок, в который могут помещаться и другие (). Например, для монитора с разрешением 1280х1024, строка формул в оф365 может вмещать от 77 до 150 символов (в зависимости от контента). Если установить проверку длины блока на размер 100-120 символов, то вполне можно реализовать блочную структуру (хотя, подозреваю, тут ещё нужно делать поправку на отступы слева).
написал: Очень сложные формулы разнести по строкам вручную.
Ну этот вариант макроса тоже рабочий. Им разбить "по быстрому", а потом отдельные блоки укрупнить - а то сейчас вышла одна такая формула на страницу, а то и две)))
написал: да и в целом, нужен очень серьезный ИИ который не тупо разобъет на строки, а сделает написанное понятным
ИИ не нужен. На этом примере я понял как надо. Фактически нужен парсер формулы с составлением её карты разделителей как областей (), "" и других ,влияющих на синтаксис формулы. Количество символов в области до определённого размера помещать в одну строку. Какие то элементы хорошо смотрятся столбиком, например, И(), ИЛИ(). Но и там могут быть нюансы. После составления карты как БД сделать обратную сборку уже по условиям. Правда не знаю, как это всё повлияет на формулы массива.
п.с. сам макросами только баловался, так что извините за фантазии
Jack Famous написал: вам прямо ответили на поставленный вопрос — что не нравится?
Заголовок и описание темы дал вроде бы нормально. А люди привели примеры ручной работы. Вдруг есть способы через различные "надстройки экселя" (а их в магазине столько ,что не понятно есть ли там что то подобное), либо что то ещё. А VBA надо ещё посидеть и проанализировать: имеется ли вообще возможность прикрутить расширенный редактор формул. Либо в качестве временного решения отображать отдельное окно, где бы отображалась формула активной ячейки по определённым правилам в реальном времени (желательно с положением курсора).
В нормальных редакторах по программированию (у того же MS) иерархия строится автоматом (или почти автоматом, опыт есть).
Эти простые вещи я и сам знаю. И часто ими пользуюсь. Думал, может кто то придумал нечто автоматическое. Доходит до смешного: копируешь формулу в ворд и разбиваешь её на структуру, чтобы выявить ошибку логики, когда выходные данные явно ошибочны.
Здравствуйте. Может информация на форуме проскакивала и я не умею искать. Есть ли какой-либо способ отобразить формулу Excel многоуровнево, как в программировании, типа: =(.. (..); ( (..); );.. )
Не меняя при этом саму формулу, чтобы её функциональность не менялась. Это необходимо для логического понимания длинных формул. Возможно есть надстройки.
Эксель не понимает список, сформированный данной формулой, как набор значений для раскрывающегося списка. Я бы не просил совета тут, если бы было так просто.
две проблемы: 1. Не могу вместо индексов получить значения 2. Как завести этот набор значений как раскрывающийся список? (вручную заводится, формулой не знаю)
Юрий М написал: berstrider , Вы бы выбирали выражения - за помощью ведь пришли...
Извините, если кого оскорбил, поправил. Просто функционально пример не особо нужен, себя ламером в экселе не считаю, да и много раз данный форум по уже решенным чьим то проблемам помогал если не решить, то тропку нащупать. Данную проблему решил сам кардинальным способом.
Jack Famous написал: понять, как работает xl с данными и исправить логику вычислений, исходя из нового опыта, то есть разметку надо писать по-другому (например в ячейки с текстовым форматом)
БМВ написал: Что там у вас в файле - нам не очень видно.
Да файл тут не нужен, вопрос был по существу экселя, вдруг есть методы обхода формулой. Пришлось менять списки, теперь вся разметка с приставкой R (R1.1 - R1.25), так он точно не поймёт её как дату или число). Не понятно, почему по-разному работают функции сравнения в "ЕСЛИ" и "СУММЕСЛИ, СУММЕСЛИМН"
Здравствуйте. Необходимо было сделать сводную по суммам из таблицы в определённых отрезках по каждому параметру ( дорожная разметка 1.1 - 1.25). Т.к. эксель ругался на номера разметок, то они были введены как текстовые.
И тут вылетели дополнительные объёмы по разметке 1.18 - её вообще нет в таблице. Стал анализировать, оказалось, что для экселя (если выставить тип ячейки "ЧИСЛО") 1.1 и 1.18 идентичны (43101,00 и 43101,00). Причем функция "ЕСЛИ" корректно сравнивает, проблемы начинаются на функции СУММЕСЛИ и СУММЕСЛИМН.