Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Диспетчер имен. Относительная ссылка без привязки к активному листу
 
Я тут пытался создать Имя с Адресом без привязки к Активному листу. И вроде бы каждый раз 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.
Изменено: berstrider - 13.09.2023 13:22:17
Автоматическое многоуровневое отображение формулы, Как отобразить формулу MS Excel по другому?
 
Полностью с вами согласен. Сам думал про количество различных разделителей - тот ещё ад для разбора логической структуры.
Проще бы было, если бы сама MS озаботилась просмотром формул в наглядном логическом виде, а не просто сплошной строкой.
Автоматическое многоуровневое отображение формулы, Как отобразить формулу MS Excel по другому?
 
Цитата
написал: это упрощает чтение листинга кода VBA...
Так я под областью имел ввиду выражение в скобках (). Т.е. это конкретный блок, в который могут помещаться и другие (). Например, для монитора с разрешением 1280х1024, строка формул в оф365 может вмещать от 77 до 150 символов (в зависимости от контента). Если установить проверку длины блока на размер 100-120 символов, то вполне можно реализовать блочную структуру (хотя, подозреваю, тут ещё нужно делать поправку на отступы слева).
Автоматическое многоуровневое отображение формулы, Как отобразить формулу MS Excel по другому?
 
Цитата
написал:
Очень сложные формулы разнести по строкам вручную.
Ну этот вариант макроса тоже рабочий. Им разбить "по быстрому", а потом отдельные блоки укрупнить - а то сейчас вышла одна такая формула на страницу, а то и две)))
Автоматическое многоуровневое отображение формулы, Как отобразить формулу MS Excel по другому?
 
Цитата
написал:
да и в целом, нужен очень серьезный ИИ который не тупо разобъет на строки, а сделает написанное понятным
ИИ не нужен. На этом примере я понял как надо. Фактически нужен парсер формулы с составлением её карты разделителей как областей (), "" и других ,влияющих на синтаксис формулы. Количество символов в области до определённого размера помещать в одну строку. Какие то элементы хорошо смотрятся столбиком, например, И(), ИЛИ(). Но и там могут быть нюансы. После составления карты как БД сделать обратную сборку уже по условиям. Правда не знаю, как это всё повлияет на формулы массива.

п.с. сам макросами только баловался, так что извините за фантазии :)
Автоматическое многоуровневое отображение формулы, Как отобразить формулу MS Excel по другому?
 
Цитата
написал:
Макрос, разбивающий формулу на строки и проставляющий отступы.
Спасибо. Сделал через надстройку, изменил немного шаг.
Автоматическое многоуровневое отображение формулы, Как отобразить формулу MS Excel по другому?
 
Спасибо всем.
Автоматическое многоуровневое отображение формулы, Как отобразить формулу MS Excel по другому?
 
Цитата
Jack Famous написал: вам прямо ответили на поставленный вопрос — что не нравится?
Заголовок и описание темы дал вроде бы нормально. А люди привели примеры ручной работы. Вдруг есть способы через различные "надстройки экселя" (а их в магазине столько ,что не понятно есть ли там что то подобное), либо что то ещё. А VBA надо ещё посидеть и проанализировать: имеется ли вообще возможность прикрутить расширенный редактор формул. Либо в качестве временного решения отображать отдельное окно, где бы отображалась формула активной ячейки по определённым правилам в реальном времени (желательно с положением курсора).

В нормальных редакторах по программированию (у того же MS) иерархия строится автоматом (или почти автоматом, опыт есть).
Автоматическое многоуровневое отображение формулы, Как отобразить формулу MS Excel по другому?
 
Эти простые вещи я и сам знаю. И часто ими пользуюсь. Думал, может кто то придумал нечто автоматическое.
Доходит до смешного: копируешь формулу в ворд и разбиваешь её на структуру, чтобы выявить ошибку логики, когда выходные данные явно ошибочны.
Автоматическое многоуровневое отображение формулы, Как отобразить формулу MS Excel по другому?
 
Здравствуйте.
Может информация на форуме проскакивала и я не умею искать. Есть ли какой-либо способ отобразить формулу Excel многоуровнево, как в программировании, типа:
=(..
 (..);
 (
    (..);
 );..
)

Не меняя при этом саму формулу, чтобы её функциональность не менялась. Это необходимо для логического понимания длинных формул. Возможно есть надстройки.
Связка с индексом при формировании выпадающего списка из уникальных значений
 
я всё понимаю, я хочу добиться условия: без дополнительной строки
Связка с индексом при формировании выпадающего списка из уникальных значений
 
Эксель не понимает список, сформированный данной формулой, как набор значений для раскрывающегося списка.
Я бы не просил совета тут, если бы было так просто.
Связка с индексом при формировании выпадающего списка из уникальных значений
 
понял ошибку, отфильтровал ошибки значений
Код
=ОБЪЕДИНИТЬ(";";ИСТИНА;ЕСЛИ($B$1:$O$1<>"";ЕСЛИОШИБКА(ИНДЕКС($B$1:$O$1;1;ЕСЛИ(ЕСЛИОШИБКА(ПОИСКПОЗ($B$1:$O$1;$B$1:$O$1;0);"")=СТОЛБЕЦ(ДВССЫЛ("$A$1:"&АДРЕС(1;СЧЁТЗ($B$1:$O$1))));ПОИСКПОЗ($B$1:$O$1;$B$1:$O$1;0);""));"")))
получил список уникальных значений в ячейку:
f;g;h;j;y;i;k
как строку превратить в раскрывающийся список?
Связка с индексом при формировании выпадающего списка из уникальных значений
 
Итак, есть набор значений:
Цитата
ffghhjjjyffiik
протягиванием формулы по ячейкам я могу получить уникальные значения по ячейкам
Код
=ЕСЛИОШИБКА(ИНДЕКС($B$1:$O$1;1;НАИМЕНЬШИЙ(ЕСЛИ(ЕСЛИОШИБКА(ПОИСКПОЗ($B$1:$O$1;$B$1:$O$1;0);"")=СТОЛБЕЦ(ДВССЫЛ("$A$1:"&АДРЕС(1;СЧЁТЗ($B$1:$O$1))));ПОИСКПОЗ($B$1:$O$1;$B$1:$O$1;0);"");СТОЛБЕЦ()-(СТОЛБЕЦ($B$1)-1)));"")
Цитата
fghjyik
И вроде бы можно из этого диапазона составить список
Но как сделать без дополнительной строки?

Такой формулой получил список индексов (даже без массива работает) в одну ячейку:
Код
=ОБЪЕДИНИТЬ(";";ИСТИНА;ЕСЛИ($B$1:$O$1<>"";ЕСЛИ(ЕСЛИОШИБКА(ПОИСКПОЗ($B$1:$O$1;$B$1:$O$1;0);"")=СТОЛБЕЦ(ДВССЫЛ("$A$1:"&АДРЕС(1;СЧЁТЗ($B$1:$O$1))));ПОИСКПОЗ($B$1:$O$1;$B$1:$O$1;0);"")))
Цитата
1;3;4;6;9;12;14

две проблемы:
1. Не могу вместо индексов получить значения
2. Как завести этот набор значений как раскрывающийся список? (вручную заводится, формулой не знаю)

п.с. хотелось бы обойтись без макросов.
Изменено: berstrider - 27.03.2020 14:51:07 (добавлен файл)
Проблема суммеслимн(): прошу помочь разграничить 1.1 и 1.18
 
Цитата
БМВ написал:
Не сохранил перед отправкой, перезалил.
Можешь рассказать, что именно ты сделал. В чём тонкость?
всё, понял. спасибо. Интересный способ.
Изменено: berstrider - 15.08.2018 16:41:04
Проблема суммеслимн(): прошу помочь разграничить 1.1 и 1.18
 
Цитата
БМВ написал:
Разграничил
Хм. В конце таблицы на первом листе считаются объёмы, там по графе 1.18 должны стоять нули, но объём как считался, так и считается.
Проблема суммеслимн(): прошу помочь разграничить 1.1 и 1.18
 
Цитата
Юрий М написал:
berstrider , Вы бы выбирали выражения - за помощью ведь пришли...
Извините, если кого оскорбил, поправил. Просто функционально пример не особо нужен, себя ламером в экселе не считаю, да и много раз данный форум по уже решенным чьим то проблемам помогал если не решить, то тропку нащупать. Данную проблему решил сам кардинальным способом.
Цитата
Jack Famous написал:
Jack Famous
Спасибо, за разъяснение сути работы формул.
Проблема суммеслимн(): прошу помочь разграничить 1.1 и 1.18
 
Пример
Изменено: berstrider - 15.08.2018 12:12:15
Проблема суммеслимн(): прошу помочь разграничить 1.1 и 1.18
 
Цитата
Jack Famous написал:
понять, как работает xl с данными и исправить логику вычислений, исходя из нового опыта, то есть разметку надо писать по-другому (например в ячейки с текстовым форматом)
я их и записал в ячейки с текстовым форматом
Проблема суммеслимн(): прошу помочь разграничить 1.1 и 1.18
 
Цитата
БМВ написал:
Что там у вас в файле  - нам не очень видно.
Да файл тут не нужен, вопрос был по существу экселя, вдруг есть методы обхода формулой. Пришлось менять списки, теперь вся разметка с приставкой R (R1.1 - R1.25), так он точно не поймёт её как дату или число). Не понятно, почему по-разному работают функции сравнения в "ЕСЛИ" и "СУММЕСЛИ, СУММЕСЛИМН"
Проблема суммеслимн(): прошу помочь разграничить 1.1 и 1.18
 
Здравствуйте. Необходимо было сделать сводную по суммам из таблицы в определённых отрезках по каждому параметру ( дорожная разметка 1.1 - 1.25). Т.к. эксель ругался на номера разметок, то они были введены как текстовые.

И тут вылетели дополнительные объёмы по разметке 1.18 - её вообще нет в таблице. Стал анализировать, оказалось, что для экселя (если выставить тип ячейки "ЧИСЛО") 1.1 и 1.18 идентичны (43101,00 и 43101,00). Причем функция "ЕСЛИ" корректно сравнивает, проблемы начинаются на функции СУММЕСЛИ и СУММЕСЛИМН.

Как починить?
Страницы: 1
Наверх